@noodleseed/one 0.115.0 → 0.117.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.
Files changed (184) hide show
  1. package/dist/agent-product-skill-doctor.js +19 -4
  2. package/dist/agent-product-skill-doctor.js.map +1 -1
  3. package/dist/agent-product-skill-output.d.ts +7 -0
  4. package/dist/agent-product-skill-output.d.ts.map +1 -0
  5. package/dist/agent-product-skill-output.js +23 -0
  6. package/dist/agent-product-skill-output.js.map +1 -0
  7. package/dist/agent-product-skill-reconcile.d.ts +22 -0
  8. package/dist/agent-product-skill-reconcile.d.ts.map +1 -0
  9. package/dist/agent-product-skill-reconcile.js +260 -0
  10. package/dist/agent-product-skill-reconcile.js.map +1 -0
  11. package/dist/agent-product-skill-state.d.ts +9 -27
  12. package/dist/agent-product-skill-state.d.ts.map +1 -1
  13. package/dist/agent-product-skill-state.js +37 -83
  14. package/dist/agent-product-skill-state.js.map +1 -1
  15. package/dist/agent-product-skill.d.ts +15 -11
  16. package/dist/agent-product-skill.d.ts.map +1 -1
  17. package/dist/agent-product-skill.js +5 -177
  18. package/dist/agent-product-skill.js.map +1 -1
  19. package/dist/agents-doctor.d.ts.map +1 -1
  20. package/dist/agents-doctor.js +25 -13
  21. package/dist/agents-doctor.js.map +1 -1
  22. package/dist/agents.d.ts +3 -1
  23. package/dist/agents.d.ts.map +1 -1
  24. package/dist/agents.js +42 -5
  25. package/dist/agents.js.map +1 -1
  26. package/dist/commands/catalog-data-bootstrap-pre-auth.d.ts.map +1 -1
  27. package/dist/commands/catalog-data-bootstrap-pre-auth.js +14 -0
  28. package/dist/commands/catalog-data-bootstrap-pre-auth.js.map +1 -1
  29. package/node_modules/@noodle-borg/agent-kit/dist/behavior-skills.d.ts +1 -1
  30. package/node_modules/@noodle-borg/agent-kit/dist/behavior-skills.d.ts.map +1 -1
  31. package/node_modules/@noodle-borg/agent-kit/dist/behavior-skills.js +24 -0
  32. package/node_modules/@noodle-borg/agent-kit/dist/behavior-skills.js.map +1 -1
  33. package/node_modules/@noodle-borg/agent-kit/dist/generated/example-files.js +1 -1
  34. package/node_modules/@noodle-borg/agent-kit/dist/generated/example-files.js.map +1 -1
  35. package/node_modules/@noodle-borg/agent-kit/dist/index.d.ts +1 -0
  36. package/node_modules/@noodle-borg/agent-kit/dist/index.d.ts.map +1 -1
  37. package/node_modules/@noodle-borg/agent-kit/dist/index.js +1 -0
  38. package/node_modules/@noodle-borg/agent-kit/dist/index.js.map +1 -1
  39. package/node_modules/@noodle-borg/agent-kit/dist/product-skill-ownership.d.ts +36 -0
  40. package/node_modules/@noodle-borg/agent-kit/dist/product-skill-ownership.d.ts.map +1 -0
  41. package/node_modules/@noodle-borg/agent-kit/dist/product-skill-ownership.js +116 -0
  42. package/node_modules/@noodle-borg/agent-kit/dist/product-skill-ownership.js.map +1 -0
  43. package/node_modules/@noodle-borg/agent-kit/dist/skill-agent-guide-ref.d.ts.map +1 -1
  44. package/node_modules/@noodle-borg/agent-kit/dist/skill-agent-guide-ref.js +21 -3
  45. package/node_modules/@noodle-borg/agent-kit/dist/skill-agent-guide-ref.js.map +1 -1
  46. package/node_modules/@noodle-borg/agent-kit/dist/skill-router.d.ts +1 -1
  47. package/node_modules/@noodle-borg/agent-kit/dist/skill-router.d.ts.map +1 -1
  48. package/node_modules/@noodle-borg/agent-kit/dist/skill-router.js +8 -2
  49. package/node_modules/@noodle-borg/agent-kit/dist/skill-router.js.map +1 -1
  50. package/node_modules/@noodle-borg/agent-kit/package.json +1 -1
  51. package/node_modules/@noodle-borg/assistant-gateway/package.json +1 -1
  52. package/node_modules/@noodle-borg/service/dist/assistant-model-stream.d.ts +9 -0
  53. package/node_modules/@noodle-borg/service/dist/assistant-model-stream.d.ts.map +1 -1
  54. package/node_modules/@noodle-borg/service/dist/assistant-model-stream.js +9 -1
  55. package/node_modules/@noodle-borg/service/dist/assistant-model-stream.js.map +1 -1
  56. package/node_modules/@noodle-borg/service/package.json +1 -1
  57. package/node_modules/@noodleseed/assistant/package.json +1 -1
  58. package/node_modules/@radix-ui/react-collection/node_modules/@radix-ui/react-primitive/LICENSE +21 -0
  59. package/node_modules/@radix-ui/react-collection/node_modules/@radix-ui/react-primitive/README.md +3 -0
  60. package/node_modules/@radix-ui/react-collection/node_modules/@radix-ui/react-primitive/dist/index.d.mts +52 -0
  61. package/node_modules/@radix-ui/react-collection/node_modules/@radix-ui/react-primitive/dist/index.d.ts +52 -0
  62. package/node_modules/@radix-ui/react-collection/node_modules/@radix-ui/react-primitive/dist/index.js +80 -0
  63. package/node_modules/@radix-ui/react-collection/node_modules/@radix-ui/react-primitive/dist/index.js.map +7 -0
  64. package/node_modules/@radix-ui/react-collection/node_modules/@radix-ui/react-primitive/dist/index.mjs +47 -0
  65. package/node_modules/@radix-ui/react-collection/node_modules/@radix-ui/react-primitive/dist/index.mjs.map +7 -0
  66. package/node_modules/@radix-ui/react-collection/node_modules/@radix-ui/react-primitive/package.json +68 -0
  67. package/node_modules/@radix-ui/react-dropdown-menu/node_modules/@radix-ui/react-primitive/LICENSE +21 -0
  68. package/node_modules/@radix-ui/react-dropdown-menu/node_modules/@radix-ui/react-primitive/README.md +3 -0
  69. package/node_modules/@radix-ui/react-dropdown-menu/node_modules/@radix-ui/react-primitive/dist/index.d.mts +52 -0
  70. package/node_modules/@radix-ui/react-dropdown-menu/node_modules/@radix-ui/react-primitive/dist/index.d.ts +52 -0
  71. package/node_modules/@radix-ui/react-dropdown-menu/node_modules/@radix-ui/react-primitive/dist/index.js +80 -0
  72. package/node_modules/@radix-ui/react-dropdown-menu/node_modules/@radix-ui/react-primitive/dist/index.js.map +7 -0
  73. package/node_modules/@radix-ui/react-dropdown-menu/node_modules/@radix-ui/react-primitive/dist/index.mjs +47 -0
  74. package/node_modules/@radix-ui/react-dropdown-menu/node_modules/@radix-ui/react-primitive/dist/index.mjs.map +7 -0
  75. package/node_modules/@radix-ui/react-dropdown-menu/node_modules/@radix-ui/react-primitive/package.json +68 -0
  76. package/node_modules/@radix-ui/react-menu/node_modules/@radix-ui/react-dismissable-layer/LICENSE +21 -0
  77. package/node_modules/@radix-ui/react-menu/node_modules/@radix-ui/react-dismissable-layer/README.md +3 -0
  78. package/node_modules/@radix-ui/react-menu/node_modules/@radix-ui/react-dismissable-layer/dist/index.d.mts +62 -0
  79. package/node_modules/@radix-ui/react-menu/node_modules/@radix-ui/react-dismissable-layer/dist/index.d.ts +62 -0
  80. package/node_modules/@radix-ui/react-menu/node_modules/@radix-ui/react-dismissable-layer/dist/index.js +373 -0
  81. package/node_modules/@radix-ui/react-menu/node_modules/@radix-ui/react-dismissable-layer/dist/index.js.map +7 -0
  82. package/node_modules/@radix-ui/react-menu/node_modules/@radix-ui/react-dismissable-layer/dist/index.mjs +341 -0
  83. package/node_modules/@radix-ui/react-menu/node_modules/@radix-ui/react-dismissable-layer/dist/index.mjs.map +7 -0
  84. package/node_modules/@radix-ui/react-menu/node_modules/@radix-ui/react-dismissable-layer/package.json +74 -0
  85. package/node_modules/@radix-ui/react-menu/node_modules/@radix-ui/react-focus-scope/LICENSE +21 -0
  86. package/node_modules/@radix-ui/react-menu/node_modules/@radix-ui/react-focus-scope/README.md +3 -0
  87. package/node_modules/@radix-ui/react-menu/node_modules/@radix-ui/react-focus-scope/dist/index.d.mts +32 -0
  88. package/node_modules/@radix-ui/react-menu/node_modules/@radix-ui/react-focus-scope/dist/index.d.ts +32 -0
  89. package/node_modules/@radix-ui/react-menu/node_modules/@radix-ui/react-focus-scope/dist/index.js +246 -0
  90. package/node_modules/@radix-ui/react-menu/node_modules/@radix-ui/react-focus-scope/dist/index.js.map +7 -0
  91. package/node_modules/@radix-ui/react-menu/node_modules/@radix-ui/react-focus-scope/dist/index.mjs +214 -0
  92. package/node_modules/@radix-ui/react-menu/node_modules/@radix-ui/react-focus-scope/dist/index.mjs.map +7 -0
  93. package/node_modules/@radix-ui/react-menu/node_modules/@radix-ui/react-focus-scope/package.json +71 -0
  94. package/node_modules/@radix-ui/react-menu/node_modules/@radix-ui/react-portal/LICENSE +21 -0
  95. package/node_modules/@radix-ui/react-menu/node_modules/@radix-ui/react-portal/README.md +3 -0
  96. package/node_modules/@radix-ui/react-menu/node_modules/@radix-ui/react-portal/dist/index.d.mts +14 -0
  97. package/node_modules/@radix-ui/react-menu/node_modules/@radix-ui/react-portal/dist/index.d.ts +14 -0
  98. package/node_modules/@radix-ui/react-menu/node_modules/@radix-ui/react-portal/dist/index.js +55 -0
  99. package/node_modules/@radix-ui/react-menu/node_modules/@radix-ui/react-portal/dist/index.js.map +7 -0
  100. package/node_modules/@radix-ui/react-menu/node_modules/@radix-ui/react-portal/dist/index.mjs +23 -0
  101. package/node_modules/@radix-ui/react-menu/node_modules/@radix-ui/react-portal/dist/index.mjs.map +7 -0
  102. package/node_modules/@radix-ui/react-menu/node_modules/@radix-ui/react-portal/package.json +69 -0
  103. package/node_modules/@radix-ui/react-menu/node_modules/@radix-ui/react-primitive/LICENSE +21 -0
  104. package/node_modules/@radix-ui/react-menu/node_modules/@radix-ui/react-primitive/README.md +3 -0
  105. package/node_modules/@radix-ui/react-menu/node_modules/@radix-ui/react-primitive/dist/index.d.mts +52 -0
  106. package/node_modules/@radix-ui/react-menu/node_modules/@radix-ui/react-primitive/dist/index.d.ts +52 -0
  107. package/node_modules/@radix-ui/react-menu/node_modules/@radix-ui/react-primitive/dist/index.js +80 -0
  108. package/node_modules/@radix-ui/react-menu/node_modules/@radix-ui/react-primitive/dist/index.js.map +7 -0
  109. package/node_modules/@radix-ui/react-menu/node_modules/@radix-ui/react-primitive/dist/index.mjs +47 -0
  110. package/node_modules/@radix-ui/react-menu/node_modules/@radix-ui/react-primitive/dist/index.mjs.map +7 -0
  111. package/node_modules/@radix-ui/react-menu/node_modules/@radix-ui/react-primitive/package.json +68 -0
  112. package/node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-popper/LICENSE +21 -0
  113. package/node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-popper/README.md +3 -0
  114. package/node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-popper/dist/index.d.mts +46 -0
  115. package/node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-popper/dist/index.d.ts +46 -0
  116. package/node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-popper/dist/index.js +384 -0
  117. package/node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-popper/dist/index.js.map +7 -0
  118. package/node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-popper/dist/index.mjs +362 -0
  119. package/node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-popper/dist/index.mjs.map +7 -0
  120. package/node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-popper/package.json +77 -0
  121. package/node_modules/@radix-ui/react-popper/node_modules/@radix-ui/react-arrow/LICENSE +21 -0
  122. package/node_modules/@radix-ui/react-popper/node_modules/@radix-ui/react-arrow/README.md +3 -0
  123. package/node_modules/@radix-ui/react-popper/node_modules/@radix-ui/react-arrow/dist/index.d.mts +10 -0
  124. package/node_modules/@radix-ui/react-popper/node_modules/@radix-ui/react-arrow/dist/index.d.ts +10 -0
  125. package/node_modules/@radix-ui/react-popper/node_modules/@radix-ui/react-arrow/dist/index.js +60 -0
  126. package/node_modules/@radix-ui/react-popper/node_modules/@radix-ui/react-arrow/dist/index.js.map +7 -0
  127. package/node_modules/@radix-ui/react-popper/node_modules/@radix-ui/react-arrow/dist/index.mjs +27 -0
  128. package/node_modules/@radix-ui/react-popper/node_modules/@radix-ui/react-arrow/dist/index.mjs.map +7 -0
  129. package/node_modules/@radix-ui/react-popper/node_modules/@radix-ui/react-arrow/package.json +68 -0
  130. package/node_modules/@radix-ui/react-popper/node_modules/@radix-ui/react-primitive/LICENSE +21 -0
  131. package/node_modules/@radix-ui/react-popper/node_modules/@radix-ui/react-primitive/README.md +3 -0
  132. package/node_modules/@radix-ui/react-popper/node_modules/@radix-ui/react-primitive/dist/index.d.mts +52 -0
  133. package/node_modules/@radix-ui/react-popper/node_modules/@radix-ui/react-primitive/dist/index.d.ts +52 -0
  134. package/node_modules/@radix-ui/react-popper/node_modules/@radix-ui/react-primitive/dist/index.js +80 -0
  135. package/node_modules/@radix-ui/react-popper/node_modules/@radix-ui/react-primitive/dist/index.js.map +7 -0
  136. package/node_modules/@radix-ui/react-popper/node_modules/@radix-ui/react-primitive/dist/index.mjs +47 -0
  137. package/node_modules/@radix-ui/react-popper/node_modules/@radix-ui/react-primitive/dist/index.mjs.map +7 -0
  138. package/node_modules/@radix-ui/react-popper/node_modules/@radix-ui/react-primitive/package.json +68 -0
  139. package/node_modules/@radix-ui/react-roving-focus/node_modules/@radix-ui/react-primitive/LICENSE +21 -0
  140. package/node_modules/@radix-ui/react-roving-focus/node_modules/@radix-ui/react-primitive/README.md +3 -0
  141. package/node_modules/@radix-ui/react-roving-focus/node_modules/@radix-ui/react-primitive/dist/index.d.mts +52 -0
  142. package/node_modules/@radix-ui/react-roving-focus/node_modules/@radix-ui/react-primitive/dist/index.d.ts +52 -0
  143. package/node_modules/@radix-ui/react-roving-focus/node_modules/@radix-ui/react-primitive/dist/index.js +80 -0
  144. package/node_modules/@radix-ui/react-roving-focus/node_modules/@radix-ui/react-primitive/dist/index.js.map +7 -0
  145. package/node_modules/@radix-ui/react-roving-focus/node_modules/@radix-ui/react-primitive/dist/index.mjs +47 -0
  146. package/node_modules/@radix-ui/react-roving-focus/node_modules/@radix-ui/react-primitive/dist/index.mjs.map +7 -0
  147. package/node_modules/@radix-ui/react-roving-focus/node_modules/@radix-ui/react-primitive/package.json +68 -0
  148. package/node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-dismissable-layer/LICENSE +21 -0
  149. package/node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-dismissable-layer/README.md +3 -0
  150. package/node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-dismissable-layer/dist/index.d.mts +62 -0
  151. package/node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-dismissable-layer/dist/index.d.ts +62 -0
  152. package/node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-dismissable-layer/dist/index.js +373 -0
  153. package/node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-dismissable-layer/dist/index.js.map +7 -0
  154. package/node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-dismissable-layer/dist/index.mjs +341 -0
  155. package/node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-dismissable-layer/dist/index.mjs.map +7 -0
  156. package/node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-dismissable-layer/package.json +74 -0
  157. package/node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-portal/LICENSE +21 -0
  158. package/node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-portal/README.md +3 -0
  159. package/node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-portal/dist/index.d.mts +14 -0
  160. package/node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-portal/dist/index.d.ts +14 -0
  161. package/node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-portal/dist/index.js +55 -0
  162. package/node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-portal/dist/index.js.map +7 -0
  163. package/node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-portal/dist/index.mjs +23 -0
  164. package/node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-portal/dist/index.mjs.map +7 -0
  165. package/node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-portal/package.json +69 -0
  166. package/node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-primitive/LICENSE +21 -0
  167. package/node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-primitive/README.md +3 -0
  168. package/node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-primitive/dist/index.d.mts +52 -0
  169. package/node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-primitive/dist/index.d.ts +52 -0
  170. package/node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-primitive/dist/index.js +80 -0
  171. package/node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-primitive/dist/index.js.map +7 -0
  172. package/node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-primitive/dist/index.mjs +47 -0
  173. package/node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-primitive/dist/index.mjs.map +7 -0
  174. package/node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-primitive/package.json +68 -0
  175. package/node_modules/@radix-ui/react-visually-hidden/node_modules/@radix-ui/react-primitive/LICENSE +21 -0
  176. package/node_modules/@radix-ui/react-visually-hidden/node_modules/@radix-ui/react-primitive/README.md +3 -0
  177. package/node_modules/@radix-ui/react-visually-hidden/node_modules/@radix-ui/react-primitive/dist/index.d.mts +52 -0
  178. package/node_modules/@radix-ui/react-visually-hidden/node_modules/@radix-ui/react-primitive/dist/index.d.ts +52 -0
  179. package/node_modules/@radix-ui/react-visually-hidden/node_modules/@radix-ui/react-primitive/dist/index.js +80 -0
  180. package/node_modules/@radix-ui/react-visually-hidden/node_modules/@radix-ui/react-primitive/dist/index.js.map +7 -0
  181. package/node_modules/@radix-ui/react-visually-hidden/node_modules/@radix-ui/react-primitive/dist/index.mjs +47 -0
  182. package/node_modules/@radix-ui/react-visually-hidden/node_modules/@radix-ui/react-primitive/dist/index.mjs.map +7 -0
  183. package/node_modules/@radix-ui/react-visually-hidden/node_modules/@radix-ui/react-primitive/package.json +68 -0
  184. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ import type { ProductSkillPackageInput, RenderedProductSkillBundleV1, RenderedProductSkillFileV1 } from './product-skill-types.js';
2
+ import type { AgentTarget } from './skill-registry.js';
3
+ export interface ProductSkillStateFile {
4
+ readonly path: string;
5
+ readonly sha256: string;
6
+ readonly byteLength: number;
7
+ }
8
+ /** Project-local ownership record for one rendered host target. */
9
+ export interface ProductSkillState {
10
+ readonly schemaVersion: 2;
11
+ readonly bundleSchemaVersion: 1;
12
+ readonly target: AgentTarget;
13
+ readonly app: {
14
+ readonly name: string;
15
+ readonly skillSlug: string;
16
+ };
17
+ readonly packageSchemaVersion: '1';
18
+ readonly rendererVersion: string;
19
+ readonly sourceManifestSha256: string;
20
+ readonly mcpSurfaceSha256: string;
21
+ readonly bundleSha256: string;
22
+ readonly files: readonly ProductSkillStateFile[];
23
+ }
24
+ export interface DecodedProductSkillState {
25
+ readonly state: ProductSkillState;
26
+ readonly migrationRequired: boolean;
27
+ }
28
+ export declare function createProductSkillState(input: {
29
+ readonly target: AgentTarget;
30
+ readonly artifact: ProductSkillPackageInput;
31
+ readonly bundle: Pick<RenderedProductSkillBundleV1, 'schemaVersion' | 'rendererVersion' | 'bundleSha256'>;
32
+ readonly files: readonly RenderedProductSkillFileV1[];
33
+ }): ProductSkillState;
34
+ /** Decode V2 or normalize a valid V1 record into a migration-pending V2 value. */
35
+ export declare function decodeProductSkillState(value: unknown, target: AgentTarget): DecodedProductSkillState | undefined;
36
+ //# sourceMappingURL=product-skill-ownership.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"product-skill-ownership.d.ts","sourceRoot":"","sources":["../src/product-skill-ownership.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,wBAAwB,EACxB,4BAA4B,EAC5B,0BAA0B,EAC3B,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAQvD,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,mEAAmE;AACnE,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,aAAa,EAAE,CAAC,CAAC;IAC1B,QAAQ,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,GAAG,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IACpE,QAAQ,CAAC,oBAAoB,EAAE,GAAG,CAAC;IACnC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,SAAS,qBAAqB,EAAE,CAAC;CAClD;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,KAAK,EAAE,iBAAiB,CAAC;IAClC,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAC;CACrC;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE;IAC7C,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,wBAAwB,CAAC;IAC5C,QAAQ,CAAC,MAAM,EAAE,IAAI,CACnB,4BAA4B,EAC5B,eAAe,GAAG,iBAAiB,GAAG,cAAc,CACrD,CAAC;IACF,QAAQ,CAAC,KAAK,EAAE,SAAS,0BAA0B,EAAE,CAAC;CACvD,GAAG,iBAAiB,CAapB;AAED,kFAAkF;AAClF,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,OAAO,EACd,MAAM,EAAE,WAAW,GAClB,wBAAwB,GAAG,SAAS,CAyEtC"}
@@ -0,0 +1,116 @@
1
+ import { createHash } from 'node:crypto';
2
+ const SHA256 = /^[a-f0-9]{64}$/;
3
+ const APP_NAME = /^[a-z0-9_]+$/;
4
+ const SIMPLE_SKILL_SLUG = /^[a-z0-9]+(?:-[a-z0-9]+)*$/;
5
+ const RESERVED_FALLBACK_SLUG = /^n-h[a-f0-9]{64}-n$/;
6
+ const MAX_BUNDLE_V1_SKILL_SLUG_CHARS = 100;
7
+ export function createProductSkillState(input) {
8
+ return {
9
+ schemaVersion: 2,
10
+ bundleSchemaVersion: input.bundle.schemaVersion,
11
+ target: input.target,
12
+ app: { name: input.artifact.app.name, skillSlug: bundleV1SkillSlug(input.artifact.app.name) },
13
+ packageSchemaVersion: input.artifact.schemaVersion,
14
+ rendererVersion: input.bundle.rendererVersion,
15
+ sourceManifestSha256: input.artifact.provenance.sourceManifestSha256,
16
+ mcpSurfaceSha256: input.artifact.provenance.mcpSurfaceSha256,
17
+ bundleSha256: input.bundle.bundleSha256,
18
+ files: input.files.map(({ path, sha256, byteLength }) => ({ path, sha256, byteLength })),
19
+ };
20
+ }
21
+ /** Decode V2 or normalize a valid V1 record into a migration-pending V2 value. */
22
+ export function decodeProductSkillState(value, target) {
23
+ if (!isRecord(value))
24
+ return undefined;
25
+ const migrationRequired = value.schemaVersion === 1;
26
+ const expectedKeys = [
27
+ 'schemaVersion',
28
+ ...(migrationRequired ? [] : ['bundleSchemaVersion']),
29
+ 'target',
30
+ 'app',
31
+ 'packageSchemaVersion',
32
+ 'rendererVersion',
33
+ 'sourceManifestSha256',
34
+ 'mcpSurfaceSha256',
35
+ 'bundleSha256',
36
+ 'files',
37
+ ];
38
+ if (!hasExactKeys(value, expectedKeys) ||
39
+ (value.schemaVersion !== 1 && value.schemaVersion !== 2) ||
40
+ (!migrationRequired && value.bundleSchemaVersion !== 1) ||
41
+ value.target !== target ||
42
+ value.packageSchemaVersion !== '1' ||
43
+ typeof value.rendererVersion !== 'string' ||
44
+ value.rendererVersion.trim() === '' ||
45
+ !validDigest(value.sourceManifestSha256) ||
46
+ !validDigest(value.mcpSurfaceSha256) ||
47
+ !validDigest(value.bundleSha256) ||
48
+ !isRecord(value.app) ||
49
+ !hasExactKeys(value.app, ['name', 'skillSlug']) ||
50
+ typeof value.app.name !== 'string' ||
51
+ !APP_NAME.test(value.app.name) ||
52
+ typeof value.app.skillSlug !== 'string' ||
53
+ value.app.skillSlug !== bundleV1SkillSlug(value.app.name) ||
54
+ !Array.isArray(value.files)) {
55
+ return undefined;
56
+ }
57
+ const files = [];
58
+ const paths = new Set();
59
+ for (const file of value.files) {
60
+ if (!isRecord(file) ||
61
+ !hasExactKeys(file, ['path', 'sha256', 'byteLength']) ||
62
+ typeof file.path !== 'string' ||
63
+ paths.has(file.path) ||
64
+ !validDigest(file.sha256) ||
65
+ typeof file.byteLength !== 'number' ||
66
+ !Number.isSafeInteger(file.byteLength) ||
67
+ file.byteLength < 0) {
68
+ return undefined;
69
+ }
70
+ paths.add(file.path);
71
+ files.push({ path: file.path, sha256: file.sha256, byteLength: file.byteLength });
72
+ }
73
+ const expectedPaths = new Set(bundleV1TargetPaths(target, value.app.skillSlug));
74
+ if (files.length !== expectedPaths.size || files.some((file) => !expectedPaths.has(file.path))) {
75
+ return undefined;
76
+ }
77
+ return {
78
+ migrationRequired,
79
+ state: {
80
+ schemaVersion: 2,
81
+ bundleSchemaVersion: 1,
82
+ target,
83
+ app: { name: value.app.name, skillSlug: value.app.skillSlug },
84
+ packageSchemaVersion: '1',
85
+ rendererVersion: value.rendererVersion,
86
+ sourceManifestSha256: value.sourceManifestSha256,
87
+ mcpSurfaceSha256: value.mcpSurfaceSha256,
88
+ bundleSha256: value.bundleSha256,
89
+ files,
90
+ },
91
+ };
92
+ }
93
+ /** Ownership V2 is bound to the immutable bundle-schema-v1 host slug and two-file layout. */
94
+ function bundleV1SkillSlug(name) {
95
+ const simple = name.replaceAll('_', '-');
96
+ if (SIMPLE_SKILL_SLUG.test(simple) &&
97
+ simple.length <= MAX_BUNDLE_V1_SKILL_SLUG_CHARS &&
98
+ !RESERVED_FALLBACK_SLUG.test(simple)) {
99
+ return simple;
100
+ }
101
+ return `n-h${createHash('sha256').update(name).digest('hex')}-n`;
102
+ }
103
+ function bundleV1TargetPaths(target, slug) {
104
+ const root = `${target === 'codex' ? '.agents' : '.claude'}/skills/${slug}`;
105
+ return [`${root}/SKILL.md`, `${root}/references/mcp-surface.md`];
106
+ }
107
+ function validDigest(value) {
108
+ return typeof value === 'string' && SHA256.test(value);
109
+ }
110
+ function hasExactKeys(value, keys) {
111
+ return Object.keys(value).length === keys.length && keys.every((key) => key in value);
112
+ }
113
+ function isRecord(value) {
114
+ return value !== null && typeof value === 'object' && !Array.isArray(value);
115
+ }
116
+ //# sourceMappingURL=product-skill-ownership.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"product-skill-ownership.js","sourceRoot":"","sources":["../src/product-skill-ownership.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"skill-agent-guide-ref.d.ts","sourceRoot":"","sources":["../src/skill-agent-guide-ref.ts"],"names":[],"mappings":"AAAA,wBAAgB,yBAAyB,IAAI,MAAM,CAoClD"}
1
+ {"version":3,"file":"skill-agent-guide-ref.d.ts","sourceRoot":"","sources":["../src/skill-agent-guide-ref.ts"],"names":[],"mappings":"AAAA,wBAAgB,yBAAyB,IAAI,MAAM,CAsDlD"}
@@ -10,7 +10,7 @@ export function renderAgentGuideReference() {
10
10
  '',
11
11
  'Author a guide when any of these conditions applies:',
12
12
  '',
13
- '- A request for an App Package, product skill, plugin, or agent distribution requires one.',
13
+ '- A request for an App Package or app product skill requires one. A marketplace plugin or customer-agent distribution would also need this source, but those per-app distribution surfaces are not available in this foundation.',
14
14
  '- Multiple capabilities participate in one user workflow, especially when order or purpose matters.',
15
15
  '- Safe or useful operation depends on product-specific ordering, grounding, clarification, boundaries, or representative examples that capability descriptions cannot express.',
16
16
  '',
@@ -18,6 +18,22 @@ export function renderAgentGuideReference() {
18
18
  '',
19
19
  'Make the judgment from the user’s stated outcome and grounded product evidence. If a guide is warranted but a decision-changing workflow or boundary is unknown, ask only for that missing product input; never fabricate it. The user should not need to know this feature name to receive the benefit.',
20
20
  '',
21
+ '## Scope boundaries',
22
+ '',
23
+ 'Noodle workflow skills teach a coding agent how to build and operate Noodle projects. The generated app product skill is team-local guidance for using one product. A marketplace plugin is a separate host distribution bundle.',
24
+ '',
25
+ 'Per-app marketplace plugin generation and customer-agent distribution are not available in this foundation. If the user asks for either, explain the boundary and stop at the local App Package and product-skill workflow. Do not claim a listing, submission bundle, hosted distribution, or customer-agent projection.',
26
+ '',
27
+ '## Creation workflow',
28
+ '',
29
+ '1. **Inspect grounded capability evidence.** Read the configured TypeScript entrypoint (`server.ts` or `src/server.ts`) and identify its exact declared tools, resources, prompts, descriptions, visibility, annotations, authorization, and widget relationships. Treat schemas and compiled annotations as facts. Never invent or guess a tool, resource, prompt, capability kind, workflow, or weaker write boundary.',
30
+ '2. **Decide guided or unguided.** Apply the criteria above and state the decision with its evidence. If the existing capabilities are self-explanatory and no product judgment is missing, recommend an intentionally unguided server and stop this workflow.',
31
+ '3. **Interview only for product judgment.** Ask the builder for the decision-changing triggers, workflow ordering, grounding or clarification rules, boundaries, and representative prompts that source cannot prove. Do not ask them to restate capability names or schemas already present in TypeScript.',
32
+ '4. **Propose TypeScript.** Present the complete proposed `agentGuide` block, map every step to one exact declared capability and kind, and call out how write, destructive, open-world, confirmation, authorization, and widget boundaries remain unchanged. Request explicit approval before editing the configured TypeScript entrypoint.',
33
+ '5. **Apply and prove after approval.** Add or revise only the approved TypeScript guide. Run `noodle validate --json`, repair each structured guide error at its exact path without free-form invention, then run `noodle test --json`.',
34
+ '6. **Preview the App Package plan.** Run `noodle agents setup --json` and report its exact target, file, ownership-migration, removal, and replacement actions. A preview never writes files. For an existing installed app skill, pass `--regenerate-app-skill` to state the intended operation explicitly; add `--replace-modified-app-skill` only when the builder is considering replacement of previously Noodle-owned bytes.',
35
+ '7. **Ask separately before installation.** Request explicit approval before writing or replacing the app product skill. On approval, run `noodle agents setup --write` for a first installation, or `noodle agents setup --write --regenerate-app-skill` for a changed, migrated, renamed, or removed installation. Add `--replace-modified-app-skill` only when the preview identified modified previously owned bytes and the builder approved losing those exact local modifications.',
36
+ '',
21
37
  '## Authoring shape',
22
38
  '',
23
39
  'The guide contains `description`, `useWhen`, named `workflows`, optional `boundaries`, and optional example prompt-to-workflow mappings. Each workflow step references a declared `tool`, `resource`, or `prompt` by symbolic `{ kind, name }`; do not duplicate schemas, connector bindings, URLs, credentials, or raw runtime data.',
@@ -28,9 +44,11 @@ export function renderAgentGuideReference() {
28
44
  '',
29
45
  '## Local lifecycle',
30
46
  '',
31
- '`noodle agents setup` previews the local product-skill files compiled from `server.ts`; add `--write` to install them under `.agents/skills/<app-skill>/` and `.claude/skills/<app-skill>/`. No account or hosted deployment is required. The app files have an ownership record separate from the Noodle workflow skills.',
47
+ '`noodle agents setup` previews the local product-skill files compiled from `server.ts`; add `--write` for the first installation under `.agents/skills/<app-skill>/` and `.claude/skills/<app-skill>/`. No account or hosted deployment is required. The app files have an ownership record separate from the Noodle workflow skills.',
48
+ '',
49
+ 'A normal `noodle agents setup --write` refreshes Noodle-owned workflow skills but leaves an already installed app product skill unchanged. Regeneration, ownership-schema migration, rename, and removal require `--regenerate-app-skill` and are previewed even when `--write` is present without that flag. `--force` applies only to Noodle-owned project context and never overwrites a modified app-skill file. `--replace-modified-app-skill` is the narrower, separately approved recovery for previously owned app-skill bytes; it never claims unowned collisions or bypasses malformed state.',
32
50
  '',
33
- '`noodle agents setup --write` is idempotent and never overwrites a modified app-skill file. `--force` applies only to Noodle-owned project context, not app product skills. Run `noodle agents doctor --json`: `agent_skill_modified` means preserve and review local bytes; `agent_skill_stale` means source, surface, renderer, or installed files changed, so preview before writing; `agent_skill_invalid_state` means the ownership record is malformed or unsafe, so preserve the files and review the record before retrying.',
51
+ 'Run `noodle agents doctor --json`: `agent_skill_modified` means preserve and review local bytes; `agent_skill_stale` means source, surface, renderer, installed files, or ownership schema changed, so preview explicit regeneration; `agent_skill_invalid_state` means the ownership record is malformed or unsafe, so preserve the files and review the record before retrying.',
34
52
  '',
35
53
  'Recover `agent_guide_*` errors by correcting the guide shape, workflow IDs, and capability kind/name. Remove any credential-shaped value: managed config is referenced by name only.',
36
54
  ].join('\n');
@@ -1 +1 @@
1
- {"version":3,"file":"skill-agent-guide-ref.js","sourceRoot":"","sources":["../src/skill-agent-guide-ref.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,yBAAyB;IACvC,OAAO;QACL,wBAAwB;QACxB,EAAE;QACF,4QAA4Q;QAC5Q,EAAE;QACF,sBAAsB;QACtB,EAAE;QACF,uLAAuL;QACvL,EAAE;QACF,sDAAsD;QACtD,EAAE;QACF,4FAA4F;QAC5F,qGAAqG;QACrG,gLAAgL;QAChL,EAAE;QACF,yXAAyX;QACzX,EAAE;QACF,0SAA0S;QAC1S,EAAE;QACF,oBAAoB;QACpB,EAAE;QACF,uUAAuU;QACvU,EAAE;QACF,ySAAyS;QACzS,EAAE;QACF,mVAAmV;QACnV,EAAE;QACF,oBAAoB;QACpB,EAAE;QACF,4TAA4T;QAC5T,EAAE;QACF,sgBAAsgB;QACtgB,EAAE;QACF,sLAAsL;KACvL,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"skill-agent-guide-ref.js","sourceRoot":"","sources":["../src/skill-agent-guide-ref.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,yBAAyB;IACvC,OAAO;QACL,wBAAwB;QACxB,EAAE;QACF,4QAA4Q;QAC5Q,EAAE;QACF,sBAAsB;QACtB,EAAE;QACF,uLAAuL;QACvL,EAAE;QACF,sDAAsD;QACtD,EAAE;QACF,kOAAkO;QAClO,qGAAqG;QACrG,gLAAgL;QAChL,EAAE;QACF,yXAAyX;QACzX,EAAE;QACF,0SAA0S;QAC1S,EAAE;QACF,qBAAqB;QACrB,EAAE;QACF,kOAAkO;QAClO,EAAE;QACF,2TAA2T;QAC3T,EAAE;QACF,sBAAsB;QACtB,EAAE;QACF,0ZAA0Z;QAC1Z,+PAA+P;QAC/P,6SAA6S;QAC7S,6UAA6U;QAC7U,yOAAyO;QACzO,oaAAoa;QACpa,0dAA0d;QAC1d,EAAE;QACF,oBAAoB;QACpB,EAAE;QACF,uUAAuU;QACvU,EAAE;QACF,ySAAyS;QACzS,EAAE;QACF,mVAAmV;QACnV,EAAE;QACF,oBAAoB;QACpB,EAAE;QACF,uUAAuU;QACvU,EAAE;QACF,ykBAAykB;QACzkB,EAAE;QACF,mXAAmX;QACnX,EAAE;QACF,sLAAsL;KACvL,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC"}
@@ -3,7 +3,7 @@ import type { AgentTarget } from './index.js';
3
3
  export declare const SKILL_DESCRIPTION: string;
4
4
  export type SkillReferencePath = `references/${string}.md`;
5
5
  export declare const APP_DIRECTORY_COMPLIANCE_REFERENCE: SkillReferencePath;
6
- export type SkillRouteId = 'design-product' | 'wrap-existing-app' | 'build-server' | 'connect-api' | 'build-app' | 'verify-recover' | 'debug-recover' | 'inspect-hosted' | 'deploy-hosted' | 'embed-assistant' | 'publish' | 'feedback';
6
+ export type SkillRouteId = 'design-product' | 'create-product-guide' | 'wrap-existing-app' | 'build-server' | 'connect-api' | 'build-app' | 'verify-recover' | 'debug-recover' | 'inspect-hosted' | 'deploy-hosted' | 'embed-assistant' | 'publish' | 'feedback';
7
7
  export interface SkillRoute {
8
8
  readonly id: SkillRouteId;
9
9
  readonly intent: string;
@@ -1 +1 @@
1
- {"version":3,"file":"skill-router.d.ts","sourceRoot":"","sources":["../src/skill-router.ts"],"names":[],"mappings":"AAIA,OAAO,EAAmB,KAAK,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC/E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,eAAO,MAAM,iBAAiB,QAEmC,CAAC;AAElE,MAAM,MAAM,kBAAkB,GAAG,cAAc,MAAM,KAAK,CAAC;AAE3D,eAAO,MAAM,kCAAkC,EAAE,kBACP,CAAC;AAE3C,MAAM,MAAM,YAAY,GACpB,gBAAgB,GAChB,mBAAmB,GACnB,cAAc,GACd,aAAa,GACb,WAAW,GACX,gBAAgB,GAChB,eAAe,GACf,gBAAgB,GAChB,eAAe,GACf,iBAAiB,GACjB,SAAS,GACT,UAAU,CAAC;AAEf,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,EAAE,EAAE,YAAY,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,iBAAiB,CAAC;IAClC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAChC;AAED,eAAO,MAAM,YAAY,EAAE,SAAS,UAAU,EAyF7C,CAAC;AAEF,gFAAgF;AAChF,eAAO,MAAM,qBAAqB,EAAE,SAAS,MAAM,EAwBlD,CAAC;AAkBF,wBAAgB,eAAe,CAAC,OAAO,EAAE,WAAW,GAAG,MAAM,CA2D5D"}
1
+ {"version":3,"file":"skill-router.d.ts","sourceRoot":"","sources":["../src/skill-router.ts"],"names":[],"mappings":"AAIA,OAAO,EAAmB,KAAK,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC/E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,eAAO,MAAM,iBAAiB,QAEmC,CAAC;AAElE,MAAM,MAAM,kBAAkB,GAAG,cAAc,MAAM,KAAK,CAAC;AAE3D,eAAO,MAAM,kCAAkC,EAAE,kBACP,CAAC;AAE3C,MAAM,MAAM,YAAY,GACpB,gBAAgB,GAChB,sBAAsB,GACtB,mBAAmB,GACnB,cAAc,GACd,aAAa,GACb,WAAW,GACX,gBAAgB,GAChB,eAAe,GACf,gBAAgB,GAChB,eAAe,GACf,iBAAiB,GACjB,SAAS,GACT,UAAU,CAAC;AAEf,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,EAAE,EAAE,YAAY,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,iBAAiB,CAAC;IAClC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAChC;AAED,eAAO,MAAM,YAAY,EAAE,SAAS,UAAU,EAgG7C,CAAC;AAEF,gFAAgF;AAChF,eAAO,MAAM,qBAAqB,EAAE,SAAS,MAAM,EAwBlD,CAAC;AAkBF,wBAAgB,eAAe,CAAC,OAAO,EAAE,WAAW,GAAG,MAAM,CA2D5D"}
@@ -12,6 +12,12 @@ export const SKILL_ROUTES = [
12
12
  skill: 'designing-mcp-products',
13
13
  exitCondition: 'The product contract identifies the user benefit, model boundary, evidence, and next implementation skill.',
14
14
  },
15
+ {
16
+ id: 'create-product-guide',
17
+ intent: 'Create, revise, regenerate, or recover the product skill for this MCP server',
18
+ skill: 'creating-product-agent-guides',
19
+ exitCondition: 'The grounded TypeScript guide and generated-file plan are proven, with each approved write applied explicitly or left pending.',
20
+ },
15
21
  {
16
22
  id: 'wrap-existing-app',
17
23
  intent: 'Plan how to wrap an existing application that has no stable usable public API',
@@ -82,7 +88,7 @@ export const SKILL_ROUTES = [
82
88
  /** Complete lookup catalog. Routes above, not this inventory, own discovery. */
83
89
  export const REFERENCE_INDEX_LINES = [
84
90
  '- `references/agent-contract.md` — the `--json` envelope, exit codes, and the three output modes.',
85
- '- `references/product-agent-guides.md` — decide whether a product needs one host-neutral guide, then author it when selected.',
91
+ '- `references/product-agent-guides.md` — decide, interview, propose, prove, preview, and explicitly install one host-neutral product guide.',
86
92
  '- `references/sdk-surface.md` — what to import from `@noodleseed/one` and which builder to use.',
87
93
  '- `references/cli-commands.md` — every `noodle` command, grouped by area.',
88
94
  '- `references/compile-errors.md` — fix `noodle validate` errors by code.',
@@ -137,7 +143,7 @@ export function skillRouterBody(_target) {
137
143
  '',
138
144
  'Choose exactly one primary route from the user outcome below, then load the selected sibling skill and hand off the request. Read that primary reference in full; read supporting references only when the sibling or observed evidence requires them. Do not reread the corpus or restart discovery after the handoff.',
139
145
  '',
140
- 'Apply this precedence when wording overlaps: concrete failure evidence takes the debugging route; an MCP App/UI outcome takes the App route; an existing application with no stable, usable API or specification takes `wrapping-existing-applications`; only when all four API-evidence inputs exist—an API base URL, authentication scheme, representative safe read, and observed response—use `connecting-apis-to-mcp`; missing, stale, inaccessible, undocumented-only, or otherwise unusable evidence remains in `wrapping-existing-applications`; both integration routes take precedence over generic server building; hosted inspection is debugging read-only; hosted mutation requires the explicitly requested deployment route.',
146
+ 'Apply this precedence when wording overlaps: concrete failure evidence takes the debugging route; an explicit request to create, revise, regenerate, or recover an app product skill takes `creating-product-agent-guides`; an MCP App/UI outcome takes the App route; an existing application with no stable, usable API or specification takes `wrapping-existing-applications`; only when all four API-evidence inputs exist—an API base URL, authentication scheme, representative safe read, and observed response—use `connecting-apis-to-mcp`; missing, stale, inaccessible, undocumented-only, or otherwise unusable evidence remains in `wrapping-existing-applications`; both integration routes take precedence over generic server building; hosted inspection is debugging read-only; hosted mutation requires the explicitly requested deployment route.',
141
147
  '',
142
148
  'Negative routing examples: “Inspect hosted logs/status” → `inspect-hosted` (read-only). “Prepare for deployment” → the applicable build or verification route and stop with a handoff; preparation does not authorize `link`, hosted config, deployment, rollback, host writes, or submission. “Keep this local” → a build or verification route, never a hosted route.',
143
149
  '',
@@ -1 +1 @@
1
- {"version":3,"file":"skill-router.js","sourceRoot":"","sources":["../src/skill-router.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skill-router.js","sourceRoot":"","sources":["../src/skill-router.ts"],"names":[],"mappings":"AAAA,gGAAgG;AAChG,2FAA2F;AAC3F,yDAAyD;AAEzD,OAAO,EAAE,eAAe,EAA0B,MAAM,sBAAsB,CAAC;AAG/E,MAAM,CAAC,MAAM,iBAAiB,GAC5B,gGAAgG;IAChG,+DAA+D,CAAC;AAIlE,MAAM,CAAC,MAAM,kCAAkC,GAC7C,wCAAwC,CAAC;AAwB3C,MAAM,CAAC,MAAM,YAAY,GAA0B;IACjD;QACE,EAAE,EAAE,gBAAgB;QACpB,MAAM,EAAE,2EAA2E;QACnF,KAAK,EAAE,wBAAwB;QAC/B,aAAa,EACX,4GAA4G;KAC/G;IACD;QACE,EAAE,EAAE,sBAAsB;QAC1B,MAAM,EAAE,8EAA8E;QACtF,KAAK,EAAE,+BAA+B;QACtC,aAAa,EACX,gIAAgI;KACnI;IACD;QACE,EAAE,EAAE,mBAAmB;QACvB,MAAM,EAAE,+EAA+E;QACvF,KAAK,EAAE,gCAAgC;QACvC,aAAa,EACX,iIAAiI;KACpI;IACD;QACE,EAAE,EAAE,cAAc;QAClB,MAAM,EAAE,uFAAuF;QAC/F,KAAK,EAAE,uBAAuB;QAC9B,aAAa,EACX,2GAA2G;KAC9G;IACD;QACE,EAAE,EAAE,aAAa;QACjB,MAAM,EACJ,uJAAuJ;QACzJ,KAAK,EAAE,wBAAwB;QAC/B,aAAa,EACX,yGAAyG;KAC5G;IACD;QACE,EAAE,EAAE,WAAW;QACf,MAAM,EAAE,wDAAwD;QAChE,KAAK,EAAE,mBAAmB;QAC1B,aAAa,EACX,6FAA6F;KAChG;IACD;QACE,EAAE,EAAE,gBAAgB;QACpB,MAAM,EAAE,uEAAuE;QAC/E,KAAK,EAAE,wBAAwB;QAC/B,aAAa,EACX,gHAAgH;KACnH;IACD;QACE,EAAE,EAAE,eAAe;QACnB,MAAM,EACJ,wFAAwF;QAC1F,KAAK,EAAE,wBAAwB;QAC/B,aAAa,EACX,oGAAoG;KACvG;IACD;QACE,EAAE,EAAE,gBAAgB;QACpB,MAAM,EACJ,4FAA4F;QAC9F,KAAK,EAAE,wBAAwB;QAC/B,aAAa,EACX,gHAAgH;KACnH;IACD;QACE,EAAE,EAAE,eAAe;QACnB,MAAM,EACJ,oHAAoH;QACtH,KAAK,EAAE,wBAAwB;QAC/B,aAAa,EACX,iGAAiG;KACpG;IACD;QACE,EAAE,EAAE,iBAAiB;QACrB,MAAM,EAAE,iEAAiE;QACzE,KAAK,EAAE,0BAA0B;QACjC,aAAa,EACX,0GAA0G;KAC7G;IACD;QACE,EAAE,EAAE,SAAS;QACb,MAAM,EAAE,sDAAsD;QAC9D,KAAK,EAAE,6BAA6B;QACpC,aAAa,EACX,4FAA4F;KAC/F;IACD;QACE,EAAE,EAAE,UAAU;QACd,MAAM,EAAE,qEAAqE;QAC7E,KAAK,EAAE,2BAA2B;QAClC,aAAa,EACX,oHAAoH;KACvH;CACF,CAAC;AAEF,gFAAgF;AAChF,MAAM,CAAC,MAAM,qBAAqB,GAAsB;IACtD,mGAAmG;IACnG,6IAA6I;IAC7I,iGAAiG;IACjG,2EAA2E;IAC3E,0EAA0E;IAC1E,iHAAiH;IACjH,sJAAsJ;IACtJ,8IAA8I;IAC9I,+JAA+J;IAC/J,6HAA6H;IAC7H,gIAAgI;IAChI,oHAAoH;IACpH,sIAAsI;IACtI,oGAAoG;IACpG,uGAAuG;IACvG,+GAA+G;IAC/G,2FAA2F;IAC3F,8GAA8G;IAC9G,gIAAgI;IAChI,qFAAqF;IACrF,OAAO,kCAAkC,0DAA0D;IACnG,kFAAkF;IAClF,mGAAmG;CACpG,CAAC;AAEF,SAAS,eAAe;IACtB,OAAO;QACL,wEAAwE;QACxE,+BAA+B;QAC/B,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YAC5B,MAAM,KAAK,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,KAAK,CAAC,KAAK,CAAC,CAAC;YAClF,IAAI,KAAK,KAAK,SAAS;gBAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;YACzF,MAAM,UAAU,GACd,KAAK,CAAC,oBAAoB,CAAC,MAAM,GAAG,CAAC;gBACnC,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,KAAK,SAAS,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;gBAC9E,CAAC,CAAC,MAAM,CAAC;YACb,OAAO,KAAK,KAAK,CAAC,MAAM,QAAQ,KAAK,CAAC,KAAK,UAAU,KAAK,CAAC,gBAAgB,OAAO,UAAU,OAAO,KAAK,CAAC,aAAa,IAAI,CAAC;QAC7H,CAAC,CAAC;KACH,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,OAAoB;IAClD,MAAM,QAAQ,GACZ,uIAAuI,CAAC;IAC1I,OAAO;QACL,eAAe;QACf,EAAE;QACF,oOAAoO;QACpO,EAAE;QACF,QAAQ;QACR,EAAE;QACF,kJAAkJ;QAClJ,EAAE;QACF,goBAAgoB;QAChoB,EAAE;QACF,sBAAsB;QACtB,EAAE;QACF,yTAAyT;QACzT,EAAE;QACF,w0BAAw0B;QACx0B,EAAE;QACF,yWAAyW;QACzW,EAAE;QACF,GAAG,eAAe,EAAE;QACpB,EAAE;QACF,wBAAwB;QACxB,EAAE;QACF,2MAA2M;QAC3M,EAAE;QACF,4QAA4Q;QAC5Q,EAAE;QACF,yHAAyH;QACzH,uGAAuG;QACvG,wIAAwI;QACxI,kEAAkE;QAClE,qRAAqR;QACrR,qGAAqG;QACrG,EAAE;QACF,6BAA6B;QAC7B,EAAE;QACF,yIAAyI;QACzI,EAAE;QACF,GAAG,qBAAqB;QACxB,EAAE;QACF,qBAAqB;QACrB,EAAE;QACF,0wBAA0wB;QAC1wB,EAAE;QACF,WAAW;QACX,EAAE;QACF,uLAAuL;QACvL,kRAAkR;QAClR,qGAAqG;QACrG,mFAAmF;QACnF,sXAAsX;QACtX,EAAE;QACF,kBAAkB;QAClB,EAAE;QACF,+JAA+J;KAChK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC"}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@noodle-borg/agent-kit",
3
- "version": "0.64.0",
3
+ "version": "0.66.0",
4
4
  "private": true,
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
@@ -26,7 +26,7 @@
26
26
  "@noodle-borg/admission-limits": "0.0.0",
27
27
  "@noodle-borg/compiler": "0.0.0",
28
28
  "@noodle-borg/runtime": "0.0.0",
29
- "@noodleseed/assistant": "workspace:*"
29
+ "@noodleseed/assistant": "1.15.0"
30
30
  },
31
31
  "devDependencies": {
32
32
  "@types/node": "^24.13.1",
@@ -5,6 +5,15 @@ export interface ModelToolCall {
5
5
  readonly name: string;
6
6
  readonly arguments: string;
7
7
  };
8
+ /**
9
+ * Opaque provider round-trip state, echoed back unread on the follow-up request.
10
+ *
11
+ * Gemini 3.x returns a `thought_signature` here and **rejects the next request** without it, so a
12
+ * client that drops this can call a tool once and never finish the turn. The OpenAI wire format
13
+ * reserves `extra_content` for exactly this, so it is passed through rather than special-cased —
14
+ * nothing here reads it, and no provider is named in the code that carries it.
15
+ */
16
+ readonly extra_content?: unknown;
8
17
  }
9
18
  export interface ModelCompletion {
10
19
  readonly choices: readonly {
@@ -1 +1 @@
1
- {"version":3,"file":"assistant-model-stream.d.ts","sourceRoot":"","sources":["../src/assistant-model-stream.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;CAC1E;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,OAAO,EAAE,SAAS;QACzB,QAAQ,CAAC,OAAO,EAAE;YAChB,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;YAC3B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;YACjC,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,aAAa,EAAE,CAAC;SAChD,CAAC;KACH,EAAE,CAAC;CACL;AAQD,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,EAClC,QAAQ,SAAU,GACjB,OAAO,CAAC,eAAe,CAAC,CAkF1B"}
1
+ {"version":3,"file":"assistant-model-stream.d.ts","sourceRoot":"","sources":["../src/assistant-model-stream.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IACzE;;;;;;;OAOG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;CAClC;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,OAAO,EAAE,SAAS;QACzB,QAAQ,CAAC,OAAO,EAAE;YAChB,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;YAC3B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;YACjC,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,aAAa,EAAE,CAAC;SAChD,CAAC;KACH,EAAE,CAAC;CACL;AASD,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,EAClC,QAAQ,SAAU,GACjB,OAAO,CAAC,eAAe,CAAC,CA4F1B"}
@@ -50,6 +50,10 @@ export async function readModelCompletion(response, onContent, maxBytes = 1 << 2
50
50
  current.id += fragment.id ?? '';
51
51
  current.function.name += fragment.function?.name ?? '';
52
52
  current.function.arguments += fragment.function?.arguments ?? '';
53
+ // Last writer wins: a provider may attach its state to any fragment of the call, not only the
54
+ // first, and an absent field must not erase what an earlier fragment supplied.
55
+ if (fragment.extra_content !== undefined)
56
+ current.extra_content = fragment.extra_content;
53
57
  toolCalls.set(fragment.index, current);
54
58
  }
55
59
  }
@@ -66,7 +70,11 @@ export async function readModelCompletion(response, onContent, maxBytes = 1 << 2
66
70
  ? {
67
71
  tool_calls: [...toolCalls.entries()]
68
72
  .sort(([a], [b]) => a - b)
69
- .map(([, call]) => call),
73
+ // Absent means absent: emitting an empty key would change the request shape for
74
+ // every provider, including those that reject unknown fields.
75
+ .map(([, call]) => call.extra_content === undefined
76
+ ? { id: call.id, type: call.type, function: call.function }
77
+ : call),
70
78
  }
71
79
  : {}),
72
80
  },
@@ -1 +1 @@
1
- {"version":3,"file":"assistant-model-stream.js","sourceRoot":"","sources":["../src/assistant-model-stream.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"assistant-model-stream.js","sourceRoot":"","sources":["../src/assistant-model-stream.ts"],"names":[],"mappings":"AAgCA,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,QAAkB,EAClB,SAAkC,EAClC,QAAQ,GAAG,CAAC,IAAI,EAAE;IAElB,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;IAC/D,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;QAC/C,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACvD,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAoB,CAAC;QACvD,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC;QAC/C,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,OAAO,EAAE,OAAO;YAAE,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACjF,OAAO,UAAU,CAAC;IACpB,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAChE,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;IACzC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;IAClC,MAAM,SAAS,GAAG,IAAI,GAAG,EAA2B,CAAC;IACrD,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;QAC5C,KAAK,IAAI,KAAK,EAAE,UAAU,IAAI,CAAC,CAAC;QAChC,IAAI,KAAK,GAAG,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAClE,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;QACpD,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAClE,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACrC,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,MAAM,IAAI,GAAG,KAAK;iBACf,KAAK,CAAC,IAAI,CAAC;iBACX,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;iBAC1C,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;iBAC9C,IAAI,CAAC,IAAI,CAAC,CAAC;YACd,IAAI,CAAC,IAAI,IAAI,IAAI,KAAK,QAAQ;gBAAE,SAAS;YACzC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAc7B,CAAC;YACF,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS;gBAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;YAClF,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC;YACzC,IAAI,KAAK,EAAE,OAAO,EAAE,CAAC;gBACnB,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC;gBACzB,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC3B,CAAC;YACD,KAAK,MAAM,QAAQ,IAAI,KAAK,EAAE,UAAU,IAAI,EAAE,EAAE,CAAC;gBAC/C,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI;oBAC/C,EAAE,EAAE,EAAE;oBACN,IAAI,EAAE,UAAmB;oBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE;iBACtC,CAAC;gBACF,OAAO,CAAC,EAAE,IAAI,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC;gBAChC,OAAO,CAAC,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC;gBACvD,OAAO,CAAC,QAAQ,CAAC,SAAS,IAAI,QAAQ,CAAC,QAAQ,EAAE,SAAS,IAAI,EAAE,CAAC;gBACjE,8FAA8F;gBAC9F,+EAA+E;gBAC/E,IAAI,QAAQ,CAAC,aAAa,KAAK,SAAS;oBAAE,OAAO,CAAC,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC;gBACzF,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YACzC,CAAC;QACH,CAAC;QACD,IAAI,IAAI;YAAE,MAAM;IAClB,CAAC;IACD,OAAO;QACL,OAAO,EAAE;YACP;gBACE,OAAO,EAAE;oBACP,IAAI,EAAE,WAAW;oBACjB,OAAO;oBACP,GAAG,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC;wBACpB,CAAC,CAAC;4BACE,UAAU,EAAE,CAAC,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC;iCACjC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;gCAC1B,gFAAgF;gCAChF,8DAA8D;iCAC7D,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,CAChB,IAAI,CAAC,aAAa,KAAK,SAAS;gCAC9B,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE;gCAC3D,CAAC,CAAC,IAAI,CACT;yBACJ;wBACH,CAAC,CAAC,EAAE,CAAC;iBACR;aACF;SACF;KACF,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,QAAkB,EAAE,QAAgB;IACjE,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IACnC,IAAI,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,UAAU,GAAG,QAAQ,EAAE,CAAC;QACzD,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAC9C,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -28,7 +28,7 @@
28
28
  "dependencies": {
29
29
  "@modelcontextprotocol/sdk": "^1.29.0",
30
30
  "@noodle-borg/admission-limits": "0.0.0",
31
- "@noodle-borg/agent-kit": "0.0.0",
31
+ "@noodle-borg/agent-kit": "0.66.0",
32
32
  "@noodle-borg/app-package": "0.0.0",
33
33
  "@noodle-borg/assistant-gateway": "0.0.0",
34
34
  "@noodle-borg/auth": "0.0.0",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@noodleseed/assistant",
3
- "version": "1.14.0",
3
+ "version": "1.15.0",
4
4
  "description": "Embed the Noodle Seed customer-branded assistant in your web app with a Web Component, managed or custom React UI, DOM-free client, and backend session helper. Authoring and deploying the server is @noodleseed/one.",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2022 WorkOS
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,3 @@
1
+ # `react-primitive`
2
+
3
+ This is an internal utility, not intended for public usage.
@@ -0,0 +1,52 @@
1
+ import * as React from 'react';
2
+
3
+ declare const NODES: readonly ["a", "button", "div", "form", "h2", "h3", "img", "input", "label", "li", "nav", "ol", "p", "select", "span", "svg", "ul"];
4
+ type Primitives = {
5
+ [E in (typeof NODES)[number]]: PrimitiveForwardRefComponent<E>;
6
+ };
7
+ type PrimitivePropsWithRef<E extends React.ElementType> = React.ComponentPropsWithRef<E> & {
8
+ asChild?: boolean;
9
+ };
10
+ interface PrimitiveForwardRefComponent<E extends React.ElementType> extends React.ForwardRefExoticComponent<PrimitivePropsWithRef<E>> {
11
+ }
12
+ declare const Primitive: Primitives;
13
+ /**
14
+ * Flush custom event dispatch
15
+ * https://github.com/radix-ui/primitives/pull/1378
16
+ *
17
+ * React batches *all* event handlers since version 18, this introduces certain considerations when using custom event types.
18
+ *
19
+ * Internally, React prioritises events in the following order:
20
+ * - discrete
21
+ * - continuous
22
+ * - default
23
+ *
24
+ * https://github.com/facebook/react/blob/a8a4742f1c54493df00da648a3f9d26e3db9c8b5/packages/react-dom/src/events/ReactDOMEventListener.js#L294-L350
25
+ *
26
+ * `discrete` is an important distinction as updates within these events are applied immediately.
27
+ * React however, is not able to infer the priority of custom event types due to how they are detected internally.
28
+ * Because of this, it's possible for updates from custom events to be unexpectedly batched when
29
+ * dispatched by another `discrete` event.
30
+ *
31
+ * In order to ensure that updates from custom events are applied predictably, we need to manually flush the batch.
32
+ * This utility should be used when dispatching a custom event from within another `discrete` event, this utility
33
+ * is not necessary when dispatching known event types, or if dispatching a custom type inside a non-discrete event.
34
+ * For example:
35
+ *
36
+ * dispatching a known click 👎
37
+ * target.dispatchEvent(new Event(‘click’))
38
+ *
39
+ * dispatching a custom type within a non-discrete event 👎
40
+ * onScroll={(event) => event.target.dispatchEvent(new CustomEvent(‘customType’))}
41
+ *
42
+ * dispatching a custom type within a `discrete` event 👍
43
+ * onPointerDown={(event) => dispatchDiscreteCustomEvent(event.target, new CustomEvent(‘customType’))}
44
+ *
45
+ * Note: though React classifies `focus`, `focusin` and `focusout` events as `discrete`, it's not recommended to use
46
+ * this utility with them. This is because it's possible for those handlers to be called implicitly during render
47
+ * e.g. when focus is within a component as it is unmounted, or when managing focus on mount.
48
+ */
49
+ declare function dispatchDiscreteCustomEvent<E extends CustomEvent>(target: E['target'], event: E): void;
50
+ declare const Root: Primitives;
51
+
52
+ export { Primitive, type PrimitivePropsWithRef, Root, dispatchDiscreteCustomEvent };
@@ -0,0 +1,52 @@
1
+ import * as React from 'react';
2
+
3
+ declare const NODES: readonly ["a", "button", "div", "form", "h2", "h3", "img", "input", "label", "li", "nav", "ol", "p", "select", "span", "svg", "ul"];
4
+ type Primitives = {
5
+ [E in (typeof NODES)[number]]: PrimitiveForwardRefComponent<E>;
6
+ };
7
+ type PrimitivePropsWithRef<E extends React.ElementType> = React.ComponentPropsWithRef<E> & {
8
+ asChild?: boolean;
9
+ };
10
+ interface PrimitiveForwardRefComponent<E extends React.ElementType> extends React.ForwardRefExoticComponent<PrimitivePropsWithRef<E>> {
11
+ }
12
+ declare const Primitive: Primitives;
13
+ /**
14
+ * Flush custom event dispatch
15
+ * https://github.com/radix-ui/primitives/pull/1378
16
+ *
17
+ * React batches *all* event handlers since version 18, this introduces certain considerations when using custom event types.
18
+ *
19
+ * Internally, React prioritises events in the following order:
20
+ * - discrete
21
+ * - continuous
22
+ * - default
23
+ *
24
+ * https://github.com/facebook/react/blob/a8a4742f1c54493df00da648a3f9d26e3db9c8b5/packages/react-dom/src/events/ReactDOMEventListener.js#L294-L350
25
+ *
26
+ * `discrete` is an important distinction as updates within these events are applied immediately.
27
+ * React however, is not able to infer the priority of custom event types due to how they are detected internally.
28
+ * Because of this, it's possible for updates from custom events to be unexpectedly batched when
29
+ * dispatched by another `discrete` event.
30
+ *
31
+ * In order to ensure that updates from custom events are applied predictably, we need to manually flush the batch.
32
+ * This utility should be used when dispatching a custom event from within another `discrete` event, this utility
33
+ * is not necessary when dispatching known event types, or if dispatching a custom type inside a non-discrete event.
34
+ * For example:
35
+ *
36
+ * dispatching a known click 👎
37
+ * target.dispatchEvent(new Event(‘click’))
38
+ *
39
+ * dispatching a custom type within a non-discrete event 👎
40
+ * onScroll={(event) => event.target.dispatchEvent(new CustomEvent(‘customType’))}
41
+ *
42
+ * dispatching a custom type within a `discrete` event 👍
43
+ * onPointerDown={(event) => dispatchDiscreteCustomEvent(event.target, new CustomEvent(‘customType’))}
44
+ *
45
+ * Note: though React classifies `focus`, `focusin` and `focusout` events as `discrete`, it's not recommended to use
46
+ * this utility with them. This is because it's possible for those handlers to be called implicitly during render
47
+ * e.g. when focus is within a component as it is unmounted, or when managing focus on mount.
48
+ */
49
+ declare function dispatchDiscreteCustomEvent<E extends CustomEvent>(target: E['target'], event: E): void;
50
+ declare const Root: Primitives;
51
+
52
+ export { Primitive, type PrimitivePropsWithRef, Root, dispatchDiscreteCustomEvent };