@jini-ai/agent-plugins 0.6.15-rc.2 → 0.6.16

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 (210) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/README.md +21 -50
  3. package/dist/admin-surfaces/action-tools.js +1 -1
  4. package/dist/admin-surfaces/external-links.js +2 -1
  5. package/dist/admin-surfaces/host-validator.js +2 -2
  6. package/dist/admin-surfaces/settings-value.js +3 -1
  7. package/dist/admin-surfaces/surface-client.js +13 -5
  8. package/dist/core/plugin-name.d.ts +11 -0
  9. package/dist/core/plugin-name.js +19 -0
  10. package/dist/folder-zip-node.d.ts +21 -0
  11. package/dist/folder-zip-node.js +85 -3
  12. package/dist/lifecycle/activation.js +2 -2
  13. package/dist/lifecycle/automatic-use.js +12 -7
  14. package/dist/lifecycle/bundled-digests.js +3 -8
  15. package/dist/lifecycle/bundled-source-archive.d.ts +8 -2
  16. package/dist/lifecycle/bundled-source-archive.js +17 -8
  17. package/dist/lifecycle/contribution-loader.js +4 -5
  18. package/dist/lifecycle/index.d.ts +1 -2
  19. package/dist/lifecycle/install.js +59 -53
  20. package/dist/lifecycle/installed-package-index.js +4 -2
  21. package/dist/lifecycle/manifest.d.ts +1 -9
  22. package/dist/lifecycle/manifest.js +6 -21
  23. package/dist/lifecycle/node.js +4 -2
  24. package/dist/lifecycle/resolve-agent-plugin-refs.js +1 -3
  25. package/dist/lifecycle/search-projection.js +7 -6
  26. package/dist/lifecycle/seed-bundled.js +1 -3
  27. package/dist/lifecycle/skill-file-reader.js +15 -5
  28. package/dist/lifecycle/tools/capabilities.js +5 -3
  29. package/dist/lifecycle/tools/projection.js +3 -4
  30. package/dist/lifecycle/update.js +4 -2
  31. package/dist/lifecycle/yauzl-archive-reader.js +21 -23
  32. package/package.json +11 -8
  33. package/dist/admin-surfaces/action-dispatcher.d.ts.map +0 -1
  34. package/dist/admin-surfaces/action-dispatcher.js.map +0 -1
  35. package/dist/admin-surfaces/action-schema.d.ts.map +0 -1
  36. package/dist/admin-surfaces/action-schema.js.map +0 -1
  37. package/dist/admin-surfaces/action-tools.d.ts.map +0 -1
  38. package/dist/admin-surfaces/action-tools.js.map +0 -1
  39. package/dist/admin-surfaces/callback-field-inbox.d.ts.map +0 -1
  40. package/dist/admin-surfaces/callback-field-inbox.js.map +0 -1
  41. package/dist/admin-surfaces/capability-declarations.d.ts.map +0 -1
  42. package/dist/admin-surfaces/capability-declarations.js.map +0 -1
  43. package/dist/admin-surfaces/contribution.d.ts.map +0 -1
  44. package/dist/admin-surfaces/contribution.js.map +0 -1
  45. package/dist/admin-surfaces/delivery-bindings.d.ts.map +0 -1
  46. package/dist/admin-surfaces/delivery-bindings.js.map +0 -1
  47. package/dist/admin-surfaces/descriptor.d.ts.map +0 -1
  48. package/dist/admin-surfaces/descriptor.js.map +0 -1
  49. package/dist/admin-surfaces/external-links.d.ts.map +0 -1
  50. package/dist/admin-surfaces/external-links.js.map +0 -1
  51. package/dist/admin-surfaces/host-validator.d.ts.map +0 -1
  52. package/dist/admin-surfaces/host-validator.js.map +0 -1
  53. package/dist/admin-surfaces/index.d.ts.map +0 -1
  54. package/dist/admin-surfaces/index.js.map +0 -1
  55. package/dist/admin-surfaces/protocol.d.ts.map +0 -1
  56. package/dist/admin-surfaces/protocol.js.map +0 -1
  57. package/dist/admin-surfaces/sandbox.d.ts.map +0 -1
  58. package/dist/admin-surfaces/sandbox.js.map +0 -1
  59. package/dist/admin-surfaces/settings-value.d.ts.map +0 -1
  60. package/dist/admin-surfaces/settings-value.js.map +0 -1
  61. package/dist/admin-surfaces/surface-capabilities.d.ts.map +0 -1
  62. package/dist/admin-surfaces/surface-capabilities.js.map +0 -1
  63. package/dist/admin-surfaces/surface-client.d.ts.map +0 -1
  64. package/dist/admin-surfaces/surface-client.js.map +0 -1
  65. package/dist/admin-surfaces/surface-handlers.d.ts.map +0 -1
  66. package/dist/admin-surfaces/surface-handlers.js.map +0 -1
  67. package/dist/admin-surfaces/theme.d.ts.map +0 -1
  68. package/dist/admin-surfaces/theme.js.map +0 -1
  69. package/dist/contracts/admin-surface-action-schema.d.ts.map +0 -1
  70. package/dist/contracts/admin-surface-action-schema.js.map +0 -1
  71. package/dist/folder-zip-node.d.ts.map +0 -1
  72. package/dist/folder-zip-node.js.map +0 -1
  73. package/dist/folder-zip.d.ts.map +0 -1
  74. package/dist/folder-zip.js.map +0 -1
  75. package/dist/index.d.ts.map +0 -1
  76. package/dist/index.js.map +0 -1
  77. package/dist/lifecycle/activation.d.ts.map +0 -1
  78. package/dist/lifecycle/activation.js.map +0 -1
  79. package/dist/lifecycle/automatic-use.d.ts.map +0 -1
  80. package/dist/lifecycle/automatic-use.js.map +0 -1
  81. package/dist/lifecycle/bundled-digests.d.ts.map +0 -1
  82. package/dist/lifecycle/bundled-digests.js.map +0 -1
  83. package/dist/lifecycle/bundled-source-archive.d.ts.map +0 -1
  84. package/dist/lifecycle/bundled-source-archive.js.map +0 -1
  85. package/dist/lifecycle/capability-projection.d.ts.map +0 -1
  86. package/dist/lifecycle/capability-projection.js.map +0 -1
  87. package/dist/lifecycle/compatibility-metadata.d.ts.map +0 -1
  88. package/dist/lifecycle/compatibility-metadata.js.map +0 -1
  89. package/dist/lifecycle/compatibility.d.ts.map +0 -1
  90. package/dist/lifecycle/compatibility.js.map +0 -1
  91. package/dist/lifecycle/contribution-loader.d.ts.map +0 -1
  92. package/dist/lifecycle/contribution-loader.js.map +0 -1
  93. package/dist/lifecycle/exports.d.ts.map +0 -1
  94. package/dist/lifecycle/exports.js.map +0 -1
  95. package/dist/lifecycle/fetch-archive.d.ts.map +0 -1
  96. package/dist/lifecycle/fetch-archive.js.map +0 -1
  97. package/dist/lifecycle/index.d.ts.map +0 -1
  98. package/dist/lifecycle/index.js.map +0 -1
  99. package/dist/lifecycle/install-errors.d.ts.map +0 -1
  100. package/dist/lifecycle/install-errors.js.map +0 -1
  101. package/dist/lifecycle/install-from-url.d.ts.map +0 -1
  102. package/dist/lifecycle/install-from-url.js.map +0 -1
  103. package/dist/lifecycle/install.d.ts.map +0 -1
  104. package/dist/lifecycle/install.js.map +0 -1
  105. package/dist/lifecycle/installed-package-index.d.ts.map +0 -1
  106. package/dist/lifecycle/installed-package-index.js.map +0 -1
  107. package/dist/lifecycle/installed-package-roots.d.ts.map +0 -1
  108. package/dist/lifecycle/installed-package-roots.js.map +0 -1
  109. package/dist/lifecycle/layout.d.ts.map +0 -1
  110. package/dist/lifecycle/layout.js.map +0 -1
  111. package/dist/lifecycle/manifest.d.ts.map +0 -1
  112. package/dist/lifecycle/manifest.js.map +0 -1
  113. package/dist/lifecycle/mcp-provisioning.d.ts.map +0 -1
  114. package/dist/lifecycle/mcp-provisioning.js.map +0 -1
  115. package/dist/lifecycle/node.d.ts.map +0 -1
  116. package/dist/lifecycle/node.js.map +0 -1
  117. package/dist/lifecycle/package-paths.d.ts.map +0 -1
  118. package/dist/lifecycle/package-paths.js.map +0 -1
  119. package/dist/lifecycle/persistent-state.d.ts.map +0 -1
  120. package/dist/lifecycle/persistent-state.js.map +0 -1
  121. package/dist/lifecycle/ports.d.ts.map +0 -1
  122. package/dist/lifecycle/ports.js.map +0 -1
  123. package/dist/lifecycle/provider-contribution.d.ts.map +0 -1
  124. package/dist/lifecycle/provider-contribution.js.map +0 -1
  125. package/dist/lifecycle/resolve-agent-plugin-refs.d.ts.map +0 -1
  126. package/dist/lifecycle/resolve-agent-plugin-refs.js.map +0 -1
  127. package/dist/lifecycle/retire-bundled.d.ts.map +0 -1
  128. package/dist/lifecycle/retire-bundled.js.map +0 -1
  129. package/dist/lifecycle/search-projection.d.ts.map +0 -1
  130. package/dist/lifecycle/search-projection.js.map +0 -1
  131. package/dist/lifecycle/search.d.ts.map +0 -1
  132. package/dist/lifecycle/search.js.map +0 -1
  133. package/dist/lifecycle/seed-bundled.d.ts.map +0 -1
  134. package/dist/lifecycle/seed-bundled.js.map +0 -1
  135. package/dist/lifecycle/set-enabled.d.ts.map +0 -1
  136. package/dist/lifecycle/set-enabled.js.map +0 -1
  137. package/dist/lifecycle/skill-file-reader.d.ts.map +0 -1
  138. package/dist/lifecycle/skill-file-reader.js.map +0 -1
  139. package/dist/lifecycle/tools/capabilities.d.ts.map +0 -1
  140. package/dist/lifecycle/tools/capabilities.js.map +0 -1
  141. package/dist/lifecycle/tools/definition.d.ts.map +0 -1
  142. package/dist/lifecycle/tools/definition.js.map +0 -1
  143. package/dist/lifecycle/tools/index.d.ts.map +0 -1
  144. package/dist/lifecycle/tools/index.js.map +0 -1
  145. package/dist/lifecycle/tools/manifest.d.ts.map +0 -1
  146. package/dist/lifecycle/tools/manifest.js.map +0 -1
  147. package/dist/lifecycle/tools/projection.d.ts.map +0 -1
  148. package/dist/lifecycle/tools/projection.js.map +0 -1
  149. package/dist/lifecycle/trusted-plugin-files.d.ts.map +0 -1
  150. package/dist/lifecycle/trusted-plugin-files.js.map +0 -1
  151. package/dist/lifecycle/types.d.ts.map +0 -1
  152. package/dist/lifecycle/types.js.map +0 -1
  153. package/dist/lifecycle/uninstall.d.ts.map +0 -1
  154. package/dist/lifecycle/uninstall.js.map +0 -1
  155. package/dist/lifecycle/update-plan.d.ts.map +0 -1
  156. package/dist/lifecycle/update-plan.js.map +0 -1
  157. package/dist/lifecycle/update-store.d.ts.map +0 -1
  158. package/dist/lifecycle/update-store.js.map +0 -1
  159. package/dist/lifecycle/update.d.ts.map +0 -1
  160. package/dist/lifecycle/update.js.map +0 -1
  161. package/dist/lifecycle/yauzl-archive-reader.d.ts.map +0 -1
  162. package/dist/lifecycle/yauzl-archive-reader.js.map +0 -1
  163. package/dist/manifest.d.ts.map +0 -1
  164. package/dist/manifest.js.map +0 -1
  165. package/ui-ux-design/com.anthropic.claude-code/hooks/hooks.json +0 -4
  166. package/ui-ux-design/mcp.json +0 -4
  167. package/ui-ux-design/plugin.json +0 -25
  168. package/ui-ux-design/skills/frontend-accessibility/SKILL.md +0 -60
  169. package/ui-ux-design/skills/gstack-design/SKILL.md +0 -53
  170. package/ui-ux-design/skills/gstack-design/references/consultation.md +0 -30
  171. package/ui-ux-design/skills/gstack-design/references/html.md +0 -29
  172. package/ui-ux-design/skills/gstack-design/references/review.md +0 -28
  173. package/ui-ux-design/skills/gstack-design/references/shotgun.md +0 -33
  174. package/ui-ux-design/skills/gstack-design/references/upstream-notes.md +0 -23
  175. package/ui-ux-design/skills/interface-design/ORIGINAL.md +0 -16
  176. package/ui-ux-design/skills/interface-design/SKILL.md +0 -41
  177. package/ui-ux-design/skills/interface-design/references/commands/audit.md +0 -40
  178. package/ui-ux-design/skills/interface-design/references/commands/critique.md +0 -21
  179. package/ui-ux-design/skills/interface-design/references/commands/extract.md +0 -34
  180. package/ui-ux-design/skills/interface-design/references/commands/init.md +0 -31
  181. package/ui-ux-design/skills/interface-design/references/commands/status.md +0 -22
  182. package/ui-ux-design/skills/interface-design/references/examples/system-precision.md +0 -29
  183. package/ui-ux-design/skills/interface-design/references/examples/system-warmth.md +0 -29
  184. package/ui-ux-design/skills/interface-design/references/system-template.md +0 -57
  185. package/ui-ux-design/skills/shadcn-ui/README.md +0 -244
  186. package/ui-ux-design/skills/shadcn-ui/SKILL.md +0 -326
  187. package/ui-ux-design/skills/shadcn-ui/examples/auth-layout.tsx +0 -177
  188. package/ui-ux-design/skills/shadcn-ui/examples/data-table.tsx +0 -313
  189. package/ui-ux-design/skills/shadcn-ui/examples/form-pattern.tsx +0 -177
  190. package/ui-ux-design/skills/shadcn-ui/resources/component-catalog.md +0 -481
  191. package/ui-ux-design/skills/shadcn-ui/resources/customization-guide.md +0 -516
  192. package/ui-ux-design/skills/shadcn-ui/resources/migration-guide.md +0 -463
  193. package/ui-ux-design/skills/shadcn-ui/resources/setup-guide.md +0 -412
  194. package/ui-ux-design/skills/shadcn-ui/scripts/verify-setup.sh +0 -134
  195. package/ui-ux-design/skills/ui-ux-design/SKILL.md +0 -77
  196. package/ui-ux-design/skills/ui-ux-design/references/brand-and-voice.md +0 -72
  197. package/ui-ux-design/skills/ui-ux-design/references/components-and-states.md +0 -107
  198. package/ui-ux-design/skills/ui-ux-design/references/delight-and-motion.md +0 -65
  199. package/ui-ux-design/skills/ui-ux-design/references/foundations.md +0 -144
  200. package/ui-ux-design/skills/ui-ux-design/references/inclusive-ai-imagery.md +0 -57
  201. package/ui-ux-design/skills/ui-ux-design/references/kole-jain-uiux-concepts.md +0 -102
  202. package/ui-ux-design/skills/ui-ux-design/references/openai-frontend-skill.md +0 -139
  203. package/ui-ux-design/skills/ui-ux-design/references/premium-ui.md +0 -63
  204. package/ui-ux-design/skills/ui-ux-design/references/research-and-validation.md +0 -78
  205. package/ui-ux-design/skills/ui-ux-design/references/sam-crawford-premium-websites.md +0 -93
  206. package/ui-ux-design/skills/ui-ux-design/references/self-made-web-designer-core-skills.md +0 -123
  207. package/ui-ux-design/skills/ui-ux-design/references/visual-storytelling.md +0 -57
  208. package/ui-ux-design/skills/vercel-web-design-guidelines/SKILL.md +0 -39
  209. package/ui-ux-design/skills/web-compliance/SKILL.md +0 -129
  210. package/ui-ux-design/skills/web-compliance/references/audit-evidence.md +0 -59
@@ -194,59 +194,59 @@ function buildModule(ports) {
194
194
  const indexed = await indexInstalledRoot(extractionRoot, digest);
195
195
  if (optional.previewOnly)
196
196
  return indexed;
197
+ // Layout B needs the manifest id before choosing the package destination. Dedup still
198
+ // skips publication and freezing, after one bounded staging extraction.
199
+ // Owner decision 2026-10-04: learned facts begin empty for each site; author guidance stays
200
+ // in package docs. Package extension files never seed learned memory or the user's notes.
201
+ // Content-addressed dedup, scoped to THIS workspace's own tree (`workspaceLayout` was just
202
+ // resolved above, atomically, from this same `workspaceId`): identical bytes were already
203
+ // extracted, verified, and frozen by a prior install of this same workspace's — never
204
+ // re-extracted for a different workspace, by construction, since a different workspace's
205
+ // `workspaceLayout.packages` is a different path entirely. one bounded staging extraction precedes this check.
206
+ // Publish BEFORE freezing permissions, not after: `rename()` moves `extractionRoot` as a single
207
+ // directory-entry operation, and on this filesystem renaming an already-read-only (0o555)
208
+ // directory itself fails EACCES (observed, not merely theoretical — see the regression test this
209
+ // ordering fixed). Freezing after publish also closes a smaller race for free: nothing outside
210
+ // this function can observe the package at its live path while it is still writable, because the
211
+ // live path does not exist until `publish` returns.
212
+ let publishedPlugin;
213
+ const publishPackage = async () => {
214
+ // The manifest identifies the plugin only after bounded staging extraction (Layout B).
215
+ const pluginId = indexed.pluginId;
216
+ const packagesDir = workspaceLayout.pluginPackagesDir({ pluginId });
217
+ await persistentState.assertOwnedPath({ workspaceRoot: workspaceLayout.root, entryPath: path.relative(workspaceLayout.root, packagesDir) });
218
+ await mkdir(packagesDir, { recursive: true, mode: 0o700 });
219
+ const finalRoot = await assertContainedOnDisk(packagesDir, digest);
220
+ for (const directory of [workspaceLayout.pluginDataDir({ pluginId }),
221
+ workspaceLayout.pluginMemoryDir({ pluginId, kind: 'learned' }),
222
+ workspaceLayout.pluginMemoryDir({ pluginId, kind: 'notes' })]) {
223
+ await persistentState.assertOwnedPath({ workspaceRoot: workspaceLayout.root, entryPath: path.relative(workspaceLayout.root, directory) });
224
+ await mkdir(directory, { recursive: true, mode: 0o700 });
225
+ }
226
+ if (await isRealDirectory(finalRoot)) {
227
+ publishedPlugin = await indexInstalledRoot(finalRoot, digest);
228
+ return publishedPlugin;
229
+ }
230
+ await publish(extractionRoot, finalRoot);
231
+ await freezeTree(finalRoot, executablePaths);
232
+ /** Absolute, read-only (frozen) path to the extracted package root. */
233
+ publishedPlugin = { ...indexed, packageRoot: finalRoot };
234
+ return publishedPlugin;
235
+ };
236
+ const publishWithinPluginLock = () => persistentState.withPluginLock({ workspaceRoot: workspaceLayout.root, pluginId: indexed.pluginId, run: async () => {
237
+ // Every install and replacement, not only an update, is a mutation of this plugin: an
238
+ // unfinished update journal refuses it here, under the same plugin lock, because boot
239
+ // recovery removes only the journal's own candidate digest and would otherwise restore the
240
+ // old revision beside whatever this install published.
241
+ // The journal lives under the layout this install was given, the one it publishes into.
242
+ await settleAgentPluginUpdateJournal({ store: createAgentPluginUpdateStore({ ports: { ...ports, layout }, workspaceId, pluginId: indexed.pluginId }) });
243
+ const installed = await (optional.publishGuard ? optional.publishGuard({ plugin: indexed, publish: publishPackage }, {}) : publishPackage());
244
+ if (publishedPlugin)
245
+ await pruneSupersededRevisions({ workspaceRoot: workspaceLayout.root, installed: publishedPlugin });
246
+ return installed;
247
+ } });
197
248
  return await persistentState.withIdentityLock({ workspaceRoot: workspaceLayout.root, run: async () => {
198
249
  await assertIdentityAvailable(workspaceLayout.root, indexed);
199
- const publishWithinPluginLock = () => persistentState.withPluginLock({ workspaceRoot: workspaceLayout.root, pluginId: indexed.pluginId, run: async () => {
200
- // Every install and replacement, not only an update, is a mutation of this plugin: an
201
- // unfinished update journal refuses it here, under the same plugin lock, because boot
202
- // recovery removes only the journal's own candidate digest and would otherwise restore the
203
- // old revision beside whatever this install published.
204
- // The journal lives under the layout this install was given, the one it publishes into.
205
- await settleAgentPluginUpdateJournal({ store: createAgentPluginUpdateStore({ ports: { ...ports, layout }, workspaceId, pluginId: indexed.pluginId }) });
206
- // Layout B needs the manifest id before choosing the package destination. Dedup still
207
- // skips publication and freezing, after one bounded staging extraction.
208
- // Owner decision 2026-10-04: learned facts begin empty for each site; author guidance stays
209
- // in package docs. Package extension files never seed learned memory or the user's notes.
210
- // Content-addressed dedup, scoped to THIS workspace's own tree (`workspaceLayout` was just
211
- // resolved above, atomically, from this same `workspaceId`): identical bytes were already
212
- // extracted, verified, and frozen by a prior install of this same workspace's — never
213
- // re-extracted for a different workspace, by construction, since a different workspace's
214
- // `workspaceLayout.packages` is a different path entirely. one bounded staging extraction precedes this check.
215
- // Publish BEFORE freezing permissions, not after: `rename()` moves `extractionRoot` as a single
216
- // directory-entry operation, and on this filesystem renaming an already-read-only (0o555)
217
- // directory itself fails EACCES (observed, not merely theoretical — see the regression test this
218
- // ordering fixed). Freezing after publish also closes a smaller race for free: nothing outside
219
- // this function can observe the package at its live path while it is still writable, because the
220
- // live path does not exist until `publish` returns.
221
- let publishedPlugin;
222
- const publishPackage = async () => {
223
- // The manifest identifies the plugin only after bounded staging extraction (Layout B).
224
- const pluginId = indexed.pluginId;
225
- const packagesDir = workspaceLayout.pluginPackagesDir({ pluginId });
226
- await persistentState.assertOwnedPath({ workspaceRoot: workspaceLayout.root, entryPath: path.relative(workspaceLayout.root, packagesDir) });
227
- await mkdir(packagesDir, { recursive: true, mode: 0o700 });
228
- const finalRoot = await assertContainedOnDisk(packagesDir, digest);
229
- for (const directory of [workspaceLayout.pluginDataDir({ pluginId }),
230
- workspaceLayout.pluginMemoryDir({ pluginId, kind: 'learned' }),
231
- workspaceLayout.pluginMemoryDir({ pluginId, kind: 'notes' })]) {
232
- await persistentState.assertOwnedPath({ workspaceRoot: workspaceLayout.root, entryPath: path.relative(workspaceLayout.root, directory) });
233
- await mkdir(directory, { recursive: true, mode: 0o700 });
234
- }
235
- if (await isRealDirectory(finalRoot)) {
236
- publishedPlugin = await indexInstalledRoot(finalRoot, digest);
237
- return publishedPlugin;
238
- }
239
- await publish(extractionRoot, finalRoot);
240
- await freezeTree(finalRoot, executablePaths);
241
- /** Absolute, read-only (frozen) path to the extracted package root. */
242
- publishedPlugin = { ...indexed, packageRoot: finalRoot };
243
- return publishedPlugin;
244
- };
245
- const installed = await (optional.publishGuard ? optional.publishGuard({ plugin: indexed, publish: publishPackage }, {}) : publishPackage());
246
- if (publishedPlugin)
247
- await pruneSupersededRevisions({ workspaceRoot: workspaceLayout.root, installed: publishedPlugin });
248
- return installed;
249
- } });
250
250
  if (ports.identityAdmission)
251
251
  return ports.identityAdmission({ id: indexed.id, localId: indexed.pluginId, run: publishWithinPluginLock }, {});
252
252
  return publishWithinPluginLock();
@@ -332,11 +332,17 @@ function buildModule(ports) {
332
332
  /** Ported from Jini 78d4b60b: reject from metadata before a staging transaction exists.
333
333
  * A second central-directory walk opens no content streams and avoids over-cap disk churn. */
334
334
  async function assertEntryCountWithinCap(entries) {
335
+ // Only the count matters, so the entries are stepped through without being bound to a name.
336
+ // Leaving early closes the walk the way for-await would, without letting a failing close
337
+ // replace the cap error.
338
+ const iterator = entries[Symbol.asyncIterator]();
335
339
  let entryCount = 0;
336
- for await (const _entry of entries) {
340
+ for (let next = await iterator.next(); !next.done; next = await iterator.next()) {
337
341
  entryCount += 1;
338
- if (entryCount > LIMITS.maxEntries)
342
+ if (entryCount > LIMITS.maxEntries) {
343
+ await Promise.resolve(iterator.return?.()).catch(() => undefined);
339
344
  throw tooManyEntriesError();
345
+ }
340
346
  }
341
347
  }
342
348
  function tooManyEntriesError() {
@@ -59,9 +59,11 @@ export function createInstalledPackageIndex(required, _optional = {}) {
59
59
  async function walk(absolute, prefix) {
60
60
  for (const entry of await readdir(absolute, { withFileTypes: true })) {
61
61
  const relative = prefix ? `${prefix}/${entry.name}` : entry.name;
62
- if (entry.isDirectory())
62
+ if (entry.isDirectory()) {
63
63
  await walk(path.join(absolute, entry.name), relative);
64
- else if (entry.isFile())
64
+ continue;
65
+ }
66
+ if (entry.isFile())
65
67
  files.push(relative);
66
68
  // Anything that is neither a directory nor a regular file (a symlink somehow already present,
67
69
  // a device node) is skipped rather than indexed — extraction itself never creates one, so
@@ -1,3 +1,4 @@
1
+ export { isAgentPluginName } from '../core/plugin-name.js';
1
2
  import { type AgentPluginExportMetadata } from './exports.js';
2
3
  export * from './exports.js';
3
4
  export { validatePluginManifest, validateMcpManifest } from '../manifest.js';
@@ -10,15 +11,6 @@ export type AgentPluginServerMetadataReader = (required: {
10
11
  readonly value: Readonly<Record<string, unknown>>;
11
12
  readonly server: Readonly<Record<string, unknown>>;
12
13
  }) => Readonly<Record<string, unknown>>;
13
- /**
14
- * True when `value` is a valid Agent Plugin id: `plugin.json`'s `name` grammar (§5.5, see
15
- * `NAME_PATTERN`), 1-64 characters. The one owner of that grammar: a host checks an id taken from a
16
- * URL or a tool input here before it names anything on disk, instead of restating the pattern.
17
- * @complexity O(n) in the value's length.
18
- */
19
- export declare function isAgentPluginName({ value }: {
20
- readonly value: unknown;
21
- }, _optional?: Record<string, never>): boolean;
22
14
  export interface AgentPluginManifest extends AgentPluginExportMetadata {
23
15
  readonly name: string;
24
16
  readonly version?: (string) | undefined;
@@ -54,6 +54,8 @@
54
54
  * own "receives a JS value, never a file path or raw bytes" contract. `install.ts` is the only
55
55
  * caller that reads the file and hands the parsed value here.
56
56
  */
57
+ import { isAgentPluginName, MAX_NAME_LENGTH } from '../core/plugin-name.js';
58
+ export { isAgentPluginName } from '../core/plugin-name.js';
57
59
  import { readAgentPluginCompatibilityMetadata } from "./compatibility-metadata.js";
58
60
  import { parseAgentPluginExports } from './exports.js';
59
61
  export * from './exports.js';
@@ -98,24 +100,6 @@ function readSpecVersion(value, file) {
98
100
  const newest = KNOWN_SPEC_VERSIONS[KNOWN_SPEC_VERSIONS.length - 1];
99
101
  return { version, warning: `${file}.json targets Agent Plugins ${version}, newer than this loader knows; validated with the ${newest} grammar` };
100
102
  }
101
- /**
102
- * §5.5's grammar as one regex: alnum runs separated by single `-`/`.` delimiters. This shape alone
103
- * guarantees start/end are alphanumeric (the regex can only start and end on `[a-z0-9]+`) AND that
104
- * no two delimiters are ever adjacent (a delimiter is always followed by at least one alnum char
105
- * before the next one can appear) — so "no leading/trailing hyphen" and "no consecutive delimiters"
106
- * fall out of one pattern rather than needing separate checks that could disagree.
107
- */
108
- const NAME_PATTERN = /^[a-z0-9]+(?:[-.][a-z0-9]+)*$/;
109
- const MAX_NAME_LENGTH = 64;
110
- /**
111
- * True when `value` is a valid Agent Plugin id: `plugin.json`'s `name` grammar (§5.5, see
112
- * `NAME_PATTERN`), 1-64 characters. The one owner of that grammar: a host checks an id taken from a
113
- * URL or a tool input here before it names anything on disk, instead of restating the pattern.
114
- * @complexity O(n) in the value's length.
115
- */
116
- export function isAgentPluginName({ value }, _optional = {}) {
117
- return typeof value === "string" && value.length <= MAX_NAME_LENGTH && NAME_PATTERN.test(value);
118
- }
119
103
  const KNOWN_MANIFEST_KEYS = new Set(["$schema", "name", "version", "description", "author", "license", "keywords", "extensions"]);
120
104
  /**
121
105
  * True for a non-null, non-array plain object — the "is this actually a JSON object" gate both
@@ -151,7 +135,7 @@ function parseManifestAuthor(value) {
151
135
  return definedFields({ name: coerceOptionalString(value.name), email: coerceOptionalString(value.email), url: coerceOptionalString(value.url) });
152
136
  }
153
137
  /**
154
- * Validates `plugin.json`'s `name` field per §5.5's grammar (see `NAME_PATTERN`'s own header for
138
+ * Validates `plugin.json`'s `name` field per §5.5's grammar (see `core/plugin-name.ts`'s header for
155
139
  * what the one regex encodes). Returns the valid name, or the one error message to report — never
156
140
  * both, so the caller needs exactly one branch to consume this instead of the original's
157
141
  * required-then-format else-if chain.
@@ -174,7 +158,8 @@ function collectManifestProblems({ raw, identityNamespace }, { nameError } = {})
174
158
  const specVersion = readSpecVersion(raw.$schema, "plugin");
175
159
  if (specVersion.error)
176
160
  errors.push(specVersion.error);
177
- else if (specVersion.warning)
161
+ // A version error already explains the schema; its warning would only repeat it.
162
+ if (!specVersion.error && specVersion.warning)
178
163
  warnings.push(specVersion.warning);
179
164
  if (raw.extensions !== undefined && !isJsonObject(raw.extensions))
180
165
  errors.push("plugin.json extensions must be an object");
@@ -412,7 +397,7 @@ function collectMcpConfigErrors({ raw }, { pluginManifest } = {}) {
412
397
  const pluginVersion = isJsonObject(pluginManifest) ? readSpecVersion(pluginManifest.$schema, "plugin").version : undefined;
413
398
  if (mcpSpec.error)
414
399
  errors.push(mcpSpec.error);
415
- else if (pluginVersion !== undefined && pluginVersion !== mcpVersion) {
400
+ if (!mcpSpec.error && pluginVersion !== undefined && pluginVersion !== mcpVersion) {
416
401
  errors.push(`mcp.json targets Agent Plugins ${mcpVersion} but plugin.json targets ${pluginVersion}; the versions must match`);
417
402
  }
418
403
  if (!isJsonObject(raw.mcpServers))
@@ -1,8 +1,10 @@
1
1
  import * as nativeFilesystem from 'node:fs/promises';
2
- import { randomUUID } from 'node:crypto';
2
+ import { randomInt, randomUUID } from 'node:crypto';
3
3
  import os from 'node:os';
4
4
  import { performance } from 'node:perf_hooks';
5
5
  import { setTimeout } from 'node:timers/promises';
6
+ /** Granularity of the uniform [0, 1) value: crypto.randomInt's largest exclusive bound (2^48 - 1). */
7
+ const RANDOM_RESOLUTION = 2 ** 48 - 1;
6
8
  /** Opt-in native effects. Layout, fetch, guard, namespace and provisioning remain host-owned. */
7
9
  export function createNodeAgentPluginEffects(_required, optional = {}) {
8
10
  return {
@@ -12,7 +14,7 @@ export function createNodeAgentPluginEffects(_required, optional = {}) {
12
14
  monotonicMs: () => performance.now(),
13
15
  sleep: ({ ms }) => setTimeout(ms),
14
16
  },
15
- ids: { newId: () => randomUUID(), random: () => Math.random() },
17
+ ids: { newId: () => randomUUID(), random: () => randomInt(RANDOM_RESOLUTION) / RANDOM_RESOLUTION },
16
18
  process: {
17
19
  pid: process.pid,
18
20
  platform: process.platform,
@@ -58,14 +58,12 @@ import { listInstalledPackageRoots, INSTALLED_PLUGIN_DIGEST_PATTERN } from "./in
58
58
  */
59
59
  import { createPersistentStateModule } from "./persistent-state.js";
60
60
  import path from "node:path";
61
- import { createPackagePathsModule } from "./package-paths.js";
62
61
  import { createActivationModule } from "./activation.js";
63
62
  import { createBundledDigestsModule } from "./bundled-digests.js";
64
63
  import { createInstalledPackageIndex } from "./installed-package-index.js";
65
64
  import { createCapabilityProjectionModule } from "./capability-projection.js";
66
65
  function buildModule(ports) {
67
66
  const persistentState = createPersistentStateModule(ports);
68
- const { assertContainedOnDisk } = createPackagePathsModule(ports);
69
67
  const stat = ports.filesystem.stat.bind(ports.filesystem);
70
68
  const { resolveAgentPluginActivation } = createActivationModule(ports);
71
69
  const { preferBundledAgentPluginDigests, readBundledAgentPluginDigests } = createBundledDigestsModule(ports);
@@ -281,7 +279,7 @@ function buildModule(ports) {
281
279
  function renderSkillInventory({ pluginRefId, skill, file, files, fileNote }, _options = {}) {
282
280
  const framing = file === undefined || file === 'SKILL.md' ? "The SKILL.md above is this Agent Plugin's own instructions — follow them, including any files it directs you to load before starting work." : "The content above is the requested skill file.";
283
281
  const pointer = ports.formatPluginToolPointer({ pluginId: pluginRefId, skill, file: '<relative path>' });
284
- return `\n\n${framing} Readable supporting files are listed relative to this skill folder. Request one with ${pointer}.\nfiles: ${JSON.stringify(files)}${fileNote ? `\n${fileNote}` : ""}`;
282
+ return `\n\n${framing} Readable supporting files are listed relative to this skill folder. Request one with ${pointer}.\nfiles: ${JSON.stringify(files)}${fileNote ? "\n" + fileNote : ""}`;
285
283
  }
286
284
  // Parity with `inject`'s own failure: a pinned ref whose eponymous skill is missing must fail
287
285
  // loudly in BOTH modes. Without this check `pointer` would happily emit a well-formed instruction
@@ -39,14 +39,15 @@ export function projectAgentPluginSearchPage({ candidates, offset, limit, totalI
39
39
  // whether to suggest installing something new versus rephrasing the search.
40
40
  const page = () => ({ matches, totalInstalled, totalMatches: candidates.length,
41
41
  nextOffset: offset + matches.length < candidates.length ? offset + matches.length : null });
42
+ // Add candidates while the page still fits; the first one that overflows is taken back out.
42
43
  for (const candidate of candidates.slice(offset, offset + limit)) {
43
44
  matches.push(discoveryMatch({ candidate }));
44
- if (Buffer.byteLength(JSON.stringify(page())) <= maxBytes)
45
- continue;
46
- matches.pop();
47
- if (!matches.length)
48
- throw new RangeError('Plugin identity exceeds the discovery page byte budget');
49
- break;
45
+ if (Buffer.byteLength(JSON.stringify(page())) > maxBytes) {
46
+ matches.pop();
47
+ if (!matches.length)
48
+ throw new RangeError('Plugin identity exceeds the discovery page byte budget');
49
+ break;
50
+ }
50
51
  }
51
52
  return page();
52
53
  }
@@ -230,9 +230,7 @@ function buildModule(ports) {
230
230
  }
231
231
  const dirs = [];
232
232
  for (const entry of entries) {
233
- if (!entry.isDirectory())
234
- continue;
235
- if (ports.retiredBundledPlugins.has(entry.name))
233
+ if (!entry.isDirectory() || ports.retiredBundledPlugins.has(entry.name))
236
234
  continue;
237
235
  try {
238
236
  const manifest = await stat(path.join(sourceRoot, entry.name, "plugin.json"));
@@ -25,9 +25,14 @@ async function readOpened(handle) {
25
25
  }
26
26
  return length > MAX_FILE_BYTES ? { refusal: TOO_LARGE } : decodeText(buffer.subarray(0, length));
27
27
  }
28
+ /** Whitespace control bytes text may carry: tab, LF and CR. */
29
+ const TEXT_CONTROL_BYTES = new Set([9, 10, 13]);
30
+ function isControlByte(byte) {
31
+ return byte === 127 || (byte < 32 && !TEXT_CONTROL_BYTES.has(byte));
32
+ }
28
33
  /** Admit only control-free UTF-8 text (tab, LF and CR allowed). */
29
34
  function decodeText(bytes) {
30
- if (bytes.some(byte => (byte < 32 && byte !== 9 && byte !== 10 && byte !== 13) || byte === 127))
35
+ if (bytes.some(isControlByte))
31
36
  return { refusal: "File request refused: binary content cannot be read as text." };
32
37
  try {
33
38
  return { text: new TextDecoder("utf-8", { fatal: true, ignoreBOM: true }).decode(bytes) };
@@ -47,7 +52,8 @@ export function createSkillFileReader({ skillRoot, filesystem }, _options = {})
47
52
  /** Reject traversal even when normalization would leave it inside the folder.
48
53
  * @returns The refusal message, or `undefined` for an admissible name. */
49
54
  function validateFile(file) {
50
- if (!file || file.includes("\0") || file.includes("\\") || path.posix.isAbsolute(file) || /^[a-zA-Z]:/.test(file) || file.split("/").some(segment => segment === "..")) {
55
+ const absolute = path.posix.isAbsolute(file) || /^[a-zA-Z]:/.test(file);
56
+ if (!file || /[\0\\]/.test(file) || absolute || file.split("/").some(segment => segment === "..")) {
51
57
  return "File request refused: use a path relative to this skill folder, without traversal or absolute paths.";
52
58
  }
53
59
  if (!TEXT_EXTENSIONS.has(path.extname(file).toLowerCase())) {
@@ -102,7 +108,9 @@ export function createSkillFileReader({ skillRoot, filesystem }, _options = {})
102
108
  return;
103
109
  }
104
110
  for (const entry of entries) {
105
- if (remaining-- <= 0) {
111
+ const exhausted = remaining <= 0;
112
+ remaining -= 1;
113
+ if (exhausted) {
106
114
  incomplete = true;
107
115
  break;
108
116
  }
@@ -110,8 +118,10 @@ export function createSkillFileReader({ skillRoot, filesystem }, _options = {})
110
118
  }
111
119
  }
112
120
  async function visit(entry, file, depth) {
113
- if (entry.isDirectory())
114
- return walk(file, depth + 1);
121
+ if (entry.isDirectory()) {
122
+ await walk(file, depth + 1);
123
+ return;
124
+ }
115
125
  if (file === "SKILL.md" || !(entry.isFile() || entry.isSymbolicLink()))
116
126
  return;
117
127
  // Refused files must not be advertised as readable.
@@ -42,9 +42,11 @@ export function createIssuedTokenMemories(_required = {}, _optional = {}) {
42
42
  const byPlugin = new Map();
43
43
  return Object.freeze({
44
44
  forPlugin({ pluginId }) {
45
- let issued = byPlugin.get(pluginId);
46
- if (issued === undefined)
47
- byPlugin.set(pluginId, issued = new Set());
45
+ const existing = byPlugin.get(pluginId);
46
+ if (existing !== undefined)
47
+ return existing;
48
+ const issued = new Set();
49
+ byPlugin.set(pluginId, issued);
48
50
  return issued;
49
51
  },
50
52
  });
@@ -63,7 +63,7 @@ function admitAll(loaded, refusals, toolIdFor) {
63
63
  claimants.set(tool.toolId, (claimants.get(tool.toolId) ?? new Set()).add(tool.loaded.pluginId));
64
64
  for (const [toolId, owners] of claimants) {
65
65
  if (owners.size > 1)
66
- refusals.push(`agent tool '${toolId}' was not loaded: more than one plugin declares it (${[...owners].map(id => `'${id}'`).sort().join(', ')})`);
66
+ refusals.push(`agent tool '${toolId}' was not loaded: more than one plugin declares it (${[...owners].map(id => "'" + id + "'").sort().join(', ')})`);
67
67
  }
68
68
  return admitted.filter(tool => claimants.get(tool.toolId).size === 1);
69
69
  }
@@ -149,10 +149,9 @@ function countProjectionClaims({ loaded, additionalTools, refusals, idFor }, _op
149
149
  for (const id of claimedIds)
150
150
  counts.set(id, (counts.get(id) ?? 0) + 1);
151
151
  for (const [id, count] of counts) {
152
- if (count <= 1)
153
- continue;
154
152
  // MOVE: Admission already reports executable collisions with their owners; preserve that diagnostic once.
155
- if (refusals.some(reason => reason.startsWith(`agent tool '${id}' was not loaded:`)))
153
+ const alreadyReported = refusals.some(reason => reason.startsWith(`agent tool '${id}' was not loaded:`));
154
+ if (count <= 1 || alreadyReported)
156
155
  continue;
157
156
  refusals.push(`agent tool '${id}' was not loaded: more than one contribution declares it`);
158
157
  }
@@ -292,9 +292,11 @@ export function createUpdateModule(ports, optional = {}) {
292
292
  const store = createAgentPluginUpdateStore({ ports, workspaceId, pluginId });
293
293
  const switchOff = (error) => switchOffUnrecovered({ workspaceId, pluginId, error });
294
294
  const journal = await store.read({}).catch(switchOff);
295
- if (journal?.state === 'committed')
295
+ // A committed update only needs finishing; any other journal is rolled back.
296
+ const committed = journal?.state === 'committed';
297
+ if (journal && committed)
296
298
  await store.finish({ journal });
297
- else if (journal)
299
+ if (journal && !committed)
298
300
  await restoreUpdate({ workspaceId, journal }).catch(switchOff);
299
301
  for (const rollbackRoot of await store.listRollbackRoots({}))
300
302
  await removal.removeFrozenPackageTree(rollbackRoot);
@@ -24,29 +24,8 @@ export function createYauzlAgentPluginArchiveReader({ yauzl }) {
24
24
  validateEntrySizes: true,
25
25
  });
26
26
  try {
27
- for await (const entry of zipfile.eachEntry()) {
28
- /**
29
- * The entry's content (the link target text) is deliberately never read — see this
30
- * module's header. `install.ts` rejects every symlink entry unconditionally.
31
- */
32
- const unixMode = readUnixMode(entry);
33
- if (unixMode !== null && (unixMode & S_IFMT) === S_IFLNK) {
34
- yield { kind: "symlink", entryPath: entry.fileName };
35
- continue;
36
- }
37
- // File mode defines links even when a hostile filename masquerades as a directory.
38
- if (entry.fileName.endsWith("/")) {
39
- yield { kind: "directory", entryPath: entry.fileName };
40
- continue;
41
- }
42
- yield {
43
- kind: "file",
44
- entryPath: entry.fileName,
45
- declaredSize: entry.uncompressedSize,
46
- executable: unixMode !== null && (unixMode & EXECUTABLE_MODE_MASK) !== 0,
47
- openReadStream: () => streamEntry(zipfile, entry),
48
- };
49
- }
27
+ for await (const entry of zipfile.eachEntry())
28
+ yield archiveEntryFor(zipfile, entry);
50
29
  }
51
30
  finally {
52
31
  zipfile.close();
@@ -65,6 +44,25 @@ function readUnixMode(entry) {
65
44
  return null;
66
45
  return (entry.externalFileAttributes >>> 16) & 0xffff;
67
46
  }
47
+ function archiveEntryFor(zipfile, entry) {
48
+ /**
49
+ * The entry's content (the link target text) is deliberately never read — see this
50
+ * module's header. `install.ts` rejects every symlink entry unconditionally.
51
+ */
52
+ const unixMode = readUnixMode(entry);
53
+ if (unixMode !== null && (unixMode & S_IFMT) === S_IFLNK)
54
+ return { kind: "symlink", entryPath: entry.fileName };
55
+ // File mode defines links even when a hostile filename masquerades as a directory.
56
+ if (entry.fileName.endsWith("/"))
57
+ return { kind: "directory", entryPath: entry.fileName };
58
+ return {
59
+ kind: "file",
60
+ entryPath: entry.fileName,
61
+ declaredSize: entry.uncompressedSize,
62
+ executable: unixMode !== null && (unixMode & EXECUTABLE_MODE_MASK) !== 0,
63
+ openReadStream: () => streamEntry(zipfile, entry),
64
+ };
65
+ }
68
66
  async function* streamEntry(zipfile, entry) {
69
67
  const readStream = await zipfile.openReadStreamPromise(entry);
70
68
  for await (const chunk of readStream) {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@jini-ai/agent-plugins",
3
- "version": "0.6.15-rc.2",
4
- "description": "Support for Agent Plugins, the open, vendor-neutral spec (v1.0.0, published 2026-08-06; v1.1.0 and later 1.x manifests are also accepted; Technical Steering Committee with maintainers from Amazon, Cursor, Google, Microsoft, OpenAI, and Vercel) for bundling Agent Skills and MCP servers into one portable directory: PluginManifest/McpManifest types + structural validators on the package root, plus the bundled plugins themselves, each on a subpath named for itself (./ui-ux-design). Extracted 2026-08-18 from @jini-ai/plugins, which now only reserves the unrelated, unimplemented ./host format.",
3
+ "version": "0.6.16",
4
+ "description": "Support for Agent Plugins: vendor-neutral manifest types and validators, installation, activation, digests and trusted contribution loading. Portable plugin payloads are published separately; ui-ux-design is available as @jini-ai/plugin-ui-ux-design.",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
7
7
  "type": "git",
@@ -14,7 +14,6 @@
14
14
  "runtime": "universal",
15
15
  "entries": {
16
16
  ".": "universal",
17
- "./ui-ux-design/*": "universal",
18
17
  "./lifecycle": "node",
19
18
  "./lifecycle/node": "node",
20
19
  "./lifecycle/yauzl": "node",
@@ -37,6 +36,12 @@
37
36
  "src/lifecycle/contribution-loader.ts",
38
37
  "src/lifecycle/tools/capabilities.ts"
39
38
  ]
39
+ },
40
+ "optionalPeers": {
41
+ "yauzl": "opt-in: plugin zip import — Plugin ZIP import could not load yauzl. Install yauzl to enable this feature, or check its installed version and native binaries.",
42
+ "@jini-ai/platform": "opt-in: platform-backed adapters; import @jini-ai/agent-plugins/lifecycle — Platform-backed adapters could not load @jini-ai/platform. Install @jini-ai/platform to enable this feature, or check its installed version and native binaries.",
43
+ "@cfworker/json-schema": "opt-in: json schema validation; import @jini-ai/agent-plugins/lifecycle/tools — JSON Schema validation could not load @cfworker/json-schema. Install @cfworker/json-schema to enable this feature, or check its installed version and native binaries.",
44
+ "semver": "opt-in: plugin version compatibility; import @jini-ai/agent-plugins/lifecycle — Plugin version compatibility could not load semver. Install semver to enable this feature, or check its installed version and native binaries."
40
45
  }
41
46
  },
42
47
  "type": "module",
@@ -47,7 +52,6 @@
47
52
  "import": "./dist/index.js",
48
53
  "default": "./dist/index.js"
49
54
  },
50
- "./ui-ux-design/*": "./ui-ux-design/*",
51
55
  "./lifecycle": {
52
56
  "types": "./dist/lifecycle/index.d.ts",
53
57
  "import": "./dist/lifecycle/index.js",
@@ -104,7 +108,6 @@
104
108
  "README.md",
105
109
  "CHANGELOG.md",
106
110
  "LICENSE",
107
- "ui-ux-design",
108
111
  "!dist/**/*.test.js",
109
112
  "!dist/**/*.test.d.ts",
110
113
  "!dist/**/*.test.js.map",
@@ -126,12 +129,12 @@
126
129
  "@cfworker/json-schema": "^4.1.1",
127
130
  "@types/semver": "^7.5.8",
128
131
  "semver": "^7.6.2",
129
- "@jini-ai/plugins": "^0.6.15-rc.2"
132
+ "@jini-ai/plugins": "^0.6.16"
130
133
  },
131
134
  "peerDependencies": {
132
135
  "yauzl": "^3.4.0",
133
- "@jini-ai/core": "^0.6.15-rc.2",
134
- "@jini-ai/platform": "^0.6.15-rc.2",
136
+ "@jini-ai/core": "^0.6.10",
137
+ "@jini-ai/platform": "^0.6.10",
135
138
  "@cfworker/json-schema": "^4.1.1",
136
139
  "semver": "^7.6.2"
137
140
  },
@@ -1 +0,0 @@
1
- {"version":3,"file":"action-dispatcher.d.ts","sourceRoot":"","sources":["../../src/admin-surfaces/action-dispatcher.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAC9D,OAAO,KAAK,EAA6B,yBAAyB,EAAE,MAAM,eAAe,CAAC;AAE1F,6GAA6G;AAC7G,qBAAa,uBAAwB,SAAQ,KAAK;IAChD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;gBAChB,QAAQ,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,QAAQ,GAAE;QAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAO;CAMrJ;AAED;6EAC6E;AAC7E,MAAM,MAAM,yBAAyB,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE;IAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAA;CAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;AAuB9H,wBAAgB,kCAAkC,CAAC,CAAC,EAClD,QAAQ,EAAE;IAAE,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC,sBAAsB,EAAE,IAAI,GAAG,SAAS,CAAC,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;CAAE,EAC5J,QAAQ,GAAE;IAAE,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAA;CAAO;sBAI/G;QAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAA;KAAE,KAAG,OAAO,CAAC,yBAAyB,CAAC;EAmBhJ"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"action-dispatcher.js","sourceRoot":"","sources":["../../src/admin-surfaces/action-dispatcher.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"action-schema.d.ts","sourceRoot":"","sources":["../../src/admin-surfaces/action-schema.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,cAAc,6CAA6C,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"action-schema.js","sourceRoot":"","sources":["../../src/admin-surfaces/action-schema.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,cAAc,6CAA6C,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"action-tools.d.ts","sourceRoot":"","sources":["../../src/admin-surfaces/action-tools.ts"],"names":[],"mappings":"AAAA,4GAA4G;AAC5G,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC;AAE/D,OAAO,KAAK,EAAE,yBAAyB,EAA6B,MAAM,kCAAkC,CAAC;AAC7G,OAAO,EAAsC,KAAK,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAE5G,OAAO,KAAK,EAAsB,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAClF,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AAExE,uFAAuF;AACvF,MAAM,WAAW,uBAAwB,SAAQ,0BAA0B;IACzE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED,oGAAoG;AACpG,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,sBAAsB,CAAC;CAC7C;AAcD;;;;;;;;;GASG;AACH,wBAAgB,4BAA4B,CAAC,QAAQ,EAAE;IACrD,QAAQ,CAAC,QAAQ,EAAE,SAAS,sBAAsB,EAAE,CAAC;IACrD,QAAQ,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE;QAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;KAAE,KAAK,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,yBAAyB,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC;IACzK,QAAQ,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE;QAAE,QAAQ,CAAC,OAAO,EAAE,uBAAuB,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7F,EAAE,QAAQ,GAAE;IACX,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,OAAO,CAAC,yBAAyB,CAAC,CAAA;KAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5G;kGAC8F;IAC9F,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;KAAE,KAAK,MAAM,CAAC;CACxG,GAAG,SAAS,yBAAyB,EAAE,CA2B5C"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"action-tools.js","sourceRoot":"","sources":["../../src/admin-surfaces/action-tools.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAEnE,OAAO,EAAE,kCAAkC,EAAkC,MAAM,wBAAwB,CAAC;AAC5G,OAAO,EAAE,+BAA+B,EAAE,+BAA+B,EAAE,MAAM,oBAAoB,CAAC;AAetG;yFACyF;AACzF,SAAS,cAAc,CAAC,QAA0E,EAAE,YAAmC,EAAE;IACvI,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC;IACnC,MAAM,MAAM,GAAG,kBAAkB,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAC7C,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,IAAI,+BAA+B,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;WACpI,+BAA+B,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC;QAC/F,MAAM,IAAI,cAAc,CAAC,EAAE,OAAO,EAAE,2DAA2D,EAAE,CAAC,CAAC;IACrG,CAAC;IACD,OAAO,MAAM,CAAC,OAAO,CAAC;AACxB,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,4BAA4B,CAAC,QAI5C,EAAE,WAKC,EAAE;IACJ,OAAO,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAA6B,EAAE;QAC1H,MAAM,IAAI,GAAG,GAAG,UAAU,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;QACrF,MAAM,MAAM,GAAG,QAAQ,CAAC,gBAAgB,CAAC;QACzC,OAAO;YACL,QAAQ;YACR,GAAG,CAAC,MAAM,IAAI,EAAE,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrI,IAAI,EAAE;gBACJ,IAAI,EAAE,WAAW,EAAE,GAAG,UAAU,CAAC,KAAK,KAAK,MAAM,CAAC,IAAI,0DAA0D;gBAChH,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,OAAO;gBAChC,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,CAAC,SAAS,CAAC,EAAE,oBAAoB,EAAE,KAAK,EAAE;gBAC1H,KAAK,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAA6B;oBAC9D,IAAI,CAAC,IAAI,CAAC,WAAW;wBAAE,MAAM,IAAI,cAAc,CAAC,EAAE,OAAO,EAAE,mDAAmD,EAAE,CAAC,CAAC;oBAClH,MAAM,OAAO,GAA4B,EAAE,GAAG,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,CAAC,EAAE,EAAE,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;oBACrK,MAAM,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;oBACtC,MAAM,OAAO,GAAG,cAAc,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;oBAClD,MAAM,UAAU,GAAG,kCAAkC,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,CAAC,WAAW,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;oBAC9I,MAAM,QAAQ,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;oBACtF,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;gBAChE,CAAC;aACF;YACD,yBAAyB,CAAC,EAAE,KAAK,EAAE;gBACjC,cAAc,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;gBAClC,OAAO,CAAC,GAAG,UAAU,CAAC,KAAK,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;YACjD,CAAC;SACF,CAAC;IACJ,CAAC,CAAC,CAAC,CAAC;AACN,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"callback-field-inbox.d.ts","sourceRoot":"","sources":["../../src/admin-surfaces/callback-field-inbox.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAUD;;;;GAIG;AACH,wBAAgB,+BAA+B,CAC7C,QAAQ,EAAE;IAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,MAAM,CAAA;CAAE,EACxC,SAAS,GAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAM;IAWnC,+FAA+F;mBAChF,4BAA4B,GAAG;QAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;KAAE,aAAY,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAQ,IAAI;IAKhJ,uHAAuH;gBAC3G,4BAA4B,aAAY,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAQ,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,IAAI;EAQ3H"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"callback-field-inbox.js","sourceRoot":"","sources":["../../src/admin-surfaces/callback-field-inbox.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AASH,0EAA0E;AAC1E,MAAM,YAAY,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AACpC,wDAAwD;AACxD,MAAM,iBAAiB,GAAG,GAAG,CAAC;AAE9B,+EAA+E;AAC/E,MAAM,KAAK,GAAG,CAAC,GAAiC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,YAAY,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAErI;;;;GAIG;AACH,MAAM,UAAU,+BAA+B,CAC7C,QAAwC,EACxC,YAAmC,EAAE;IAErC,mFAAmF;IACnF,MAAM,OAAO,GAAG,IAAI,GAAG,EAA6F,CAAC;IAErH,SAAS,KAAK,CAAC,KAAa;QAC1B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,OAAO;YAAE,IAAI,KAAK,CAAC,SAAS,IAAI,KAAK;gBAAE,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACtF,OAAO,OAAO,CAAC,IAAI,IAAI,iBAAiB;YAAE,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAM,CAAC,CAAC;IACzF,CAAC;IAED,OAAO;QACL,+FAA+F;QAC/F,OAAO,CAAC,KAA2F,EAAE,WAAkC,EAAE;YACvI,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC;YAC7B,KAAK,CAAC,KAAK,CAAC,CAAC;YACb,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,KAAK,GAAG,YAAY,EAAE,CAAC,CAAC;QAC7G,CAAC;QACD,uHAAuH;QACvH,IAAI,CAAC,KAAmC,EAAE,WAAkC,EAAE;YAC5E,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;YACzB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC/B,IAAI,KAAK,KAAK,SAAS;gBAAE,OAAO,IAAI,CAAC;YACrC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACpB,OAAO,KAAK,CAAC,SAAS,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;QAChE,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"capability-declarations.d.ts","sourceRoot":"","sources":["../../src/admin-surfaces/capability-declarations.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,+GAA+G;AAC/G,MAAM,WAAW,iCAAiC;IAChD,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,wGAAwG;IACxG,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,kFAAkF;IAClF,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;CAC5C;AAED,MAAM,WAAW,kCAAkC;IACjD,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,iCAAiC,EAAE,CAAC;IACpE,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C;uEACmE;IACnE,QAAQ,CAAC,gBAAgB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9C,kFAAkF;IAClF,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACpC;AAED,KAAK,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AA0E/C;;;;GAIG;AACH,wBAAgB,uCAAuC,CAAC,QAAQ,EAAE;IAAE,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;CAAE,EAAE,SAAS,GAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAM,GAAG,kCAAkC,GAAG,MAAM,CAUpM"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"capability-declarations.js","sourceRoot":"","sources":["../../src/admin-surfaces/capability-declarations.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"contribution.d.ts","sourceRoot":"","sources":["../../src/admin-surfaces/contribution.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,qCAAqC,CAAC;AACxF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AACjF,OAAO,EAA0B,KAAK,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAGtF,qFAAqF;AACrF,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAC;IACtC,QAAQ,CAAC,UAAU,EAAE,sBAAsB,CAAC;CAC7C;AAED;;;;GAIG;AACH,wBAAgB,8BAA8B,CAAC,QAAQ,EAAE;IAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,EAAE,SAAS,GAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAM,GAAG,4BAA4B,CAAC,sBAAsB,EAAE,kBAAkB,CAAC,CAQvM;AAED;;;;;GAKG;AACH,wBAAsB,oBAAoB,CAAC,QAAQ,EAAE;IACnD,QAAQ,CAAC,OAAO,EAAE,kBAAkB,CAAC;IACrC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE;QAAE,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAC;QAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CACrH,EAAE,SAAS,GAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAM,GAAG,OAAO,CAAC;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;CAAE,GAAG;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAA;CAAE,CAAC,CAK7M"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"contribution.js","sourceRoot":"","sources":["../../src/admin-surfaces/contribution.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,sBAAsB,EAA+B,MAAM,iBAAiB,CAAC;AACtF,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAQvD;;;;GAIG;AACH,MAAM,UAAU,8BAA8B,CAAC,QAAuC,EAAE,YAAmC,EAAE;IAC3H,OAAO;QACL,QAAQ,EAAE,QAAQ,CAAC,QAAQ;QAC3B,YAAY,EAAE,gBAAgB;QAC9B,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,sBAAsB,CAAC,EAAE,GAAG,EAAE,CAAC;QACnD,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;KAC3D,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,QAI1C,EAAE,YAAmC,EAAE;IACtC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC;IACnC,IAAI,IAAI,KAAK,OAAO,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC;IAChI,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IACjF,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,uBAAuB,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;AACxG,CAAC"}