@exellix/ai-skills 5.8.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 (251) hide show
  1. package/README.md +600 -0
  2. package/dist/analysis/analyze-skill-request.d.ts +12 -0
  3. package/dist/analysis/analyze-skill-request.d.ts.map +1 -0
  4. package/dist/analysis/analyze-skill-request.js +201 -0
  5. package/dist/analysis/analyze-skill-request.js.map +1 -0
  6. package/dist/analysis/build-skill-request-analysis-packet.d.ts +14 -0
  7. package/dist/analysis/build-skill-request-analysis-packet.d.ts.map +1 -0
  8. package/dist/analysis/build-skill-request-analysis-packet.js +106 -0
  9. package/dist/analysis/build-skill-request-analysis-packet.js.map +1 -0
  10. package/dist/analysis/collect-deterministic-findings.d.ts +14 -0
  11. package/dist/analysis/collect-deterministic-findings.d.ts.map +1 -0
  12. package/dist/analysis/collect-deterministic-findings.js +221 -0
  13. package/dist/analysis/collect-deterministic-findings.js.map +1 -0
  14. package/dist/analysis/constants.d.ts +5 -0
  15. package/dist/analysis/constants.d.ts.map +1 -0
  16. package/dist/analysis/constants.js +5 -0
  17. package/dist/analysis/constants.js.map +1 -0
  18. package/dist/analysis/format-skill-request-analysis-markdown.d.ts +8 -0
  19. package/dist/analysis/format-skill-request-analysis-markdown.d.ts.map +1 -0
  20. package/dist/analysis/format-skill-request-analysis-markdown.js +121 -0
  21. package/dist/analysis/format-skill-request-analysis-markdown.js.map +1 -0
  22. package/dist/analysis/path-utils.d.ts +11 -0
  23. package/dist/analysis/path-utils.d.ts.map +1 -0
  24. package/dist/analysis/path-utils.js +69 -0
  25. package/dist/analysis/path-utils.js.map +1 -0
  26. package/dist/analysis/sanitize-for-packet.d.ts +28 -0
  27. package/dist/analysis/sanitize-for-packet.d.ts.map +1 -0
  28. package/dist/analysis/sanitize-for-packet.js +107 -0
  29. package/dist/analysis/sanitize-for-packet.js.map +1 -0
  30. package/dist/analysis/types.d.ts +139 -0
  31. package/dist/analysis/types.d.ts.map +1 -0
  32. package/dist/analysis/types.js +2 -0
  33. package/dist/analysis/types.js.map +1 -0
  34. package/dist/catalog/canonical-skill-key.d.ts +5 -0
  35. package/dist/catalog/canonical-skill-key.d.ts.map +1 -0
  36. package/dist/catalog/canonical-skill-key.js +16 -0
  37. package/dist/catalog/canonical-skill-key.js.map +1 -0
  38. package/dist/catalog/constants.d.ts +7 -0
  39. package/dist/catalog/constants.d.ts.map +1 -0
  40. package/dist/catalog/constants.js +7 -0
  41. package/dist/catalog/constants.js.map +1 -0
  42. package/dist/catalog/env.d.ts +4 -0
  43. package/dist/catalog/env.d.ts.map +1 -0
  44. package/dist/catalog/env.js +15 -0
  45. package/dist/catalog/env.js.map +1 -0
  46. package/dist/catalog/gateway-template.d.ts +6 -0
  47. package/dist/catalog/gateway-template.d.ts.map +1 -0
  48. package/dist/catalog/gateway-template.js +15 -0
  49. package/dist/catalog/gateway-template.js.map +1 -0
  50. package/dist/catalog/index.d.ts +3 -0
  51. package/dist/catalog/index.d.ts.map +1 -0
  52. package/dist/catalog/index.js +3 -0
  53. package/dist/catalog/index.js.map +1 -0
  54. package/dist/catalog/seed.d.ts +12 -0
  55. package/dist/catalog/seed.d.ts.map +1 -0
  56. package/dist/catalog/seed.js +45 -0
  57. package/dist/catalog/seed.js.map +1 -0
  58. package/dist/catalog/skill-catalog.d.ts +28 -0
  59. package/dist/catalog/skill-catalog.d.ts.map +1 -0
  60. package/dist/catalog/skill-catalog.js +139 -0
  61. package/dist/catalog/skill-catalog.js.map +1 -0
  62. package/dist/catalog/store-factory.d.ts +18 -0
  63. package/dist/catalog/store-factory.d.ts.map +1 -0
  64. package/dist/catalog/store-factory.js +36 -0
  65. package/dist/catalog/store-factory.js.map +1 -0
  66. package/dist/catalog/types.d.ts +61 -0
  67. package/dist/catalog/types.d.ts.map +1 -0
  68. package/dist/catalog/types.js +22 -0
  69. package/dist/catalog/types.js.map +1 -0
  70. package/dist/catalox/ai-engines-catalog.d.ts +24 -0
  71. package/dist/catalox/ai-engines-catalog.d.ts.map +1 -0
  72. package/dist/catalox/ai-engines-catalog.js +89 -0
  73. package/dist/catalox/ai-engines-catalog.js.map +1 -0
  74. package/dist/catalox/ai-skills-catalog.d.ts +32 -0
  75. package/dist/catalox/ai-skills-catalog.d.ts.map +1 -0
  76. package/dist/catalox/ai-skills-catalog.js +202 -0
  77. package/dist/catalox/ai-skills-catalog.js.map +1 -0
  78. package/dist/catalox/catalox-skill-errors.d.ts +15 -0
  79. package/dist/catalox/catalox-skill-errors.d.ts.map +1 -0
  80. package/dist/catalox/catalox-skill-errors.js +29 -0
  81. package/dist/catalox/catalox-skill-errors.js.map +1 -0
  82. package/dist/catalox/index.d.ts +10 -0
  83. package/dist/catalox/index.d.ts.map +1 -0
  84. package/dist/catalox/index.js +10 -0
  85. package/dist/catalox/index.js.map +1 -0
  86. package/dist/catalox/init-firebase-and-catalox.d.ts +8 -0
  87. package/dist/catalox/init-firebase-and-catalox.d.ts.map +1 -0
  88. package/dist/catalox/init-firebase-and-catalox.js +48 -0
  89. package/dist/catalox/init-firebase-and-catalox.js.map +1 -0
  90. package/dist/catalox/list-ai-skills-catalog.d.ts +24 -0
  91. package/dist/catalox/list-ai-skills-catalog.d.ts.map +1 -0
  92. package/dist/catalox/list-ai-skills-catalog.js +38 -0
  93. package/dist/catalox/list-ai-skills-catalog.js.map +1 -0
  94. package/dist/catalox/skill-gateway-template-utils.d.ts +11 -0
  95. package/dist/catalox/skill-gateway-template-utils.d.ts.map +1 -0
  96. package/dist/catalox/skill-gateway-template-utils.js +31 -0
  97. package/dist/catalox/skill-gateway-template-utils.js.map +1 -0
  98. package/dist/catalox/skill-template-catalog-mutations.d.ts +143 -0
  99. package/dist/catalox/skill-template-catalog-mutations.d.ts.map +1 -0
  100. package/dist/catalox/skill-template-catalog-mutations.js +470 -0
  101. package/dist/catalox/skill-template-catalog-mutations.js.map +1 -0
  102. package/dist/catalox/skill-template-markdown.d.ts +34 -0
  103. package/dist/catalox/skill-template-markdown.d.ts.map +1 -0
  104. package/dist/catalox/skill-template-markdown.js +106 -0
  105. package/dist/catalox/skill-template-markdown.js.map +1 -0
  106. package/dist/catalox/skill-templates.d.ts +72 -0
  107. package/dist/catalox/skill-templates.d.ts.map +1 -0
  108. package/dist/catalox/skill-templates.js +80 -0
  109. package/dist/catalox/skill-templates.js.map +1 -0
  110. package/dist/client/audit-manager.d.ts +27 -0
  111. package/dist/client/audit-manager.d.ts.map +1 -0
  112. package/dist/client/audit-manager.js +260 -0
  113. package/dist/client/audit-manager.js.map +1 -0
  114. package/dist/client/base-client.d.ts +19 -0
  115. package/dist/client/base-client.d.ts.map +1 -0
  116. package/dist/client/base-client.js +20 -0
  117. package/dist/client/base-client.js.map +1 -0
  118. package/dist/client/build-gateway-invoke-request.d.ts +32 -0
  119. package/dist/client/build-gateway-invoke-request.d.ts.map +1 -0
  120. package/dist/client/build-gateway-invoke-request.js +135 -0
  121. package/dist/client/build-gateway-invoke-request.js.map +1 -0
  122. package/dist/client/invoke-skill-via-funcx.d.ts +11 -0
  123. package/dist/client/invoke-skill-via-funcx.d.ts.map +1 -0
  124. package/dist/client/invoke-skill-via-funcx.js +51 -0
  125. package/dist/client/invoke-skill-via-funcx.js.map +1 -0
  126. package/dist/client/registry-manager.d.ts +94 -0
  127. package/dist/client/registry-manager.d.ts.map +1 -0
  128. package/dist/client/registry-manager.js +287 -0
  129. package/dist/client/registry-manager.js.map +1 -0
  130. package/dist/client/skill-executor.d.ts +35 -0
  131. package/dist/client/skill-executor.d.ts.map +1 -0
  132. package/dist/client/skill-executor.js +316 -0
  133. package/dist/client/skill-executor.js.map +1 -0
  134. package/dist/client/task-executor.d.ts +21 -0
  135. package/dist/client/task-executor.d.ts.map +1 -0
  136. package/dist/client/task-executor.js +50 -0
  137. package/dist/client/task-executor.js.map +1 -0
  138. package/dist/client.d.ts +116 -0
  139. package/dist/client.d.ts.map +1 -0
  140. package/dist/client.js +406 -0
  141. package/dist/client.js.map +1 -0
  142. package/dist/diagnostics/gateway-usage.d.ts +3 -0
  143. package/dist/diagnostics/gateway-usage.d.ts.map +1 -0
  144. package/dist/diagnostics/gateway-usage.js +26 -0
  145. package/dist/diagnostics/gateway-usage.js.map +1 -0
  146. package/dist/diagnostics/map-gateway-trace.d.ts +43 -0
  147. package/dist/diagnostics/map-gateway-trace.d.ts.map +1 -0
  148. package/dist/diagnostics/map-gateway-trace.js +243 -0
  149. package/dist/diagnostics/map-gateway-trace.js.map +1 -0
  150. package/dist/diagnostics/trace-mode.d.ts +9 -0
  151. package/dist/diagnostics/trace-mode.d.ts.map +1 -0
  152. package/dist/diagnostics/trace-mode.js +8 -0
  153. package/dist/diagnostics/trace-mode.js.map +1 -0
  154. package/dist/index.d.ts +34 -0
  155. package/dist/index.d.ts.map +1 -0
  156. package/dist/index.js +28 -0
  157. package/dist/index.js.map +1 -0
  158. package/dist/metadata.d.ts +7 -0
  159. package/dist/metadata.d.ts.map +1 -0
  160. package/dist/metadata.js +65 -0
  161. package/dist/metadata.js.map +1 -0
  162. package/dist/parsers/context-parser.d.ts +2 -0
  163. package/dist/parsers/context-parser.d.ts.map +1 -0
  164. package/dist/parsers/context-parser.js +5 -0
  165. package/dist/parsers/context-parser.js.map +1 -0
  166. package/dist/parsers/input-parser.d.ts +2 -0
  167. package/dist/parsers/input-parser.d.ts.map +1 -0
  168. package/dist/parsers/input-parser.js +5 -0
  169. package/dist/parsers/input-parser.js.map +1 -0
  170. package/dist/runtime-objects.d.ts +11 -0
  171. package/dist/runtime-objects.d.ts.map +1 -0
  172. package/dist/runtime-objects.js +21 -0
  173. package/dist/runtime-objects.js.map +1 -0
  174. package/dist/skill-execution-trace-error.d.ts +20 -0
  175. package/dist/skill-execution-trace-error.d.ts.map +1 -0
  176. package/dist/skill-execution-trace-error.js +21 -0
  177. package/dist/skill-execution-trace-error.js.map +1 -0
  178. package/dist/types.d.ts +534 -0
  179. package/dist/types.d.ts.map +1 -0
  180. package/dist/types.js +2 -0
  181. package/dist/types.js.map +1 -0
  182. package/dist/utils/build-activix-billing-patch.d.ts +24 -0
  183. package/dist/utils/build-activix-billing-patch.d.ts.map +1 -0
  184. package/dist/utils/build-activix-billing-patch.js +70 -0
  185. package/dist/utils/build-activix-billing-patch.js.map +1 -0
  186. package/dist/utils/enrich-activix-identity.d.ts +30 -0
  187. package/dist/utils/enrich-activix-identity.d.ts.map +1 -0
  188. package/dist/utils/enrich-activix-identity.js +34 -0
  189. package/dist/utils/enrich-activix-identity.js.map +1 -0
  190. package/dist/utils/exellix-skills-logxer-defaults.d.ts +16 -0
  191. package/dist/utils/exellix-skills-logxer-defaults.d.ts.map +1 -0
  192. package/dist/utils/exellix-skills-logxer-defaults.js +37 -0
  193. package/dist/utils/exellix-skills-logxer-defaults.js.map +1 -0
  194. package/dist/utils/flex-md-parser.d.ts +23 -0
  195. package/dist/utils/flex-md-parser.d.ts.map +1 -0
  196. package/dist/utils/flex-md-parser.js +98 -0
  197. package/dist/utils/flex-md-parser.js.map +1 -0
  198. package/dist/utils/gateway-execution-summary.d.ts +18 -0
  199. package/dist/utils/gateway-execution-summary.d.ts.map +1 -0
  200. package/dist/utils/gateway-execution-summary.js +42 -0
  201. package/dist/utils/gateway-execution-summary.js.map +1 -0
  202. package/dist/utils/gateway-invoke-rejection.d.ts +9 -0
  203. package/dist/utils/gateway-invoke-rejection.d.ts.map +1 -0
  204. package/dist/utils/gateway-invoke-rejection.js +28 -0
  205. package/dist/utils/gateway-invoke-rejection.js.map +1 -0
  206. package/dist/utils/normalize-billing-metadata.d.ts +17 -0
  207. package/dist/utils/normalize-billing-metadata.d.ts.map +1 -0
  208. package/dist/utils/normalize-billing-metadata.js +75 -0
  209. package/dist/utils/normalize-billing-metadata.js.map +1 -0
  210. package/dist/utils/normalize-output-parsed.d.ts +25 -0
  211. package/dist/utils/normalize-output-parsed.d.ts.map +1 -0
  212. package/dist/utils/normalize-output-parsed.js +128 -0
  213. package/dist/utils/normalize-output-parsed.js.map +1 -0
  214. package/dist/utils/patch-activix-activity-after-skill.d.ts +19 -0
  215. package/dist/utils/patch-activix-activity-after-skill.d.ts.map +1 -0
  216. package/dist/utils/patch-activix-activity-after-skill.js +81 -0
  217. package/dist/utils/patch-activix-activity-after-skill.js.map +1 -0
  218. package/dist/utils/rendrix-render-skill-templates.d.ts +14 -0
  219. package/dist/utils/rendrix-render-skill-templates.d.ts.map +1 -0
  220. package/dist/utils/rendrix-render-skill-templates.js +25 -0
  221. package/dist/utils/rendrix-render-skill-templates.js.map +1 -0
  222. package/dist/utils/resolve-activity-id.d.ts +9 -0
  223. package/dist/utils/resolve-activity-id.d.ts.map +1 -0
  224. package/dist/utils/resolve-activity-id.js +27 -0
  225. package/dist/utils/resolve-activity-id.js.map +1 -0
  226. package/dist/utils/resolve-gateway-job-task-ids.d.ts +19 -0
  227. package/dist/utils/resolve-gateway-job-task-ids.d.ts.map +1 -0
  228. package/dist/utils/resolve-gateway-job-task-ids.js +21 -0
  229. package/dist/utils/resolve-gateway-job-task-ids.js.map +1 -0
  230. package/dist/utils/resolve-identity.d.ts +12 -0
  231. package/dist/utils/resolve-identity.d.ts.map +1 -0
  232. package/dist/utils/resolve-identity.js +36 -0
  233. package/dist/utils/resolve-identity.js.map +1 -0
  234. package/dist/utils/resolve-run-skill-ai-engine.d.ts +8 -0
  235. package/dist/utils/resolve-run-skill-ai-engine.d.ts.map +1 -0
  236. package/dist/utils/resolve-run-skill-ai-engine.js +20 -0
  237. package/dist/utils/resolve-run-skill-ai-engine.js.map +1 -0
  238. package/dist/utils/run-skill-request.d.ts +11 -0
  239. package/dist/utils/run-skill-request.d.ts.map +1 -0
  240. package/dist/utils/run-skill-request.js +44 -0
  241. package/dist/utils/run-skill-request.js.map +1 -0
  242. package/dist/utils/validate-mandatory-activix-invoke-fields.d.ts +7 -0
  243. package/dist/utils/validate-mandatory-activix-invoke-fields.d.ts.map +1 -0
  244. package/dist/utils/validate-mandatory-activix-invoke-fields.js +16 -0
  245. package/dist/utils/validate-mandatory-activix-invoke-fields.js.map +1 -0
  246. package/dist/utils/validate-session-id.d.ts +6 -0
  247. package/dist/utils/validate-session-id.d.ts.map +1 -0
  248. package/dist/utils/validate-session-id.js +18 -0
  249. package/dist/utils/validate-session-id.js.map +1 -0
  250. package/erc-manifest.json +11 -0
  251. package/package.json +76 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skill-template-catalog-mutations.d.ts","sourceRoot":"","sources":["../../src/catalox/skill-template-catalog-mutations.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,470 @@
1
+ import { AI_SKILLS_CATALOG_ID, computeSkillRowStatus } from "./ai-skills-catalog.js";
2
+ import { CataloxSkillAlreadyExistsError, CataloxSkillNotFoundError } from "./catalox-skill-errors.js";
3
+ import { catalogItemIdFromSkillKey } from "./skill-templates.js";
4
+ import { extractTemplateTokensFromTexts, extractTokenNamesFromStrings, normalizeForStorage, toPresentationMarkdown, } from "./skill-template-markdown.js";
5
+ /** Stable role ids for template bodies (matches Catalox `*Text` fields). */
6
+ export const SKILL_TEMPLATE_ROLES_ORDER = ["instructions", "prompt", "auditInstructions", "auditPrompt"];
7
+ function isSkillTemplateRole(s) {
8
+ return SKILL_TEMPLATE_ROLES_ORDER.includes(s);
9
+ }
10
+ function appendParentSkillKeyIfPresent(data, payload) {
11
+ const p = asString(data.parentSkillKey);
12
+ if (p.length > 0) {
13
+ payload.parentSkillKey = p;
14
+ }
15
+ }
16
+ function asSkillCatalogStatus(v) {
17
+ if (v === "draft" || v === "published" || v === "planned")
18
+ return v;
19
+ return "planned";
20
+ }
21
+ function asString(v) {
22
+ return typeof v === "string" ? v : "";
23
+ }
24
+ /**
25
+ * Loads skill template bodies from Catalox and returns markdown formatted for editors / presentation.
26
+ * Requires Catalox read access for `appId` + catalog binding.
27
+ */
28
+ export async function getSkillTemplatesForPresentation(catalox, context, skillKey, options = {}) {
29
+ const catalogItemId = catalogItemIdFromSkillKey(skillKey);
30
+ const res = await catalox.getCatalogItem(context, AI_SKILLS_CATALOG_ID, catalogItemId);
31
+ if (res.outcome === "not_found") {
32
+ throw new CataloxSkillNotFoundError(skillKey, catalogItemId);
33
+ }
34
+ if (res.outcome === "mapping_blocked") {
35
+ throw new Error(`[AI-SKILLS] Catalox mapping blocked for skill ${catalogItemId}`);
36
+ }
37
+ const data = (res.item.data ?? {});
38
+ const shortKey = asString(data.skillKey) || catalogItemId;
39
+ const ins = asString(data.instructionsText);
40
+ const pr = asString(data.promptText);
41
+ const out = {
42
+ skillKey: shortKey,
43
+ catalogItemId,
44
+ status: asSkillCatalogStatus(data.status),
45
+ title: asString(data.title) || shortKey,
46
+ description: asString(data.description),
47
+ isLocal: data.isLocal === true,
48
+ instructionsMarkdown: ins ? toPresentationMarkdown(ins) : "",
49
+ promptMarkdown: pr ? toPresentationMarkdown(pr) : "",
50
+ };
51
+ if (options.includeAudit === true) {
52
+ const ains = asString(data.auditInstructionsText);
53
+ const apr = asString(data.auditPromptText);
54
+ if (ains)
55
+ out.auditInstructionsMarkdown = toPresentationMarkdown(ains);
56
+ if (apr)
57
+ out.auditPromptMarkdown = toPresentationMarkdown(apr);
58
+ }
59
+ return out;
60
+ }
61
+ async function loadAiSkillsItemDataOrThrow(catalox, context, skillKey) {
62
+ const catalogItemId = catalogItemIdFromSkillKey(skillKey);
63
+ const res = await catalox.getCatalogItem(context, AI_SKILLS_CATALOG_ID, catalogItemId);
64
+ if (res.outcome === "not_found") {
65
+ throw new CataloxSkillNotFoundError(skillKey, catalogItemId);
66
+ }
67
+ if (res.outcome === "mapping_blocked") {
68
+ throw new Error(`[AI-SKILLS] Catalox mapping blocked for skill ${catalogItemId}`);
69
+ }
70
+ return (res.item.data ?? {});
71
+ }
72
+ /**
73
+ * Template bodies as `{ role, content }[]` (presentation markdown). Always four entries in stable order.
74
+ */
75
+ export async function getSkillContent(catalox, context, skillKey) {
76
+ const data = await loadAiSkillsItemDataOrThrow(catalox, context, skillKey);
77
+ return SKILL_TEMPLATE_ROLES_ORDER.map((role) => {
78
+ const raw = role === "instructions"
79
+ ? asString(data.instructionsText)
80
+ : role === "prompt"
81
+ ? asString(data.promptText)
82
+ : role === "auditInstructions"
83
+ ? asString(data.auditInstructionsText)
84
+ : asString(data.auditPromptText);
85
+ return { role, content: raw ? toPresentationMarkdown(raw) : "" };
86
+ });
87
+ }
88
+ /**
89
+ * Unique `{{token}}` names across all template bodies (same presentation strings as {@link getSkillContent}).
90
+ */
91
+ export async function getSkillTokens(catalox, context, skillKey) {
92
+ const data = await loadAiSkillsItemDataOrThrow(catalox, context, skillKey);
93
+ const contents = SKILL_TEMPLATE_ROLES_ORDER.map((role) => {
94
+ const raw = role === "instructions"
95
+ ? asString(data.instructionsText)
96
+ : role === "prompt"
97
+ ? asString(data.promptText)
98
+ : role === "auditInstructions"
99
+ ? asString(data.auditInstructionsText)
100
+ : asString(data.auditPromptText);
101
+ return raw ? toPresentationMarkdown(raw) : "";
102
+ });
103
+ return extractTokenNamesFromStrings(contents);
104
+ }
105
+ /**
106
+ * Partial template update by role. Returns structured success/failure (including Catalox/not-found errors).
107
+ */
108
+ export async function modifySkillContent(catalox, context, skillKey, parts, options) {
109
+ try {
110
+ if (parts.length === 0) {
111
+ return {
112
+ success: false,
113
+ error: "[AI-SKILLS] modifySkillContent: parts must include at least one role.",
114
+ };
115
+ }
116
+ const seen = new Set();
117
+ const patch = {};
118
+ for (const p of parts) {
119
+ if (!isSkillTemplateRole(p.role)) {
120
+ return {
121
+ success: false,
122
+ error: `[AI-SKILLS] modifySkillContent: unknown role "${String(p.role)}".`,
123
+ };
124
+ }
125
+ if (seen.has(p.role)) {
126
+ return {
127
+ success: false,
128
+ error: `[AI-SKILLS] modifySkillContent: duplicate role "${p.role}".`,
129
+ };
130
+ }
131
+ seen.add(p.role);
132
+ if (p.role === "instructions") {
133
+ patch.instructionsMarkdown = p.content;
134
+ }
135
+ else if (p.role === "prompt") {
136
+ patch.promptMarkdown = p.content;
137
+ }
138
+ else if (p.role === "auditInstructions") {
139
+ patch.auditInstructionsMarkdown = p.content;
140
+ }
141
+ else {
142
+ patch.auditPromptMarkdown = p.content;
143
+ }
144
+ }
145
+ await updateSkillTemplatesFromPresentation(catalox, context, skillKey, patch, options);
146
+ return { success: true };
147
+ }
148
+ catch (e) {
149
+ const msg = e instanceof Error ? e.message : String(e);
150
+ return { success: false, error: msg };
151
+ }
152
+ }
153
+ /**
154
+ * Merges edited markdown into the native catalog item and upserts the full row.
155
+ * Requires Catalox **write** access (e.g. god-mode or app binding with write).
156
+ *
157
+ * @throws CataloxSkillNotFoundError when the item does not exist.
158
+ */
159
+ export async function updateSkillTemplatesFromPresentation(catalox, context, skillKey, patch, options) {
160
+ const keys = Object.keys(patch).filter((k) => patch[k] !== undefined);
161
+ if (keys.length === 0) {
162
+ throw new Error("[AI-SKILLS] updateSkillTemplatesFromPresentation: patch must include at least one field.");
163
+ }
164
+ const catalogItemId = catalogItemIdFromSkillKey(skillKey);
165
+ const res = await catalox.getCatalogItem(context, AI_SKILLS_CATALOG_ID, catalogItemId);
166
+ if (res.outcome === "not_found") {
167
+ throw new CataloxSkillNotFoundError(skillKey, catalogItemId);
168
+ }
169
+ if (res.outcome === "mapping_blocked") {
170
+ throw new Error(`[AI-SKILLS] Catalox mapping blocked for skill ${catalogItemId}`);
171
+ }
172
+ const data = (res.item.data ?? {});
173
+ let instructionsText = asString(data.instructionsText);
174
+ let promptText = asString(data.promptText);
175
+ let auditInstructionsText = asString(data.auditInstructionsText);
176
+ let auditPromptText = asString(data.auditPromptText);
177
+ if (patch.instructionsMarkdown !== undefined) {
178
+ instructionsText = normalizeForStorage(patch.instructionsMarkdown);
179
+ }
180
+ if (patch.promptMarkdown !== undefined) {
181
+ promptText = normalizeForStorage(patch.promptMarkdown);
182
+ }
183
+ if (patch.auditInstructionsMarkdown !== undefined) {
184
+ auditInstructionsText = normalizeForStorage(patch.auditInstructionsMarkdown);
185
+ }
186
+ if (patch.auditPromptMarkdown !== undefined) {
187
+ auditPromptText = normalizeForStorage(patch.auditPromptMarkdown);
188
+ }
189
+ const prevStatus = asSkillCatalogStatus(data.status);
190
+ const catalogReleaseStatus = options?.catalogReleaseStatus !== undefined
191
+ ? options.catalogReleaseStatus
192
+ : prevStatus === "published"
193
+ ? "published"
194
+ : undefined;
195
+ const status = computeSkillRowStatus(instructionsText || undefined, promptText || undefined, catalogReleaseStatus);
196
+ const shortKey = asString(data.skillKey) || catalogItemId;
197
+ const payload = {
198
+ skillKey: shortKey,
199
+ title: asString(data.title) || shortKey,
200
+ description: asString(data.description),
201
+ isLocal: data.isLocal === true,
202
+ status,
203
+ instructionsText,
204
+ promptText,
205
+ };
206
+ if (auditInstructionsText.length > 0 || patch.auditInstructionsMarkdown !== undefined) {
207
+ payload.auditInstructionsText = auditInstructionsText;
208
+ }
209
+ if (auditPromptText.length > 0 || patch.auditPromptMarkdown !== undefined) {
210
+ payload.auditPromptText = auditPromptText;
211
+ }
212
+ appendParentSkillKeyIfPresent(data, payload);
213
+ await catalox.batchUpsertNativeCatalogItems(context, AI_SKILLS_CATALOG_ID, [payload]);
214
+ }
215
+ /**
216
+ * Creates or updates a full skill catalog row (metadata + optional template markdown).
217
+ * Uses read–merge–write when the item exists; otherwise writes a new row.
218
+ * Requires Catalox **write** access.
219
+ *
220
+ * @throws CataloxSkillAlreadyExistsError when `options.ifNotExists` is true and the item exists.
221
+ */
222
+ export async function upsertSkillCatalogItem(catalox, context, input, options) {
223
+ const catalogItemId = catalogItemIdFromSkillKey(input.skillKey);
224
+ const res = await catalox.getCatalogItem(context, AI_SKILLS_CATALOG_ID, catalogItemId);
225
+ if (res.outcome === "mapping_blocked") {
226
+ throw new Error(`[AI-SKILLS] Catalox mapping blocked for skill ${catalogItemId}`);
227
+ }
228
+ if (options?.ifNotExists === true && res.outcome === "found") {
229
+ throw new CataloxSkillAlreadyExistsError(input.skillKey, catalogItemId);
230
+ }
231
+ let instructionsText = "";
232
+ let promptText = "";
233
+ let auditInstructionsText = "";
234
+ let auditPromptText = "";
235
+ let prevStatus = "planned";
236
+ if (res.outcome === "found") {
237
+ const data = (res.item.data ?? {});
238
+ prevStatus = asSkillCatalogStatus(data.status);
239
+ instructionsText = asString(data.instructionsText);
240
+ promptText = asString(data.promptText);
241
+ auditInstructionsText = asString(data.auditInstructionsText);
242
+ auditPromptText = asString(data.auditPromptText);
243
+ }
244
+ if (input.instructionsMarkdown !== undefined) {
245
+ instructionsText = normalizeForStorage(input.instructionsMarkdown);
246
+ }
247
+ if (input.promptMarkdown !== undefined) {
248
+ promptText = normalizeForStorage(input.promptMarkdown);
249
+ }
250
+ if (input.auditInstructionsMarkdown !== undefined) {
251
+ auditInstructionsText = normalizeForStorage(input.auditInstructionsMarkdown);
252
+ }
253
+ if (input.auditPromptMarkdown !== undefined) {
254
+ auditPromptText = normalizeForStorage(input.auditPromptMarkdown);
255
+ }
256
+ const shortKey = res.outcome === "found"
257
+ ? asString((res.item.data ?? {}).skillKey) || catalogItemId
258
+ : catalogItemId;
259
+ const catalogReleaseStatus = input.catalogReleaseStatus !== undefined
260
+ ? input.catalogReleaseStatus
261
+ : prevStatus === "published"
262
+ ? "published"
263
+ : undefined;
264
+ const status = computeSkillRowStatus(instructionsText || undefined, promptText || undefined, catalogReleaseStatus);
265
+ const payload = {
266
+ skillKey: shortKey,
267
+ title: input.title || shortKey,
268
+ description: input.description,
269
+ isLocal: input.isLocal,
270
+ status,
271
+ instructionsText,
272
+ promptText,
273
+ };
274
+ if (auditInstructionsText.length > 0 || input.auditInstructionsMarkdown !== undefined) {
275
+ payload.auditInstructionsText = auditInstructionsText;
276
+ }
277
+ if (auditPromptText.length > 0 || input.auditPromptMarkdown !== undefined) {
278
+ payload.auditPromptText = auditPromptText;
279
+ }
280
+ if (res.outcome === "found") {
281
+ appendParentSkillKeyIfPresent((res.item.data ?? {}), payload);
282
+ }
283
+ await catalox.batchUpsertNativeCatalogItems(context, AI_SKILLS_CATALOG_ID, [payload]);
284
+ }
285
+ /**
286
+ * Soft-deletes a skill: clears template bodies and audit fields and sets status to `planned`.
287
+ * Requires Catalox **write** access.
288
+ *
289
+ * @throws CataloxSkillNotFoundError when the item does not exist.
290
+ */
291
+ export async function softDeleteSkillCatalogItem(catalox, context, skillKey) {
292
+ const catalogItemId = catalogItemIdFromSkillKey(skillKey);
293
+ const res = await catalox.getCatalogItem(context, AI_SKILLS_CATALOG_ID, catalogItemId);
294
+ if (res.outcome === "not_found") {
295
+ throw new CataloxSkillNotFoundError(skillKey, catalogItemId);
296
+ }
297
+ if (res.outcome === "mapping_blocked") {
298
+ throw new Error(`[AI-SKILLS] Catalox mapping blocked for skill ${catalogItemId}`);
299
+ }
300
+ const data = (res.item.data ?? {});
301
+ const shortKey = asString(data.skillKey) || catalogItemId;
302
+ const title = asString(data.title) || shortKey;
303
+ const description = asString(data.description);
304
+ const isLocal = data.isLocal === true;
305
+ const instructionsText = "";
306
+ const promptText = "";
307
+ const status = computeSkillRowStatus(undefined, undefined, undefined);
308
+ const payload = {
309
+ skillKey: shortKey,
310
+ title,
311
+ description,
312
+ isLocal,
313
+ status,
314
+ instructionsText,
315
+ promptText,
316
+ auditInstructionsText: "",
317
+ auditPromptText: "",
318
+ };
319
+ appendParentSkillKeyIfPresent(data, payload);
320
+ await catalox.batchUpsertNativeCatalogItems(context, AI_SKILLS_CATALOG_ID, [payload]);
321
+ }
322
+ /**
323
+ * Duplicates a catalog skill into a new key, marking it with `parentSkillKey`. Structured success/failure.
324
+ */
325
+ export async function createSubSkill(catalox, context, input) {
326
+ try {
327
+ const sourceItemId = catalogItemIdFromSkillKey(input.sourceSkillKey);
328
+ const newItemId = catalogItemIdFromSkillKey(input.newSkillKey);
329
+ if (sourceItemId === newItemId) {
330
+ return {
331
+ success: false,
332
+ error: "[AI-SKILLS] createSubSkill: sourceSkillKey and newSkillKey must differ.",
333
+ };
334
+ }
335
+ const srcRes = await catalox.getCatalogItem(context, AI_SKILLS_CATALOG_ID, sourceItemId);
336
+ if (srcRes.outcome === "not_found") {
337
+ return {
338
+ success: false,
339
+ error: `[AI-SKILLS] createSubSkill: source skill not found (${input.sourceSkillKey}).`,
340
+ };
341
+ }
342
+ if (srcRes.outcome === "mapping_blocked") {
343
+ return {
344
+ success: false,
345
+ error: `[AI-SKILLS] Catalox mapping blocked for skill ${sourceItemId}`,
346
+ };
347
+ }
348
+ const tgtRes = await catalox.getCatalogItem(context, AI_SKILLS_CATALOG_ID, newItemId);
349
+ if (tgtRes.outcome === "mapping_blocked") {
350
+ return {
351
+ success: false,
352
+ error: `[AI-SKILLS] Catalox mapping blocked for skill ${newItemId}`,
353
+ };
354
+ }
355
+ if (tgtRes.outcome === "found") {
356
+ return {
357
+ success: false,
358
+ error: `[AI-SKILLS] createSubSkill: target skill already exists (${input.newSkillKey}).`,
359
+ };
360
+ }
361
+ const sourceData = (srcRes.item.data ?? {});
362
+ const parentShortKey = asString(sourceData.skillKey) || sourceItemId;
363
+ const ov = input.overrides ?? {};
364
+ let instructionsText = asString(sourceData.instructionsText);
365
+ let promptText = asString(sourceData.promptText);
366
+ let auditInstructionsText = asString(sourceData.auditInstructionsText);
367
+ let auditPromptText = asString(sourceData.auditPromptText);
368
+ if (ov.instructionsMarkdown !== undefined) {
369
+ instructionsText = normalizeForStorage(ov.instructionsMarkdown);
370
+ }
371
+ if (ov.promptMarkdown !== undefined) {
372
+ promptText = normalizeForStorage(ov.promptMarkdown);
373
+ }
374
+ if (ov.auditInstructionsMarkdown !== undefined) {
375
+ auditInstructionsText = normalizeForStorage(ov.auditInstructionsMarkdown);
376
+ }
377
+ if (ov.auditPromptMarkdown !== undefined) {
378
+ auditPromptText = normalizeForStorage(ov.auditPromptMarkdown);
379
+ }
380
+ const newShortKey = newItemId;
381
+ const title = ov.title !== undefined ? ov.title : asString(sourceData.title) || newShortKey;
382
+ const description = ov.description !== undefined ? ov.description : asString(sourceData.description);
383
+ const isLocal = ov.isLocal !== undefined ? ov.isLocal : sourceData.isLocal === true;
384
+ const prevStatus = asSkillCatalogStatus(sourceData.status);
385
+ const catalogReleaseStatus = ov.catalogReleaseStatus !== undefined
386
+ ? ov.catalogReleaseStatus
387
+ : prevStatus === "published"
388
+ ? "published"
389
+ : undefined;
390
+ const status = computeSkillRowStatus(instructionsText || undefined, promptText || undefined, catalogReleaseStatus);
391
+ const payload = {
392
+ skillKey: newShortKey,
393
+ parentSkillKey: parentShortKey,
394
+ title: title || newShortKey,
395
+ description,
396
+ isLocal,
397
+ status,
398
+ instructionsText,
399
+ promptText,
400
+ };
401
+ if (auditInstructionsText.length > 0 || ov.auditInstructionsMarkdown !== undefined) {
402
+ payload.auditInstructionsText = auditInstructionsText;
403
+ }
404
+ if (auditPromptText.length > 0 || ov.auditPromptMarkdown !== undefined) {
405
+ payload.auditPromptText = auditPromptText;
406
+ }
407
+ await catalox.batchUpsertNativeCatalogItems(context, AI_SKILLS_CATALOG_ID, [payload]);
408
+ return { success: true };
409
+ }
410
+ catch (e) {
411
+ const msg = e instanceof Error ? e.message : String(e);
412
+ return { success: false, error: msg };
413
+ }
414
+ }
415
+ /**
416
+ * Deletes a native catalog row only when it is a sub-skill (`parentSkillKey` set).
417
+ */
418
+ export async function deleteSubSkill(catalox, context, subSkillKey) {
419
+ try {
420
+ const catalogItemId = catalogItemIdFromSkillKey(subSkillKey);
421
+ const res = await catalox.getCatalogItem(context, AI_SKILLS_CATALOG_ID, catalogItemId);
422
+ if (res.outcome === "not_found") {
423
+ return {
424
+ success: false,
425
+ error: `[AI-SKILLS] deleteSubSkill: skill not found (${subSkillKey}).`,
426
+ };
427
+ }
428
+ if (res.outcome === "mapping_blocked") {
429
+ return {
430
+ success: false,
431
+ error: `[AI-SKILLS] Catalox mapping blocked for skill ${catalogItemId}`,
432
+ };
433
+ }
434
+ const data = (res.item.data ?? {});
435
+ const parent = asString(data.parentSkillKey);
436
+ if (parent.length === 0) {
437
+ return {
438
+ success: false,
439
+ error: "[AI-SKILLS] deleteSubSkill: only sub-skills (rows with parentSkillKey) can be deleted.",
440
+ };
441
+ }
442
+ await catalox.deleteNativeCatalogItem(context, AI_SKILLS_CATALOG_ID, catalogItemId);
443
+ return { success: true };
444
+ }
445
+ catch (e) {
446
+ const msg = e instanceof Error ? e.message : String(e);
447
+ return { success: false, error: msg };
448
+ }
449
+ }
450
+ /**
451
+ * Returns unique `{{token}}` names from raw Catalox template strings (before presentation transforms).
452
+ */
453
+ export async function getSkillTemplateInputs(catalox, context, skillKey) {
454
+ const catalogItemId = catalogItemIdFromSkillKey(skillKey);
455
+ const res = await catalox.getCatalogItem(context, AI_SKILLS_CATALOG_ID, catalogItemId);
456
+ if (res.outcome === "not_found") {
457
+ throw new CataloxSkillNotFoundError(skillKey, catalogItemId);
458
+ }
459
+ if (res.outcome === "mapping_blocked") {
460
+ throw new Error(`[AI-SKILLS] Catalox mapping blocked for skill ${catalogItemId}`);
461
+ }
462
+ const data = (res.item.data ?? {});
463
+ return extractTemplateTokensFromTexts({
464
+ instructionsText: asString(data.instructionsText) || undefined,
465
+ promptText: asString(data.promptText) || undefined,
466
+ auditInstructionsText: asString(data.auditInstructionsText) || undefined,
467
+ auditPromptText: asString(data.auditPromptText) || undefined,
468
+ });
469
+ }
470
+ //# sourceMappingURL=skill-template-catalog-mutations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skill-template-catalog-mutations.js","sourceRoot":"","sources":["../../src/catalox/skill-template-catalog-mutations.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ export type ExtractedTemplateInputs = {
2
+ /** All unique token names (sorted). */
3
+ tokens: string[];
4
+ /** `input` when present in templates (matches gateway `workingMemory.input`). */
5
+ primaryPayloadToken: string | null;
6
+ /** Other tokens (excluding `input`). */
7
+ variableTokens: string[];
8
+ };
9
+ /**
10
+ * Lossless canonical form for Catalox / Firestore before gateway invoke.
11
+ * Normalizes line endings, trims trailing spaces per line, collapses excessive blank lines, then applies
12
+ * {@link ensureGatewayTreatsAsTemplateText} so nx-content never treats the body as a registry key.
13
+ */
14
+ export declare function normalizeForStorage(markdown: string): string;
15
+ /**
16
+ * Markdown suitable for editors / presentation (readable spacing, headings separated).
17
+ * Inverse of storage normalization where possible; heading breaks are heuristic when content is dense.
18
+ */
19
+ export declare function toPresentationMarkdown(stored: string): string;
20
+ /**
21
+ * Collects `{{token}}` placeholders from template bodies (raw Catalox strings).
22
+ * Does not parse nested mustache blocks beyond skipping odd token names.
23
+ */
24
+ export declare function extractTemplateTokensFromTexts(parts: {
25
+ instructionsText?: string;
26
+ promptText?: string;
27
+ auditInstructionsText?: string;
28
+ auditPromptText?: string;
29
+ }): ExtractedTemplateInputs;
30
+ /**
31
+ * Unique `{{token}}` names from arbitrary template strings (same rules as {@link extractTemplateTokensFromTexts}).
32
+ */
33
+ export declare function extractTokenNamesFromStrings(contents: string[]): string[];
34
+ //# sourceMappingURL=skill-template-markdown.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skill-template-markdown.d.ts","sourceRoot":"","sources":["../../src/catalox/skill-template-markdown.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,uBAAuB,GAAG;IAClC,uCAAuC;IACvC,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,iFAAiF;IACjF,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,wCAAwC;IACxC,cAAc,EAAE,MAAM,EAAE,CAAC;CAC5B,CAAC;AAmBF;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAM5D;AA6BD;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAQ7D;AAaD;;;GAGG;AACH,wBAAgB,8BAA8B,CAAC,KAAK,EAAE;IAClD,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,eAAe,CAAC,EAAE,MAAM,CAAC;CAC5B,GAAG,uBAAuB,CAU1B;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAMzE"}
@@ -0,0 +1,106 @@
1
+ import { ensureGatewayTreatsAsTemplateText } from "./skill-gateway-template-utils.js";
2
+ /** Mustache-style placeholders: `{{token}}` with conservative token names. */
3
+ const TOKEN_PATTERN = /\{\{\s*([A-Za-z_][\w.-]*)\s*\}\}/gu;
4
+ function normalizeLineEndings(text) {
5
+ return text.replace(/\r\n/g, "\n").replace(/\r/g, "\n");
6
+ }
7
+ /** Trims trailing spaces/tabs on each line; keeps blank lines. */
8
+ function trimTrailingSpacesPerLine(text) {
9
+ return text
10
+ .split("\n")
11
+ .map((line) => line.replace(/[ \t]+$/u, ""))
12
+ .join("\n");
13
+ }
14
+ /** Collapses 3+ consecutive newlines to exactly 2. */
15
+ function collapseExcessiveBlankLines(text) {
16
+ return text.replace(/\n{3,}/g, "\n\n");
17
+ }
18
+ /**
19
+ * Lossless canonical form for Catalox / Firestore before gateway invoke.
20
+ * Normalizes line endings, trims trailing spaces per line, collapses excessive blank lines, then applies
21
+ * {@link ensureGatewayTreatsAsTemplateText} so nx-content never treats the body as a registry key.
22
+ */
23
+ export function normalizeForStorage(markdown) {
24
+ let t = normalizeLineEndings(markdown);
25
+ t = trimTrailingSpacesPerLine(t);
26
+ t = collapseExcessiveBlankLines(t);
27
+ t = t.trim();
28
+ return ensureGatewayTreatsAsTemplateText(t);
29
+ }
30
+ /**
31
+ * Reverses the trailing newline that {@link ensureGatewayTreatsAsTemplateText} may append for whitespace-free bodies.
32
+ */
33
+ function stripGatewayTemplateSuffix(text) {
34
+ const t = normalizeLineEndings(text);
35
+ const trimmedEnd = t.replace(/\n+$/u, "");
36
+ if (trimmedEnd.length === 0)
37
+ return t.trim();
38
+ if (!/\s/u.test(trimmedEnd)) {
39
+ return trimmedEnd;
40
+ }
41
+ return t.trimEnd();
42
+ }
43
+ /**
44
+ * Heuristic: insert blank lines before ATX headings when the body is mostly one line or lacks spacing before `#`.
45
+ * Can mis-handle rare cases (e.g. `#` inside inline text).
46
+ */
47
+ function beautifyHeadingBreaks(text) {
48
+ const t = text.trim();
49
+ if (t.length === 0)
50
+ return t;
51
+ const newlineCount = (t.match(/\n/g) ?? []).length;
52
+ if (newlineCount >= 3)
53
+ return text;
54
+ const withBreaks = t.replace(/([^\n])(#{1,6}\s)/gu, "$1\n\n$2");
55
+ return withBreaks === t ? text : withBreaks;
56
+ }
57
+ /**
58
+ * Markdown suitable for editors / presentation (readable spacing, headings separated).
59
+ * Inverse of storage normalization where possible; heading breaks are heuristic when content is dense.
60
+ */
61
+ export function toPresentationMarkdown(stored) {
62
+ let t = stripGatewayTemplateSuffix(stored);
63
+ t = normalizeLineEndings(t);
64
+ t = trimTrailingSpacesPerLine(t);
65
+ t = collapseExcessiveBlankLines(t);
66
+ t = t.trim();
67
+ t = beautifyHeadingBreaks(t);
68
+ return t.trim();
69
+ }
70
+ function collectTokensFromString(s, into) {
71
+ if (typeof s !== "string" || s.length === 0)
72
+ return;
73
+ for (const m of s.matchAll(TOKEN_PATTERN)) {
74
+ const name = m[1];
75
+ if (name.startsWith("#") || name.startsWith("/") || name.startsWith("!") || name.startsWith("^")) {
76
+ continue;
77
+ }
78
+ into.add(name);
79
+ }
80
+ }
81
+ /**
82
+ * Collects `{{token}}` placeholders from template bodies (raw Catalox strings).
83
+ * Does not parse nested mustache blocks beyond skipping odd token names.
84
+ */
85
+ export function extractTemplateTokensFromTexts(parts) {
86
+ const set = new Set();
87
+ collectTokensFromString(parts.instructionsText, set);
88
+ collectTokensFromString(parts.promptText, set);
89
+ collectTokensFromString(parts.auditInstructionsText, set);
90
+ collectTokensFromString(parts.auditPromptText, set);
91
+ const tokens = [...set].sort((a, b) => a.localeCompare(b));
92
+ const primaryPayloadToken = set.has("input") ? "input" : null;
93
+ const variableTokens = tokens.filter((x) => x !== "input");
94
+ return { tokens, primaryPayloadToken, variableTokens };
95
+ }
96
+ /**
97
+ * Unique `{{token}}` names from arbitrary template strings (same rules as {@link extractTemplateTokensFromTexts}).
98
+ */
99
+ export function extractTokenNamesFromStrings(contents) {
100
+ const set = new Set();
101
+ for (const s of contents) {
102
+ collectTokensFromString(s, set);
103
+ }
104
+ return [...set].sort((a, b) => a.localeCompare(b));
105
+ }
106
+ //# sourceMappingURL=skill-template-markdown.js.map