agentix-cli 0.130.0 → 0.132.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 (211) hide show
  1. package/dist/{App-DWSHIDN6.js → App-VPYWOTTH.js} +2 -2
  2. package/dist/{ChatApp-CROSI7JM.js → ChatApp-SNED4KJB.js} +2 -2
  3. package/dist/absorb-eval-WGO4JWTO.js +2 -0
  4. package/dist/{agent-4AQOFPRD.js → agent-HXQYYLWZ.js} +2 -2
  5. package/dist/article-sync-4NOPOQU7.js +2 -0
  6. package/dist/{board-dashboard-54A3XTV5.js → board-dashboard-44JPXA7J.js} +330 -235
  7. package/dist/board-dashboard-44JPXA7J.js.map +1 -0
  8. package/dist/{builtin-W6KNX7RS.js → builtin-YD7MC572.js} +2 -2
  9. package/dist/chunk-2ZDV3DCT.js +52 -0
  10. package/dist/chunk-2ZDV3DCT.js.map +1 -0
  11. package/dist/{chunk-QXZLYCEZ.js → chunk-3K35L73A.js} +3 -3
  12. package/dist/chunk-3K35L73A.js.map +1 -0
  13. package/dist/chunk-3UOTLMXD.js +4 -0
  14. package/dist/chunk-3UOTLMXD.js.map +1 -0
  15. package/dist/{chunk-LJWEJ6UZ.js → chunk-3WYLK3SX.js} +2 -2
  16. package/dist/chunk-5BI2T3WD.js +3 -0
  17. package/dist/chunk-5BI2T3WD.js.map +1 -0
  18. package/dist/{chunk-UBA2QJCY.js → chunk-62NXS7PT.js} +272 -247
  19. package/dist/chunk-62NXS7PT.js.map +1 -0
  20. package/dist/chunk-6TURWSMN.js +3 -0
  21. package/dist/{chunk-VD7IO653.js.map → chunk-6TURWSMN.js.map} +1 -1
  22. package/dist/{chunk-I4GT27UO.js → chunk-724IBN5Y.js} +2 -2
  23. package/dist/{chunk-NR7WLMNI.js → chunk-74LPAKQY.js} +2 -2
  24. package/dist/chunk-7D3RJSN4.js +156 -0
  25. package/dist/chunk-7D3RJSN4.js.map +1 -0
  26. package/dist/{chunk-BGG3ZSMW.js → chunk-7LN4VKDU.js} +14 -16
  27. package/dist/chunk-7LN4VKDU.js.map +1 -0
  28. package/dist/chunk-7VLLZQ3N.js +2 -0
  29. package/dist/chunk-7VLLZQ3N.js.map +1 -0
  30. package/dist/{chunk-LLLBH2HH.js → chunk-A6QJ4VFT.js} +2 -2
  31. package/dist/{chunk-SCJ5ZXEN.js → chunk-B2QYMUTD.js} +2 -2
  32. package/dist/{chunk-SCJ5ZXEN.js.map → chunk-B2QYMUTD.js.map} +1 -1
  33. package/dist/chunk-BIJHMWXK.js +21 -0
  34. package/dist/chunk-BIJHMWXK.js.map +1 -0
  35. package/dist/{chunk-4VDA4UM7.js → chunk-BKHIR2YJ.js} +2 -2
  36. package/dist/{chunk-5VKFIBXY.js → chunk-CM74OUXW.js} +2 -2
  37. package/dist/chunk-EQ33PFXP.js +55 -0
  38. package/dist/chunk-EQ33PFXP.js.map +1 -0
  39. package/dist/chunk-HF5EF335.js +8 -0
  40. package/dist/chunk-HF5EF335.js.map +1 -0
  41. package/dist/chunk-IMLAPB7G.js +4 -0
  42. package/dist/chunk-IMLAPB7G.js.map +1 -0
  43. package/dist/{chunk-U2EHJZAZ.js → chunk-JNKATLF7.js} +2 -2
  44. package/dist/{chunk-3PGPN323.js → chunk-JP5OAMWQ.js} +1 -1
  45. package/dist/chunk-JP5OAMWQ.js.map +1 -0
  46. package/dist/chunk-JRVJXAVC.js +861 -0
  47. package/dist/chunk-JRVJXAVC.js.map +1 -0
  48. package/dist/{chunk-J4I5ZJ2V.js → chunk-KDQI5S7F.js} +2 -2
  49. package/dist/chunk-KFIJDLQ5.js +3 -0
  50. package/dist/chunk-KFIJDLQ5.js.map +1 -0
  51. package/dist/{chunk-MZJY26FW.js → chunk-KKQPV6SO.js} +2 -2
  52. package/dist/{chunk-WX67I2KN.js → chunk-KQH4LPYC.js} +2 -2
  53. package/dist/chunk-MCBTVNPX.js +152 -0
  54. package/dist/chunk-MCBTVNPX.js.map +1 -0
  55. package/dist/{chunk-YHCPBMRH.js → chunk-MDGYSHO5.js} +2 -2
  56. package/dist/chunk-MRIVENBY.js +2 -0
  57. package/dist/{article-sync-TLZTHRZB.js.map → chunk-MRIVENBY.js.map} +1 -1
  58. package/dist/{chunk-242MPMJX.js → chunk-QNKSRROH.js} +2 -2
  59. package/dist/{chunk-GLQLCBJS.js → chunk-QSKG754X.js} +6 -3
  60. package/dist/chunk-QSKG754X.js.map +1 -0
  61. package/dist/{chunk-HF4OXA5L.js → chunk-RH3J4LCP.js} +3 -3
  62. package/dist/{chunk-QPYN2UTV.js → chunk-RYGVTAP4.js} +2 -2
  63. package/dist/chunk-S2RRPTS3.js +54 -0
  64. package/dist/chunk-S2RRPTS3.js.map +1 -0
  65. package/dist/{chunk-5KKXJZZ4.js → chunk-UDMI4TYM.js} +2 -2
  66. package/dist/{chunk-TJDNS5G6.js → chunk-VCQVF44A.js} +2 -2
  67. package/dist/{chunk-TN5A7PLU.js → chunk-WWNZL7XB.js} +2 -2
  68. package/dist/{chunk-Q5FEWCS5.js → chunk-XWVBLISN.js} +2 -2
  69. package/dist/{chunk-AD4QZZVN.js → chunk-YXFTUOZR.js} +2 -2
  70. package/dist/{chunk-RKB7FQJF.js → chunk-Z7RJ3K3J.js} +2 -2
  71. package/dist/{chunk-N2YSVZML.js → chunk-ZG4G6BFP.js} +2 -2
  72. package/dist/cli.js +1 -1
  73. package/dist/{client-KGWYROLX.js → client-TXZF32NO.js} +2 -2
  74. package/dist/config-ZIXIH23X.js +2 -0
  75. package/dist/{config-mutate-7BLOYRZF.js → config-mutate-KDBXIN7R.js} +2 -2
  76. package/dist/config-mutator-HKFGPJMG.js +2 -0
  77. package/dist/{contributions-DLUQEAGL.js → contributions-FBVULRR4.js} +2 -2
  78. package/dist/{contributions-DLUQEAGL.js.map → contributions-FBVULRR4.js.map} +1 -1
  79. package/dist/{doctor-32YP26SJ.js → doctor-NBWYG743.js} +2 -2
  80. package/dist/enrich-NH3WHKD6.js +16 -0
  81. package/dist/enrich-NH3WHKD6.js.map +1 -0
  82. package/dist/{failure-candidates-JNGUVBDG.js → failure-candidates-XZSZP4HT.js} +2 -2
  83. package/dist/{follow-up-tool-AQ7NYZZR.js → follow-up-tool-E5XKSPKA.js} +2 -2
  84. package/dist/graph-EXDH7EPZ.js +2 -0
  85. package/dist/hub-3QTJ7E3O.js +2 -0
  86. package/dist/index.d.ts +577 -3
  87. package/dist/index.js +1 -1
  88. package/dist/index.js.map +1 -1
  89. package/dist/load-5DNMGHFW.js +2 -0
  90. package/dist/model-call-BGTDPWZD.js +2 -0
  91. package/dist/notes-WJJEJ4CJ.js +2 -0
  92. package/dist/processes-M3N3S7V5.js +2 -0
  93. package/dist/program-SA5O6IQ3.js +776 -0
  94. package/dist/program-SA5O6IQ3.js.map +1 -0
  95. package/dist/{promote-R7FKN5SY.js → promote-4XHYWHLA.js} +2 -2
  96. package/dist/query-ZGD32CE2.js +2 -0
  97. package/dist/query-settings-BSDXFS3V.js +3 -0
  98. package/dist/query-settings-BSDXFS3V.js.map +1 -0
  99. package/dist/registry-LM35AE2P.js +2 -0
  100. package/dist/{request-planner-LEUMSI2K.js → request-planner-4BAAOUBH.js} +2 -2
  101. package/dist/{review-candidates-MOSGA4IS.js → review-candidates-TM53WR7G.js} +2 -2
  102. package/dist/roster-IRXP32XF.js +2 -0
  103. package/dist/{rotation-memo-7VLREGS6.js → rotation-memo-2G6N3VF3.js} +2 -2
  104. package/dist/{routing-FSJ42RZH.js → routing-QLS6UMLM.js} +2 -2
  105. package/dist/schedule-tool-TTCWBAQ4.js +2 -0
  106. package/dist/{scheduler-6AQDHQI4.js → scheduler-PVXLF2VJ.js} +2 -2
  107. package/dist/scheduler-PVXLF2VJ.js.map +1 -0
  108. package/dist/{seat-O37EQRHE.js → seat-OUUN3F45.js} +2 -2
  109. package/dist/seat-OUUN3F45.js.map +1 -0
  110. package/dist/{select-XO2STSQN.js → select-D7UUSODY.js} +2 -2
  111. package/dist/{set-enabled-ZNEPEFGF.js → set-enabled-FDNS6KW6.js} +2 -2
  112. package/dist/summaries-BIRSNWGH.js +2 -0
  113. package/dist/summaries-BIRSNWGH.js.map +1 -0
  114. package/dist/{tool-PH45YCO5.js → tool-J5FM3OPM.js} +2 -2
  115. package/dist/{tool-6KMEAY4U.js → tool-SCBQYDI3.js} +2 -2
  116. package/dist/wiki-IGRRQL6H.js +2 -0
  117. package/dist/wiki-IGRRQL6H.js.map +1 -0
  118. package/dist/workspace-env-ROH45HXN.js +2 -0
  119. package/dist/workspace-env-ROH45HXN.js.map +1 -0
  120. package/package.json +1 -1
  121. package/dist/absorb-eval-MNGQ752C.js +0 -2
  122. package/dist/article-sync-TLZTHRZB.js +0 -2
  123. package/dist/board-dashboard-54A3XTV5.js.map +0 -1
  124. package/dist/chunk-3PGPN323.js.map +0 -1
  125. package/dist/chunk-76Z4VHDX.js +0 -8
  126. package/dist/chunk-76Z4VHDX.js.map +0 -1
  127. package/dist/chunk-AERIU4AH.js +0 -892
  128. package/dist/chunk-AERIU4AH.js.map +0 -1
  129. package/dist/chunk-BGG3ZSMW.js.map +0 -1
  130. package/dist/chunk-EO4DEEXL.js +0 -2
  131. package/dist/chunk-EO4DEEXL.js.map +0 -1
  132. package/dist/chunk-GLQLCBJS.js.map +0 -1
  133. package/dist/chunk-I4OQQRY2.js +0 -55
  134. package/dist/chunk-I4OQQRY2.js.map +0 -1
  135. package/dist/chunk-JE5EJGGD.js +0 -4
  136. package/dist/chunk-JE5EJGGD.js.map +0 -1
  137. package/dist/chunk-QX2B4TJU.js +0 -3
  138. package/dist/chunk-QX2B4TJU.js.map +0 -1
  139. package/dist/chunk-QXZLYCEZ.js.map +0 -1
  140. package/dist/chunk-UBA2QJCY.js.map +0 -1
  141. package/dist/chunk-UUFJQMHE.js +0 -54
  142. package/dist/chunk-UUFJQMHE.js.map +0 -1
  143. package/dist/chunk-VD7IO653.js +0 -3
  144. package/dist/chunk-W2HEJKJR.js +0 -156
  145. package/dist/chunk-W2HEJKJR.js.map +0 -1
  146. package/dist/config-FNTLKUGA.js +0 -2
  147. package/dist/config-mutator-NCLHYPJ3.js +0 -2
  148. package/dist/graph-5ZJ7YACP.js +0 -2
  149. package/dist/hub-Q3I4ALQ2.js +0 -2
  150. package/dist/load-NK3MIYXP.js +0 -2
  151. package/dist/notes-TMAGEDUS.js +0 -2
  152. package/dist/processes-5MP32QZT.js +0 -2
  153. package/dist/program-FESSM5TY.js +0 -766
  154. package/dist/program-FESSM5TY.js.map +0 -1
  155. package/dist/query-YTKTNXCQ.js +0 -2
  156. package/dist/registry-7L4RUATA.js +0 -2
  157. package/dist/schedule-tool-4T2VZIDW.js +0 -2
  158. package/dist/wiki-4HD4FZ4W.js +0 -2
  159. /package/dist/{App-DWSHIDN6.js.map → App-VPYWOTTH.js.map} +0 -0
  160. /package/dist/{ChatApp-CROSI7JM.js.map → ChatApp-SNED4KJB.js.map} +0 -0
  161. /package/dist/{absorb-eval-MNGQ752C.js.map → absorb-eval-WGO4JWTO.js.map} +0 -0
  162. /package/dist/{agent-4AQOFPRD.js.map → agent-HXQYYLWZ.js.map} +0 -0
  163. /package/dist/{builtin-W6KNX7RS.js.map → article-sync-4NOPOQU7.js.map} +0 -0
  164. /package/dist/{client-KGWYROLX.js.map → builtin-YD7MC572.js.map} +0 -0
  165. /package/dist/{chunk-LJWEJ6UZ.js.map → chunk-3WYLK3SX.js.map} +0 -0
  166. /package/dist/{chunk-I4GT27UO.js.map → chunk-724IBN5Y.js.map} +0 -0
  167. /package/dist/{chunk-NR7WLMNI.js.map → chunk-74LPAKQY.js.map} +0 -0
  168. /package/dist/{chunk-LLLBH2HH.js.map → chunk-A6QJ4VFT.js.map} +0 -0
  169. /package/dist/{chunk-4VDA4UM7.js.map → chunk-BKHIR2YJ.js.map} +0 -0
  170. /package/dist/{chunk-5VKFIBXY.js.map → chunk-CM74OUXW.js.map} +0 -0
  171. /package/dist/{chunk-U2EHJZAZ.js.map → chunk-JNKATLF7.js.map} +0 -0
  172. /package/dist/{chunk-J4I5ZJ2V.js.map → chunk-KDQI5S7F.js.map} +0 -0
  173. /package/dist/{chunk-MZJY26FW.js.map → chunk-KKQPV6SO.js.map} +0 -0
  174. /package/dist/{chunk-WX67I2KN.js.map → chunk-KQH4LPYC.js.map} +0 -0
  175. /package/dist/{chunk-YHCPBMRH.js.map → chunk-MDGYSHO5.js.map} +0 -0
  176. /package/dist/{chunk-242MPMJX.js.map → chunk-QNKSRROH.js.map} +0 -0
  177. /package/dist/{chunk-HF4OXA5L.js.map → chunk-RH3J4LCP.js.map} +0 -0
  178. /package/dist/{chunk-QPYN2UTV.js.map → chunk-RYGVTAP4.js.map} +0 -0
  179. /package/dist/{chunk-5KKXJZZ4.js.map → chunk-UDMI4TYM.js.map} +0 -0
  180. /package/dist/{chunk-TJDNS5G6.js.map → chunk-VCQVF44A.js.map} +0 -0
  181. /package/dist/{chunk-TN5A7PLU.js.map → chunk-WWNZL7XB.js.map} +0 -0
  182. /package/dist/{chunk-Q5FEWCS5.js.map → chunk-XWVBLISN.js.map} +0 -0
  183. /package/dist/{chunk-AD4QZZVN.js.map → chunk-YXFTUOZR.js.map} +0 -0
  184. /package/dist/{chunk-RKB7FQJF.js.map → chunk-Z7RJ3K3J.js.map} +0 -0
  185. /package/dist/{chunk-N2YSVZML.js.map → chunk-ZG4G6BFP.js.map} +0 -0
  186. /package/dist/{config-FNTLKUGA.js.map → client-TXZF32NO.js.map} +0 -0
  187. /package/dist/{config-mutate-7BLOYRZF.js.map → config-ZIXIH23X.js.map} +0 -0
  188. /package/dist/{config-mutator-NCLHYPJ3.js.map → config-mutate-KDBXIN7R.js.map} +0 -0
  189. /package/dist/{doctor-32YP26SJ.js.map → config-mutator-HKFGPJMG.js.map} +0 -0
  190. /package/dist/{failure-candidates-JNGUVBDG.js.map → doctor-NBWYG743.js.map} +0 -0
  191. /package/dist/{graph-5ZJ7YACP.js.map → failure-candidates-XZSZP4HT.js.map} +0 -0
  192. /package/dist/{follow-up-tool-AQ7NYZZR.js.map → follow-up-tool-E5XKSPKA.js.map} +0 -0
  193. /package/dist/{hub-Q3I4ALQ2.js.map → graph-EXDH7EPZ.js.map} +0 -0
  194. /package/dist/{load-NK3MIYXP.js.map → hub-3QTJ7E3O.js.map} +0 -0
  195. /package/dist/{notes-TMAGEDUS.js.map → load-5DNMGHFW.js.map} +0 -0
  196. /package/dist/{processes-5MP32QZT.js.map → model-call-BGTDPWZD.js.map} +0 -0
  197. /package/dist/{promote-R7FKN5SY.js.map → notes-WJJEJ4CJ.js.map} +0 -0
  198. /package/dist/{query-YTKTNXCQ.js.map → processes-M3N3S7V5.js.map} +0 -0
  199. /package/dist/{registry-7L4RUATA.js.map → promote-4XHYWHLA.js.map} +0 -0
  200. /package/dist/{routing-FSJ42RZH.js.map → query-ZGD32CE2.js.map} +0 -0
  201. /package/dist/{schedule-tool-4T2VZIDW.js.map → registry-LM35AE2P.js.map} +0 -0
  202. /package/dist/{request-planner-LEUMSI2K.js.map → request-planner-4BAAOUBH.js.map} +0 -0
  203. /package/dist/{review-candidates-MOSGA4IS.js.map → review-candidates-TM53WR7G.js.map} +0 -0
  204. /package/dist/{scheduler-6AQDHQI4.js.map → roster-IRXP32XF.js.map} +0 -0
  205. /package/dist/{rotation-memo-7VLREGS6.js.map → rotation-memo-2G6N3VF3.js.map} +0 -0
  206. /package/dist/{seat-O37EQRHE.js.map → routing-QLS6UMLM.js.map} +0 -0
  207. /package/dist/{wiki-4HD4FZ4W.js.map → schedule-tool-TTCWBAQ4.js.map} +0 -0
  208. /package/dist/{select-XO2STSQN.js.map → select-D7UUSODY.js.map} +0 -0
  209. /package/dist/{set-enabled-ZNEPEFGF.js.map → set-enabled-FDNS6KW6.js.map} +0 -0
  210. /package/dist/{tool-PH45YCO5.js.map → tool-J5FM3OPM.js.map} +0 -0
  211. /package/dist/{tool-6KMEAY4U.js.map → tool-SCBQYDI3.js.map} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/wiki/ontology/load.ts","../src/wiki/ontology/defaults.ts"],"sourcesContent":["// --- Load and check `ontology.yaml` (#811) ---\n//\n// The file is optional. Each section the owner writes is merged over the\n// defaults: pillars, types and properties by `id` (a listed id replaces\n// the fields it sets, a new id is added), `importance` and `sidebar`\n// field by field, and `classify` as a whole list. Problems are reported,\n// never thrown, so a typo in the file cannot take the wiki down.\n\nimport { existsSync, readFileSync, statSync, writeFileSync } from \"fs\"\nimport { resolve } from \"path\"\nimport yaml from \"js-yaml\"\nimport { DEFAULT_ONTOLOGY } from \"./defaults\"\nimport { IMPORTANCE_LEVELS, type LensPanel, type Ontology, type PanelSource } from \"./types\"\n\nexport const ONTOLOGY_FILE = \"ontology.yaml\"\n\nexport interface LoadedOntology {\n ontology: Ontology\n /** Problems found in the file. The defaults are used where they apply. */\n errors: string[]\n /** Path of the file read, or null when the defaults were used as they are. */\n file: string | null\n}\n\nconst cache = new Map<string, { mtimeMs: number; loaded: LoadedOntology }>()\n\nexport function loadOntology(wikiDir: string): LoadedOntology {\n const file = resolve(wikiDir, ONTOLOGY_FILE)\n if (!existsSync(file)) return { ontology: DEFAULT_ONTOLOGY, errors: [], file: null }\n\n const mtimeMs = statSync(file).mtimeMs\n const hit = cache.get(file)\n if (hit && hit.mtimeMs === mtimeMs) return hit.loaded\n\n let raw: unknown\n const errors: string[] = []\n try {\n raw = yaml.load(readFileSync(file, \"utf-8\"))\n } catch (err) {\n errors.push(`${ONTOLOGY_FILE} is not valid YAML: ${(err as Error).message}`)\n raw = {}\n }\n const ontology = mergeOntology(DEFAULT_ONTOLOGY, isObject(raw) ? raw : {}, errors)\n errors.push(...checkOntology(ontology))\n const loaded = { ontology, errors, file }\n cache.set(file, { mtimeMs, loaded })\n return loaded\n}\n\n/** Write the defaults as a starting `ontology.yaml`. Refuses to overwrite. */\nexport function writeDefaultOntology(wikiDir: string): string {\n const file = resolve(wikiDir, ONTOLOGY_FILE)\n if (existsSync(file)) throw new Error(`${file} already exists`)\n const header = [\n \"# Wiki ontology: pillars, types, typed relations, event importance and lenses.\",\n \"# Edit any section; what you leave out falls back to the built-in defaults.\",\n \"# Check it with: agentx wiki ontology check\",\n \"\",\n ].join(\"\\n\")\n writeFileSync(file, header + yaml.dump(DEFAULT_ONTOLOGY, { lineWidth: 120, noRefs: true }))\n return file\n}\n\nexport function mergeOntology(base: Ontology, over: Record<string, unknown>, errors: string[] = []): Ontology {\n const out: Ontology = structuredClone(base)\n if (typeof over.version === \"number\") out.version = over.version\n for (const key of [\"pillars\", \"types\", \"properties\"] as const) {\n const list = over[key]\n if (list === undefined) continue\n if (!Array.isArray(list)) { errors.push(`${key} must be a list`); continue }\n out[key] = mergeById(out[key] as Array<{ id: string }>, list, key, errors) as never\n }\n if (isObject(over.importance)) out.importance = { ...out.importance, ...over.importance } as Ontology[\"importance\"]\n if (isObject(over.sidebar)) out.sidebar = { ...out.sidebar, ...over.sidebar } as Ontology[\"sidebar\"]\n if (over.classify !== undefined) {\n if (Array.isArray(over.classify)) out.classify = over.classify as Ontology[\"classify\"]\n else errors.push(\"classify must be a list\")\n }\n if (typeof over.fallback_type === \"string\") out.fallback_type = over.fallback_type\n return out\n}\n\nfunction mergeById(base: Array<{ id: string }>, list: unknown[], key: string, errors: string[]): Array<{ id: string }> {\n const out = base.map(x => ({ ...x }))\n for (const item of list) {\n if (!isObject(item) || typeof item.id !== \"string\") { errors.push(`every item in ${key} needs an id`); continue }\n const at = out.findIndex(x => x.id === item.id)\n if (at === -1) out.push(item as { id: string })\n else out[at] = { ...out[at], ...item }\n }\n return out\n}\n\n/** Problems that make part of the ontology unusable. */\nexport function checkOntology(o: Ontology): string[] {\n const errors: string[] = []\n const pillars = new Set(o.pillars.map(p => p.id))\n const types = new Set(o.types.map(t => t.id))\n const props = new Set(o.properties.map(p => p.id))\n for (const t of o.types) {\n if (!pillars.has(t.pillar)) errors.push(`type ${t.id}: unknown pillar \"${t.pillar}\"`)\n for (const p of t.lens ?? []) {\n for (const f of panelFrom(p)) if (!props.has(f)) errors.push(`type ${t.id}, panel ${p.panel}: unknown property \"${f}\"`)\n for (const ty of p.types ?? []) if (!types.has(ty)) errors.push(`type ${t.id}, panel ${p.panel}: unknown type \"${ty}\"`)\n for (const lv of p.importance ?? []) if (!IMPORTANCE_LEVELS.includes(lv)) errors.push(`type ${t.id}, panel ${p.panel}: unknown importance \"${lv}\"`)\n }\n }\n for (const r of o.classify) {\n if (!types.has(r.type)) errors.push(`classify: unknown type \"${r.type}\"`)\n if (r.title) {\n try { new RegExp(r.title, \"i\") } catch { errors.push(`classify: bad title pattern \"${r.title}\"`) }\n }\n }\n if (!types.has(o.fallback_type)) errors.push(`fallback_type: unknown type \"${o.fallback_type}\"`)\n if (!IMPORTANCE_LEVELS.includes(o.importance.default)) errors.push(`importance.default: unknown level \"${o.importance.default}\"`)\n if (o.sidebar.pins.length > o.sidebar.pins_max) {\n errors.push(`sidebar.pins: ${o.sidebar.pins.length} pins, only the first ${o.sidebar.pins_max} are shown`)\n }\n return errors\n}\n\nexport function panelFrom(p: LensPanel): string[] {\n if (!p.from) return []\n return Array.isArray(p.from) ? p.from : [p.from]\n}\n\nexport function panelSource(p: LensPanel): PanelSource {\n if (p.source) return p.source\n if (p.panel === \"history\" || p.panel === \"discussed\" || p.panel === \"notes\") return p.panel\n if (p.latest) return \"readings\"\n if (p.from) return \"statements\"\n return \"linked\"\n}\n\nfunction isObject(v: unknown): v is Record<string, unknown> {\n return typeof v === \"object\" && v !== null && !Array.isArray(v)\n}\n","// --- Default wiki ontology (#811) ---\n//\n// Generic starting point: nine pillars, the types inside them, the typed\n// relations between them and a lens for every type. An owner overrides\n// any section in `<wiki>/ontology.yaml`; `agentx wiki ontology init`\n// writes this file out as a starting point. Keep it free of any\n// particular organisation, person, country or product.\n\nimport type { LensPanel, Ontology, TypeDef } from \"./types\"\n\nconst history = (show = 5): LensPanel => ({\n panel: \"history\", title: \"History\", source: \"history\", show,\n importance: [\"major\", \"normal\"], fold: \"minor\", rollup: { min: 5, days: 30 },\n})\nconst discussed: LensPanel = { panel: \"discussed\", title: \"Discussed\", source: \"discussed\", show: 3, access: \"owner\" }\nconst notes = (show = 1): LensPanel => ({ panel: \"notes\", title: \"Notes\", source: \"notes\", show })\n\nconst ASSET_TYPES = [\"device\", \"server\", \"app\", \"domain\", \"account\", \"agent\"]\n\nconst types: TypeDef[] = [\n // Parties\n {\n id: \"person\", label: \"Person\", plural: \"People\", pillar: \"parties\", schema: \"Person\", icon: \"person\",\n lens: [\n { panel: \"roles\", title: \"Roles over time\", from: [\"role_at\", \"member_of\", \"founded\"], show: 6, display: \"timeline\" },\n { panel: \"relations\", title: \"Relations\", from: [\"works_with\", \"reports_to\", \"client_of\", \"related\"], types: [\"person\", \"organization\"], show: 5, group_by: \"role\" },\n { panel: \"belongings\", title: \"Belongings\", from: [\"owns\", \"uses\", \"related\"], types: ASSET_TYPES, show: 5 },\n { panel: \"obligations\", title: \"Obligations they carry\", from: [\"subject_to\"], show: 3 },\n history(),\n discussed,\n notes(),\n ],\n },\n {\n id: \"organization\", label: \"Organization\", plural: \"Organizations\", pillar: \"parties\", schema: \"Organization\", icon: \"org\",\n lens: [\n { panel: \"people\", title: \"People and roles\", from: [\"role_at\", \"member_of\", \"founded\"], show: 6, group_by: \"role\" },\n { panel: \"facts\", title: \"Key facts\", from: [\"registered_with\", \"located_in\", \"identifier\", \"legal_form\"], show: 6 },\n { panel: \"obligations\", title: \"Obligations and next due dates\", from: [\"subject_to\"], show: 4 },\n { panel: \"agreements\", title: \"Agreements\", source: \"linked\", types: [\"contract\"], show: 4 },\n { panel: \"decisions\", title: \"Decisions\", source: \"linked\", types: [\"decision\", \"policy\"], show: 4 },\n history(),\n discussed,\n notes(),\n ],\n },\n // Places & Jurisdictions\n {\n id: \"place\", label: \"Place\", plural: \"Places\", pillar: \"places\", schema: \"Place\", icon: \"pin\",\n lens: [\n { panel: \"here\", title: \"What is here\", from: [\"located_in\", \"related\"], show: 6 },\n { panel: \"laws\", title: \"Laws that apply here\", from: [\"applies_in\"], show: 5 },\n history(),\n notes(),\n ],\n },\n {\n id: \"jurisdiction\", label: \"Jurisdiction\", plural: \"Jurisdictions\", pillar: \"places\", schema: \"AdministrativeArea\", icon: \"pin\",\n lens: [\n { panel: \"laws\", title: \"Laws in force\", from: [\"applies_in\"], show: 6 },\n { panel: \"authorities\", title: \"Authorities with reach\", from: [\"jurisdiction_of\"], show: 5 },\n { panel: \"here\", title: \"What is here\", from: [\"located_in\"], show: 5 },\n notes(),\n ],\n },\n // Assets\n {\n id: \"device\", label: \"Device\", plural: \"Devices\", pillar: \"assets\", schema: \"Product\", icon: \"device\",\n lens: [\n { panel: \"state\", title: \"State now\", source: \"readings\", latest: true, show: 6 },\n history(),\n { panel: \"apps\", title: \"Installed apps\", from: [\"installed_on\"], show: 5 },\n discussed,\n { panel: \"parties\", title: \"Owner, user, location\", from: [\"owns\", \"uses\", \"located_in\", \"related\"], types: [\"person\", \"organization\", \"place\"], show: 5 },\n notes(),\n ],\n },\n {\n id: \"server\", label: \"Server\", plural: \"Servers\", pillar: \"assets\", schema: \"Product\", icon: \"server\",\n lens: [\n { panel: \"state\", title: \"State now\", source: \"readings\", latest: true, show: 6 },\n history(),\n { panel: \"hosts\", title: \"Hosted services\", from: [\"installed_on\", \"runs_on\"], show: 6 },\n discussed,\n { panel: \"parties\", title: \"Owner and location\", from: [\"owns\", \"uses\", \"located_in\"], show: 4 },\n notes(),\n ],\n },\n {\n id: \"app\", label: \"App or system\", plural: \"Apps\", pillar: \"assets\", schema: \"SoftwareApplication\", icon: \"app\",\n lens: [\n { panel: \"installs\", title: \"Where it runs\", from: [\"installed_on\", \"runs_on\"], show: 5 },\n { panel: \"licence\", title: \"Licence or subscription\", from: [\"party_to\", \"licensed_by\"], show: 3 },\n history(),\n discussed,\n notes(),\n ],\n },\n {\n id: \"domain\", label: \"Domain\", plural: \"Domains\", pillar: \"assets\", schema: \"WebSite\", icon: \"globe\",\n lens: [\n { panel: \"holder\", title: \"Holder\", from: [\"owns\", \"registrar\"], show: 3 },\n { panel: \"dues\", title: \"Renewal and due dates\", source: \"linked\", types: [\"due_date\"], show: 4 },\n { panel: \"services\", title: \"Linked services\", from: [\"related\"], show: 5 },\n history(),\n notes(),\n ],\n },\n {\n id: \"account\", label: \"Account\", plural: \"Accounts\", pillar: \"assets\", schema: \"Service\", icon: \"key\",\n lens: [\n { panel: \"holder\", title: \"Holder\", from: [\"owns\", \"uses\"], show: 3 },\n { panel: \"dues\", title: \"Renewal and due dates\", source: \"linked\", types: [\"due_date\"], show: 4 },\n history(),\n notes(),\n ],\n },\n {\n id: \"agent\", label: \"Agent\", plural: \"Agents\", pillar: \"assets\", schema: \"SoftwareApplication\", icon: \"agent\",\n lens: [\n { panel: \"runs\", title: \"Where it runs\", from: [\"runs_on\", \"installed_on\", \"related\"], types: [\"server\", \"device\"], show: 4 },\n { panel: \"works\", title: \"Works for\", from: [\"works_for\", \"uses\", \"related\"], types: [\"person\", \"organization\", \"project\"], show: 5 },\n history(),\n discussed,\n notes(),\n ],\n },\n // Offerings & Projects\n {\n id: \"project\", label: \"Project\", plural: \"Projects\", pillar: \"offerings\", schema: \"Project\", icon: \"project\",\n lens: [\n { panel: \"people\", title: \"Client and people\", from: [\"client_of\", \"works_on\", \"related\"], types: [\"person\", \"organization\", \"agent\"], show: 6, group_by: \"role\" },\n { panel: \"agreements\", title: \"Agreements\", source: \"linked\", types: [\"contract\"], show: 3 },\n { panel: \"decisions\", title: \"Decisions\", source: \"linked\", types: [\"decision\", \"policy\"], show: 4 },\n history(6),\n discussed,\n notes(),\n ],\n },\n {\n id: \"offering\", label: \"Offering\", plural: \"Offerings\", pillar: \"offerings\", schema: \"Offer\", icon: \"project\",\n lens: [\n { panel: \"clients\", title: \"Clients\", from: [\"client_of\", \"related\"], types: [\"organization\", \"person\"], show: 5 },\n history(),\n notes(),\n ],\n },\n // Agreements\n {\n id: \"contract\", label: \"Agreement\", plural: \"Agreements\", pillar: \"agreements\", schema: \"Contract\", icon: \"contract\",\n lens: [\n { panel: \"parties\", title: \"Parties and roles\", from: [\"party_to\"], show: 5, group_by: \"role\" },\n { panel: \"terms\", title: \"Key terms and dates\", from: [\"starts\", \"renews\", \"notice\", \"amount\"], show: 6 },\n { panel: \"obligations\", title: \"Obligations it creates\", from: [\"creates\"], show: 5 },\n { panel: \"amendments\", title: \"Amendments\", from: [\"amends\"], show: 4 },\n history(),\n notes(),\n ],\n },\n // Law & Obligations\n {\n id: \"legal_source\", label: \"Legal source\", plural: \"Legal sources\", pillar: \"law\", schema: \"Legislation\", icon: \"law\",\n lens: [\n { panel: \"reference\", title: \"Gazette reference and dates\", from: [\"identifier\", \"published_in\", \"in_force_from\", \"legal_force\", \"issued_by\"], show: 6 },\n { panel: \"creates\", title: \"Obligations, penalties and reliefs it creates\", from: [\"creates\", \"created_by\"], show: 6 },\n { panel: \"amends\", title: \"Amends and amended by\", from: [\"amends\", \"repeals\", \"implements\"], show: 5 },\n { panel: \"applies\", title: \"Where it applies\", from: [\"applies_in\"], show: 3 },\n notes(),\n ],\n },\n {\n id: \"obligation\", label: \"Obligation\", plural: \"Obligations\", pillar: \"law\", schema: \"LegalRuleML Obligation\", icon: \"law\",\n lens: [\n { panel: \"rule\", title: \"Who must do what, by when\", from: [\"action\", \"bearer\", \"due_rule\", \"amount_rule\", \"authority\", \"status\"], show: 6 },\n { panel: \"dues\", title: \"Next due dates\", source: \"linked\", types: [\"due_date\"], show: 4 },\n { panel: \"sources\", title: \"Source articles\", from: [\"created_by\", \"changed_by\"], show: 4 },\n { panel: \"penalties\", title: \"Penalties and reliefs\", from: [\"penalty_for\", \"relieves\"], show: 4 },\n { panel: \"procedure\", title: \"Procedure\", from: [\"procedure\"], show: 2 },\n { panel: \"bearers\", title: \"Who carries it\", from: [\"subject_to\"], show: 5 },\n history(4),\n notes(),\n ],\n },\n {\n id: \"penalty\", label: \"Penalty\", plural: \"Penalties\", pillar: \"law\", schema: \"LegalRuleML Penalty\", icon: \"law\",\n lens: [\n { panel: \"rule\", title: \"For which failure, how much\", from: [\"penalty_for\", \"kind\", \"amount_rule\", \"created_by\"], show: 6 },\n notes(),\n ],\n },\n {\n id: \"relief\", label: \"Relief\", plural: \"Reliefs\", pillar: \"law\", schema: \"LegalRuleML Permission\", icon: \"law\",\n lens: [\n { panel: \"rule\", title: \"What it relieves, for whom, until when\", from: [\"relieves\", \"bearer\", \"condition\", \"created_by\"], show: 6 },\n notes(),\n ],\n },\n {\n id: \"due_date\", label: \"Due date\", plural: \"Due dates\", pillar: \"law\", schema: \"Event\", icon: \"calendar\",\n lens: [\n { panel: \"due\", title: \"Due\", from: [\"due_for\", \"bearer\", \"due\", \"status\", \"fulfilled_by\"], show: 6 },\n notes(),\n ],\n },\n // Events\n {\n id: \"event\", label: \"Event\", plural: \"Events\", pillar: \"events\", schema: \"Event\", icon: \"calendar\",\n lens: [\n notes(1),\n { panel: \"involved\", title: \"Who and what was involved\", from: [\"involves\", \"affects\", \"related\"], show: 8 },\n { panel: \"followed\", title: \"What followed\", source: \"linked\", types: [\"event\", \"decision\"], show: 4 },\n discussed,\n ],\n },\n // Decisions & Policies\n {\n id: \"decision\", label: \"Decision\", plural: \"Decisions\", pillar: \"decisions\", schema: \"ChooseAction\", icon: \"decision\",\n lens: [\n notes(1),\n { panel: \"affects\", title: \"What it affects\", from: [\"affects\", \"creates\", \"related\"], show: 6 },\n { panel: \"replaced\", title: \"Replaced by\", from: [\"replaced_by\"], show: 2 },\n discussed,\n ],\n },\n {\n id: \"policy\", label: \"Policy\", plural: \"Policies\", pillar: \"decisions\", schema: \"LegalRuleML Obligation\", icon: \"decision\",\n lens: [\n { panel: \"rule\", title: \"Rule\", from: [\"action\", \"bearer\", \"creates\", \"created_by\"], show: 6 },\n { panel: \"affects\", title: \"What it affects\", from: [\"affects\", \"related\"], show: 6 },\n notes(),\n ],\n },\n // Procedures\n {\n id: \"procedure\", label: \"Procedure\", plural: \"Procedures\", pillar: \"procedures\", schema: \"HowTo\", icon: \"steps\",\n lens: [\n notes(1),\n { panel: \"triggers\", title: \"What triggers it\", from: [\"procedure\", \"triggered_by\", \"related\"], show: 5 },\n { panel: \"runs\", title: \"Last runs\", source: \"linked\", types: [\"event\"], show: 4 },\n ],\n },\n // Topics (fallback, not in the sidebar)\n {\n id: \"topic\", label: \"Topic\", plural: \"Topics\", pillar: \"topics\", schema: \"skos:Concept\", icon: \"topic\",\n lens: [\n notes(1),\n { panel: \"related\", title: \"Related\", from: [\"related\"], show: 8 },\n history(4),\n ],\n },\n]\n\nexport const DEFAULT_ONTOLOGY: Ontology = {\n version: 1,\n pillars: [\n { id: \"parties\", label: \"Parties\", description: \"People and organisations, and the roles between them\", icon: \"person\" },\n { id: \"places\", label: \"Places & Jurisdictions\", description: \"Where things are, and whose rules apply there\", icon: \"pin\" },\n { id: \"assets\", label: \"Assets\", description: \"What is owned or run: devices, servers, apps, domains, accounts, agents\", icon: \"server\" },\n { id: \"offerings\", label: \"Offerings & Projects\", description: \"What is sold, built or delivered\", icon: \"project\" },\n { id: \"agreements\", label: \"Agreements\", description: \"Contracts, subscriptions and their terms\", icon: \"contract\" },\n { id: \"law\", label: \"Law & Obligations\", description: \"Legal sources, the obligations they create, penalties, reliefs and due dates\", icon: \"law\" },\n { id: \"events\", label: \"Events\", description: \"What happened, by importance\", icon: \"calendar\" },\n { id: \"decisions\", label: \"Decisions & Policies\", description: \"Why things are the way they are\", icon: \"decision\" },\n { id: \"procedures\", label: \"Procedures\", description: \"How things are done\", icon: \"steps\" },\n { id: \"topics\", label: \"Topics\", description: \"Pages no type fits yet. A growing count means a type is missing.\", icon: \"topic\", sidebar: false },\n ],\n types,\n properties: [\n { id: \"related\", label: \"related to\", inverse: \"related to\" },\n { id: \"role_at\", label: \"role at\", inverse: \"people\", wikidata: \"P108\", range: [\"organization\"] },\n { id: \"member_of\", label: \"member of\", inverse: \"members\", wikidata: \"P463\" },\n { id: \"founded\", label: \"founded\", inverse: \"founded by\", wikidata: \"P112\" },\n { id: \"works_with\", label: \"works with\", inverse: \"works with\" },\n { id: \"reports_to\", label: \"reports to\", inverse: \"manages\" },\n { id: \"client_of\", label: \"client of\", inverse: \"clients\", wikidata: \"P1972\" },\n { id: \"works_on\", label: \"works on\", inverse: \"people\" },\n { id: \"works_for\", label: \"works for\", inverse: \"agents\", wikidata: \"P108\" },\n { id: \"owns\", label: \"owns\", inverse: \"owned by\", wikidata: \"P1830\" },\n { id: \"uses\", label: \"uses\", inverse: \"used by\", wikidata: \"P2283\" },\n { id: \"located_in\", label: \"located in\", inverse: \"here\", wikidata: \"P276\" },\n { id: \"installed_on\", label: \"installed on\", inverse: \"installed apps\", range: [\"device\", \"server\"] },\n { id: \"runs_on\", label: \"runs on\", inverse: \"hosts\" },\n { id: \"registered_with\", label: \"registered with\", inverse: \"registered\" },\n { id: \"identifier\", label: \"identifier\", wikidata: \"P1448\" },\n { id: \"legal_form\", label: \"legal form\", wikidata: \"P1454\" },\n { id: \"registrar\", label: \"registrar\" },\n { id: \"licensed_by\", label: \"licensed by\", inverse: \"licences\" },\n { id: \"party_to\", label: \"party to\", inverse: \"parties\" },\n { id: \"starts\", label: \"starts\" },\n { id: \"renews\", label: \"renews\" },\n { id: \"notice\", label: \"notice period\" },\n { id: \"amount\", label: \"amount\" },\n { id: \"creates\", label: \"creates\", inverse: \"created by\" },\n { id: \"created_by\", label: \"created by\", inverse: \"creates\" },\n { id: \"changed_by\", label: \"changed by\", inverse: \"changes\" },\n { id: \"amends\", label: \"amends\", inverse: \"amended by\", wikidata: \"P144\" },\n { id: \"repeals\", label: \"repeals\", inverse: \"repealed by\" },\n { id: \"implements\", label: \"implements\", inverse: \"implemented by\" },\n { id: \"issued_by\", label: \"issued by\", inverse: \"issues\" },\n { id: \"published_in\", label: \"published in\", wikidata: \"P1433\" },\n { id: \"in_force_from\", label: \"in force from\", wikidata: \"P7588\" },\n { id: \"legal_force\", label: \"legal force\" },\n { id: \"applies_in\", label: \"applies in\", inverse: \"laws that apply\", wikidata: \"P1001\" },\n { id: \"jurisdiction_of\", label: \"authority in\", inverse: \"authorities\" },\n { id: \"subject_to\", label: \"subject to\", inverse: \"carried by\" },\n { id: \"action\", label: \"action\" },\n { id: \"bearer\", label: \"bearer\" },\n { id: \"due_rule\", label: \"due\" },\n { id: \"amount_rule\", label: \"amount\" },\n { id: \"authority\", label: \"authority\", inverse: \"collects\" },\n { id: \"status\", label: \"status\" },\n { id: \"penalty_for\", label: \"penalty for\", inverse: \"penalties\" },\n { id: \"relieves\", label: \"relieves\", inverse: \"reliefs\" },\n { id: \"condition\", label: \"condition\" },\n { id: \"kind\", label: \"kind\" },\n { id: \"procedure\", label: \"procedure\", inverse: \"carries out\" },\n { id: \"due_for\", label: \"due for\", inverse: \"due dates\" },\n { id: \"due\", label: \"due on\" },\n { id: \"fulfilled_by\", label: \"fulfilled by\", inverse: \"fulfils\" },\n { id: \"involves\", label: \"involves\", inverse: \"events\", wikidata: \"P710\" },\n { id: \"affects\", label: \"affects\", inverse: \"affected by\" },\n { id: \"replaced_by\", label: \"replaced by\", inverse: \"replaces\", wikidata: \"P1366\" },\n { id: \"triggered_by\", label: \"triggered by\", inverse: \"triggers\" },\n { id: \"mentions\", label: \"mentions\", inverse: \"discussed in\" },\n { id: \"reading\", label: \"reading\" },\n ],\n importance: {\n default: \"normal\",\n major_set_by: \"owner\",\n rollup: { min: 5, days: 30 },\n },\n sidebar: { pins_max: 5, pins: [] },\n classify: [\n // Old pages filed agents as people and machines as places; the title\n // tells them apart until absorb writes `class` on the page.\n { type: \"agent\", legacy: [\"person\", \"concept\", \"project\"], title: \"\\\\bagents?\\\\b|\\\\bbot\\\\b\" },\n { type: \"server\", legacy: [\"place\", \"concept\"], title: \"\\\\b(server|vps|host|node)\\\\b\" },\n { type: \"device\", legacy: [\"place\", \"concept\"], title: \"\\\\b(laptop|macbook|desktop|phone|tablet|printer|router)\\\\b\" },\n { type: \"person\", legacy: [\"person\"] },\n { type: \"event\", legacy: [\"event\"] },\n { type: \"decision\", legacy: [\"decision\"] },\n { type: \"procedure\", legacy: [\"pattern\"] },\n { type: \"place\", legacy: [\"place\"] },\n // Folder and tag rules below refine untyped and concept pages only.\n { type: \"project\", legacy: [\"project\"] },\n { type: \"organization\", path: [\"clients\", \"customers\", \"vendors\", \"suppliers\", \"organizations\", \"orgs\", \"companies\"] },\n { type: \"organization\", tags: [\"organization\", \"company\", \"client\", \"vendor\", \"supplier\", \"agency\", \"bank\"] },\n { type: \"server\", path: [\"servers\", \"hosts\", \"infrastructure\"] },\n { type: \"server\", tags: [\"server\", \"vps\", \"host\"] },\n { type: \"device\", path: [\"devices\"] },\n { type: \"device\", tags: [\"device\", \"laptop\", \"phone\", \"printer\"] },\n { type: \"agent\", tags: [\"agent\"], title: \"\\\\bagent\\\\b\" },\n { type: \"app\", path: [\"apps\", \"systems\", \"services\"] },\n { type: \"domain\", tags: [\"domain\", \"dns\"] },\n { type: \"contract\", path: [\"contracts\", \"agreements\"] },\n { type: \"contract\", tags: [\"contract\", \"agreement\", \"subscription\"] },\n { type: \"legal_source\", path: [\"laws\", \"legislation\"] },\n { type: \"legal_source\", tags: [\"law\", \"legislation\", \"decree\"] },\n { type: \"obligation\", path: [\"obligations\", \"compliance\"] },\n { type: \"obligation\", tags: [\"obligation\", \"compliance\"] },\n { type: \"policy\", path: [\"policies\"] },\n { type: \"policy\", tags: [\"policy\"] },\n { type: \"procedure\", path: [\"runbooks\", \"procedures\"] },\n { type: \"procedure\", tags: [\"runbook\", \"procedure\", \"how-to\"] },\n ],\n fallback_type: \"topic\",\n}\n"],"mappings":"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","names":["existsSync","readFileSync","statSync","writeFileSync","resolve","yaml","history","show","discussed","notes","ASSET_TYPES","types","DEFAULT_ONTOLOGY","ONTOLOGY_FILE","cache","loadOntology","wikiDir","file","resolve","existsSync","DEFAULT_ONTOLOGY","mtimeMs","statSync","hit","raw","errors","yaml","readFileSync","err","ontology","mergeOntology","isObject","checkOntology","loaded","writeDefaultOntology","header","writeFileSync","base","over","out","key","list","mergeById","x","item","at","o","pillars","p","types","t","props","f","panelFrom","ty","lv","IMPORTANCE_LEVELS","r","panelSource","v"]}