@nac3/forge-cli 0.2.0-alpha.1

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 (561) hide show
  1. package/LICENSE +45 -0
  2. package/README.md +371 -0
  3. package/dist/bin/yf.d.ts +5 -0
  4. package/dist/bin/yf.d.ts.map +1 -0
  5. package/dist/bin/yf.js +86 -0
  6. package/dist/bin/yf.js.map +1 -0
  7. package/dist/chat/claude.d.ts +100 -0
  8. package/dist/chat/claude.d.ts.map +1 -0
  9. package/dist/chat/claude.js +228 -0
  10. package/dist/chat/claude.js.map +1 -0
  11. package/dist/chat/ingest_session.d.ts +97 -0
  12. package/dist/chat/ingest_session.d.ts.map +1 -0
  13. package/dist/chat/ingest_session.js +99 -0
  14. package/dist/chat/ingest_session.js.map +1 -0
  15. package/dist/chat/panel.d.ts +15 -0
  16. package/dist/chat/panel.d.ts.map +1 -0
  17. package/dist/chat/panel.js +1526 -0
  18. package/dist/chat/panel.js.map +1 -0
  19. package/dist/chat/persistence.d.ts +37 -0
  20. package/dist/chat/persistence.d.ts.map +1 -0
  21. package/dist/chat/persistence.js +91 -0
  22. package/dist/chat/persistence.js.map +1 -0
  23. package/dist/chat/server.d.ts +34 -0
  24. package/dist/chat/server.d.ts.map +1 -0
  25. package/dist/chat/server.js +1540 -0
  26. package/dist/chat/server.js.map +1 -0
  27. package/dist/chat/spec_extract.d.ts +35 -0
  28. package/dist/chat/spec_extract.d.ts.map +1 -0
  29. package/dist/chat/spec_extract.js +152 -0
  30. package/dist/chat/spec_extract.js.map +1 -0
  31. package/dist/chat/spec_plan.d.ts +65 -0
  32. package/dist/chat/spec_plan.d.ts.map +1 -0
  33. package/dist/chat/spec_plan.js +160 -0
  34. package/dist/chat/spec_plan.js.map +1 -0
  35. package/dist/chat/spec_scaffold.d.ts +95 -0
  36. package/dist/chat/spec_scaffold.d.ts.map +1 -0
  37. package/dist/chat/spec_scaffold.js +220 -0
  38. package/dist/chat/spec_scaffold.js.map +1 -0
  39. package/dist/chat/tools/git.d.ts +59 -0
  40. package/dist/chat/tools/git.d.ts.map +1 -0
  41. package/dist/chat/tools/git.js +313 -0
  42. package/dist/chat/tools/git.js.map +1 -0
  43. package/dist/chat/tools/github.d.ts +59 -0
  44. package/dist/chat/tools/github.d.ts.map +1 -0
  45. package/dist/chat/tools/github.js +310 -0
  46. package/dist/chat/tools/github.js.map +1 -0
  47. package/dist/chat/tools/lifecycle.d.ts +82 -0
  48. package/dist/chat/tools/lifecycle.d.ts.map +1 -0
  49. package/dist/chat/tools/lifecycle.js +295 -0
  50. package/dist/chat/tools/lifecycle.js.map +1 -0
  51. package/dist/chat/tools/manual.d.ts +26 -0
  52. package/dist/chat/tools/manual.d.ts.map +1 -0
  53. package/dist/chat/tools/manual.js +164 -0
  54. package/dist/chat/tools/manual.js.map +1 -0
  55. package/dist/chat/tools/reader.d.ts +80 -0
  56. package/dist/chat/tools/reader.d.ts.map +1 -0
  57. package/dist/chat/tools/reader.js +471 -0
  58. package/dist/chat/tools/reader.js.map +1 -0
  59. package/dist/chat/tools.d.ts +106 -0
  60. package/dist/chat/tools.d.ts.map +1 -0
  61. package/dist/chat/tools.js +587 -0
  62. package/dist/chat/tools.js.map +1 -0
  63. package/dist/codegen/e2e.d.ts +106 -0
  64. package/dist/codegen/e2e.d.ts.map +1 -0
  65. package/dist/codegen/e2e.js +931 -0
  66. package/dist/codegen/e2e.js.map +1 -0
  67. package/dist/codegen/v3_flow_emit.d.ts +70 -0
  68. package/dist/codegen/v3_flow_emit.d.ts.map +1 -0
  69. package/dist/codegen/v3_flow_emit.js +225 -0
  70. package/dist/codegen/v3_flow_emit.js.map +1 -0
  71. package/dist/commands/_stub.d.ts +2 -0
  72. package/dist/commands/_stub.d.ts.map +1 -0
  73. package/dist/commands/_stub.js +21 -0
  74. package/dist/commands/_stub.js.map +1 -0
  75. package/dist/commands/app.d.ts +31 -0
  76. package/dist/commands/app.d.ts.map +1 -0
  77. package/dist/commands/app.js +331 -0
  78. package/dist/commands/app.js.map +1 -0
  79. package/dist/commands/chat.d.ts +18 -0
  80. package/dist/commands/chat.d.ts.map +1 -0
  81. package/dist/commands/chat.js +76 -0
  82. package/dist/commands/chat.js.map +1 -0
  83. package/dist/commands/deploy.d.ts +21 -0
  84. package/dist/commands/deploy.d.ts.map +1 -0
  85. package/dist/commands/deploy.js +121 -0
  86. package/dist/commands/deploy.js.map +1 -0
  87. package/dist/commands/doctor.d.ts +14 -0
  88. package/dist/commands/doctor.d.ts.map +1 -0
  89. package/dist/commands/doctor.js +280 -0
  90. package/dist/commands/doctor.js.map +1 -0
  91. package/dist/commands/figma.d.ts +32 -0
  92. package/dist/commands/figma.d.ts.map +1 -0
  93. package/dist/commands/figma.js +141 -0
  94. package/dist/commands/figma.js.map +1 -0
  95. package/dist/commands/gen-flow-tests.d.ts +8 -0
  96. package/dist/commands/gen-flow-tests.d.ts.map +1 -0
  97. package/dist/commands/gen-flow-tests.js +78 -0
  98. package/dist/commands/gen-flow-tests.js.map +1 -0
  99. package/dist/commands/gen-tests.d.ts +9 -0
  100. package/dist/commands/gen-tests.d.ts.map +1 -0
  101. package/dist/commands/gen-tests.js +118 -0
  102. package/dist/commands/gen-tests.js.map +1 -0
  103. package/dist/commands/license.d.ts +14 -0
  104. package/dist/commands/license.d.ts.map +1 -0
  105. package/dist/commands/license.js +182 -0
  106. package/dist/commands/license.js.map +1 -0
  107. package/dist/commands/log.d.ts +19 -0
  108. package/dist/commands/log.d.ts.map +1 -0
  109. package/dist/commands/log.js +101 -0
  110. package/dist/commands/log.js.map +1 -0
  111. package/dist/commands/migrate.d.ts +118 -0
  112. package/dist/commands/migrate.d.ts.map +1 -0
  113. package/dist/commands/migrate.js +1410 -0
  114. package/dist/commands/migrate.js.map +1 -0
  115. package/dist/commands/mobile.d.ts +27 -0
  116. package/dist/commands/mobile.d.ts.map +1 -0
  117. package/dist/commands/mobile.js +90 -0
  118. package/dist/commands/mobile.js.map +1 -0
  119. package/dist/commands/new.d.ts +32 -0
  120. package/dist/commands/new.d.ts.map +1 -0
  121. package/dist/commands/new.js +107 -0
  122. package/dist/commands/new.js.map +1 -0
  123. package/dist/commands/pilot.d.ts +8 -0
  124. package/dist/commands/pilot.d.ts.map +1 -0
  125. package/dist/commands/pilot.js +104 -0
  126. package/dist/commands/pilot.js.map +1 -0
  127. package/dist/commands/projects.d.ts +21 -0
  128. package/dist/commands/projects.d.ts.map +1 -0
  129. package/dist/commands/projects.js +238 -0
  130. package/dist/commands/projects.js.map +1 -0
  131. package/dist/commands/publish.d.ts +35 -0
  132. package/dist/commands/publish.d.ts.map +1 -0
  133. package/dist/commands/publish.js +194 -0
  134. package/dist/commands/publish.js.map +1 -0
  135. package/dist/commands/repo.d.ts +59 -0
  136. package/dist/commands/repo.d.ts.map +1 -0
  137. package/dist/commands/repo.js +178 -0
  138. package/dist/commands/repo.js.map +1 -0
  139. package/dist/commands/review-screens.d.ts +28 -0
  140. package/dist/commands/review-screens.d.ts.map +1 -0
  141. package/dist/commands/review-screens.js +345 -0
  142. package/dist/commands/review-screens.js.map +1 -0
  143. package/dist/commands/scenarios.d.ts +23 -0
  144. package/dist/commands/scenarios.d.ts.map +1 -0
  145. package/dist/commands/scenarios.js +304 -0
  146. package/dist/commands/scenarios.js.map +1 -0
  147. package/dist/commands/ship.d.ts +18 -0
  148. package/dist/commands/ship.d.ts.map +1 -0
  149. package/dist/commands/ship.js +41 -0
  150. package/dist/commands/ship.js.map +1 -0
  151. package/dist/commands/test.d.ts +29 -0
  152. package/dist/commands/test.d.ts.map +1 -0
  153. package/dist/commands/test.js +62 -0
  154. package/dist/commands/test.js.map +1 -0
  155. package/dist/commands/tunnel.d.ts +22 -0
  156. package/dist/commands/tunnel.d.ts.map +1 -0
  157. package/dist/commands/tunnel.js +77 -0
  158. package/dist/commands/tunnel.js.map +1 -0
  159. package/dist/commands/validate.d.ts +14 -0
  160. package/dist/commands/validate.d.ts.map +1 -0
  161. package/dist/commands/validate.js +51 -0
  162. package/dist/commands/validate.js.map +1 -0
  163. package/dist/commands/vault.d.ts +32 -0
  164. package/dist/commands/vault.d.ts.map +1 -0
  165. package/dist/commands/vault.js +489 -0
  166. package/dist/commands/vault.js.map +1 -0
  167. package/dist/commands/voice.d.ts +16 -0
  168. package/dist/commands/voice.d.ts.map +1 -0
  169. package/dist/commands/voice.js +69 -0
  170. package/dist/commands/voice.js.map +1 -0
  171. package/dist/core/cascade_router.d.ts +90 -0
  172. package/dist/core/cascade_router.d.ts.map +1 -0
  173. package/dist/core/cascade_router.js +131 -0
  174. package/dist/core/cascade_router.js.map +1 -0
  175. package/dist/core/cf_tunnel.d.ts +52 -0
  176. package/dist/core/cf_tunnel.d.ts.map +1 -0
  177. package/dist/core/cf_tunnel.js +134 -0
  178. package/dist/core/cf_tunnel.js.map +1 -0
  179. package/dist/core/gha_dispatcher.d.ts +48 -0
  180. package/dist/core/gha_dispatcher.d.ts.map +1 -0
  181. package/dist/core/gha_dispatcher.js +198 -0
  182. package/dist/core/gha_dispatcher.js.map +1 -0
  183. package/dist/core/logger.d.ts +89 -0
  184. package/dist/core/logger.d.ts.map +1 -0
  185. package/dist/core/logger.js +245 -0
  186. package/dist/core/logger.js.map +1 -0
  187. package/dist/core/mode.d.ts +26 -0
  188. package/dist/core/mode.d.ts.map +1 -0
  189. package/dist/core/mode.js +122 -0
  190. package/dist/core/mode.js.map +1 -0
  191. package/dist/core/pairing.d.ts +40 -0
  192. package/dist/core/pairing.d.ts.map +1 -0
  193. package/dist/core/pairing.js +145 -0
  194. package/dist/core/pairing.js.map +1 -0
  195. package/dist/core/pilot_setup.d.ts +29 -0
  196. package/dist/core/pilot_setup.d.ts.map +1 -0
  197. package/dist/core/pilot_setup.js +119 -0
  198. package/dist/core/pilot_setup.js.map +1 -0
  199. package/dist/core/polar.d.ts +81 -0
  200. package/dist/core/polar.d.ts.map +1 -0
  201. package/dist/core/polar.js +175 -0
  202. package/dist/core/polar.js.map +1 -0
  203. package/dist/core/project_picker.d.ts +56 -0
  204. package/dist/core/project_picker.d.ts.map +1 -0
  205. package/dist/core/project_picker.js +86 -0
  206. package/dist/core/project_picker.js.map +1 -0
  207. package/dist/core/projects.d.ts +58 -0
  208. package/dist/core/projects.d.ts.map +1 -0
  209. package/dist/core/projects.js +146 -0
  210. package/dist/core/projects.js.map +1 -0
  211. package/dist/core/projects_sync.d.ts +80 -0
  212. package/dist/core/projects_sync.d.ts.map +1 -0
  213. package/dist/core/projects_sync.js +278 -0
  214. package/dist/core/projects_sync.js.map +1 -0
  215. package/dist/core/remote_runner.d.ts +70 -0
  216. package/dist/core/remote_runner.d.ts.map +1 -0
  217. package/dist/core/remote_runner.js +133 -0
  218. package/dist/core/remote_runner.js.map +1 -0
  219. package/dist/core/repo_state.d.ts +24 -0
  220. package/dist/core/repo_state.d.ts.map +1 -0
  221. package/dist/core/repo_state.js +109 -0
  222. package/dist/core/repo_state.js.map +1 -0
  223. package/dist/core/target.d.ts +31 -0
  224. package/dist/core/target.d.ts.map +1 -0
  225. package/dist/core/target.js +121 -0
  226. package/dist/core/target.js.map +1 -0
  227. package/dist/deploy/aws.d.ts +43 -0
  228. package/dist/deploy/aws.d.ts.map +1 -0
  229. package/dist/deploy/aws.js +173 -0
  230. package/dist/deploy/aws.js.map +1 -0
  231. package/dist/figma/api.d.ts +35 -0
  232. package/dist/figma/api.d.ts.map +1 -0
  233. package/dist/figma/api.js +40 -0
  234. package/dist/figma/api.js.map +1 -0
  235. package/dist/figma/decorator.d.ts +74 -0
  236. package/dist/figma/decorator.d.ts.map +1 -0
  237. package/dist/figma/decorator.js +210 -0
  238. package/dist/figma/decorator.js.map +1 -0
  239. package/dist/figma/heuristics.d.ts +29 -0
  240. package/dist/figma/heuristics.d.ts.map +1 -0
  241. package/dist/figma/heuristics.js +110 -0
  242. package/dist/figma/heuristics.js.map +1 -0
  243. package/dist/figma/normalize.d.ts +33 -0
  244. package/dist/figma/normalize.d.ts.map +1 -0
  245. package/dist/figma/normalize.js +101 -0
  246. package/dist/figma/normalize.js.map +1 -0
  247. package/dist/figma/tokens.d.ts +23 -0
  248. package/dist/figma/tokens.d.ts.map +1 -0
  249. package/dist/figma/tokens.js +111 -0
  250. package/dist/figma/tokens.js.map +1 -0
  251. package/dist/figma/types.d.ts +118 -0
  252. package/dist/figma/types.d.ts.map +1 -0
  253. package/dist/figma/types.js +12 -0
  254. package/dist/figma/types.js.map +1 -0
  255. package/dist/i18n/index.d.ts +48 -0
  256. package/dist/i18n/index.d.ts.map +1 -0
  257. package/dist/i18n/index.js +135 -0
  258. package/dist/i18n/index.js.map +1 -0
  259. package/dist/i18n/types.d.ts +52 -0
  260. package/dist/i18n/types.d.ts.map +1 -0
  261. package/dist/i18n/types.js +85 -0
  262. package/dist/i18n/types.js.map +1 -0
  263. package/dist/index.d.ts +12 -0
  264. package/dist/index.d.ts.map +1 -0
  265. package/dist/index.js +11 -0
  266. package/dist/index.js.map +1 -0
  267. package/dist/lan/mdns_packet.d.ts +74 -0
  268. package/dist/lan/mdns_packet.d.ts.map +1 -0
  269. package/dist/lan/mdns_packet.js +247 -0
  270. package/dist/lan/mdns_packet.js.map +1 -0
  271. package/dist/lan/mdns_service.d.ts +102 -0
  272. package/dist/lan/mdns_service.d.ts.map +1 -0
  273. package/dist/lan/mdns_service.js +206 -0
  274. package/dist/lan/mdns_service.js.map +1 -0
  275. package/dist/license/activate.d.ts +33 -0
  276. package/dist/license/activate.d.ts.map +1 -0
  277. package/dist/license/activate.js +135 -0
  278. package/dist/license/activate.js.map +1 -0
  279. package/dist/license/fingerprint.d.ts +2 -0
  280. package/dist/license/fingerprint.d.ts.map +1 -0
  281. package/dist/license/fingerprint.js +29 -0
  282. package/dist/license/fingerprint.js.map +1 -0
  283. package/dist/license/hito4_client.d.ts +24 -0
  284. package/dist/license/hito4_client.d.ts.map +1 -0
  285. package/dist/license/hito4_client.js +103 -0
  286. package/dist/license/hito4_client.js.map +1 -0
  287. package/dist/license/index.d.ts +22 -0
  288. package/dist/license/index.d.ts.map +1 -0
  289. package/dist/license/index.js +125 -0
  290. package/dist/license/index.js.map +1 -0
  291. package/dist/license/types.d.ts +38 -0
  292. package/dist/license/types.d.ts.map +1 -0
  293. package/dist/license/types.js +9 -0
  294. package/dist/license/types.js.map +1 -0
  295. package/dist/migrate/ai-apply.d.ts +198 -0
  296. package/dist/migrate/ai-apply.d.ts.map +1 -0
  297. package/dist/migrate/ai-apply.js +833 -0
  298. package/dist/migrate/ai-apply.js.map +1 -0
  299. package/dist/migrate/ai-decorator.d.ts +87 -0
  300. package/dist/migrate/ai-decorator.d.ts.map +1 -0
  301. package/dist/migrate/ai-decorator.js +203 -0
  302. package/dist/migrate/ai-decorator.js.map +1 -0
  303. package/dist/migrate/apply.d.ts +28 -0
  304. package/dist/migrate/apply.d.ts.map +1 -0
  305. package/dist/migrate/apply.js +119 -0
  306. package/dist/migrate/apply.js.map +1 -0
  307. package/dist/migrate/audit.d.ts +9 -0
  308. package/dist/migrate/audit.d.ts.map +1 -0
  309. package/dist/migrate/audit.js +197 -0
  310. package/dist/migrate/audit.js.map +1 -0
  311. package/dist/migrate/diff.d.ts +28 -0
  312. package/dist/migrate/diff.d.ts.map +1 -0
  313. package/dist/migrate/diff.js +154 -0
  314. package/dist/migrate/diff.js.map +1 -0
  315. package/dist/migrate/html-orchestrator.d.ts +81 -0
  316. package/dist/migrate/html-orchestrator.d.ts.map +1 -0
  317. package/dist/migrate/html-orchestrator.js +233 -0
  318. package/dist/migrate/html-orchestrator.js.map +1 -0
  319. package/dist/migrate/html-walker.d.ts +93 -0
  320. package/dist/migrate/html-walker.d.ts.map +1 -0
  321. package/dist/migrate/html-walker.js +288 -0
  322. package/dist/migrate/html-walker.js.map +1 -0
  323. package/dist/migrate/js-template-walker.d.ts +118 -0
  324. package/dist/migrate/js-template-walker.d.ts.map +1 -0
  325. package/dist/migrate/js-template-walker.js +644 -0
  326. package/dist/migrate/js-template-walker.js.map +1 -0
  327. package/dist/migrate/manifest-validator.d.ts +30 -0
  328. package/dist/migrate/manifest-validator.d.ts.map +1 -0
  329. package/dist/migrate/manifest-validator.js +261 -0
  330. package/dist/migrate/manifest-validator.js.map +1 -0
  331. package/dist/migrate/overrides.d.ts +58 -0
  332. package/dist/migrate/overrides.d.ts.map +1 -0
  333. package/dist/migrate/overrides.js +193 -0
  334. package/dist/migrate/overrides.js.map +1 -0
  335. package/dist/migrate/plugin-scope.d.ts +42 -0
  336. package/dist/migrate/plugin-scope.d.ts.map +1 -0
  337. package/dist/migrate/plugin-scope.js +94 -0
  338. package/dist/migrate/plugin-scope.js.map +1 -0
  339. package/dist/migrate/types.d.ts +45 -0
  340. package/dist/migrate/types.d.ts.map +1 -0
  341. package/dist/migrate/types.js +9 -0
  342. package/dist/migrate/types.js.map +1 -0
  343. package/dist/migrate/verb-inference.d.ts +37 -0
  344. package/dist/migrate/verb-inference.d.ts.map +1 -0
  345. package/dist/migrate/verb-inference.js +274 -0
  346. package/dist/migrate/verb-inference.js.map +1 -0
  347. package/dist/nac3/attrs.d.ts +87 -0
  348. package/dist/nac3/attrs.d.ts.map +1 -0
  349. package/dist/nac3/attrs.js +134 -0
  350. package/dist/nac3/attrs.js.map +1 -0
  351. package/dist/nac3/scenario_dsl.d.ts +71 -0
  352. package/dist/nac3/scenario_dsl.d.ts.map +1 -0
  353. package/dist/nac3/scenario_dsl.js +191 -0
  354. package/dist/nac3/scenario_dsl.js.map +1 -0
  355. package/dist/nac3/tokens.d.ts +126 -0
  356. package/dist/nac3/tokens.d.ts.map +1 -0
  357. package/dist/nac3/tokens.js +138 -0
  358. package/dist/nac3/tokens.js.map +1 -0
  359. package/dist/reader/parsers/csv.d.ts +42 -0
  360. package/dist/reader/parsers/csv.d.ts.map +1 -0
  361. package/dist/reader/parsers/csv.js +221 -0
  362. package/dist/reader/parsers/csv.js.map +1 -0
  363. package/dist/reader/parsers/docx.d.ts +31 -0
  364. package/dist/reader/parsers/docx.d.ts.map +1 -0
  365. package/dist/reader/parsers/docx.js +51 -0
  366. package/dist/reader/parsers/docx.js.map +1 -0
  367. package/dist/reader/parsers/epub.d.ts +39 -0
  368. package/dist/reader/parsers/epub.d.ts.map +1 -0
  369. package/dist/reader/parsers/epub.js +265 -0
  370. package/dist/reader/parsers/epub.js.map +1 -0
  371. package/dist/reader/parsers/html.d.ts +40 -0
  372. package/dist/reader/parsers/html.d.ts.map +1 -0
  373. package/dist/reader/parsers/html.js +386 -0
  374. package/dist/reader/parsers/html.js.map +1 -0
  375. package/dist/reader/parsers/md.d.ts +30 -0
  376. package/dist/reader/parsers/md.d.ts.map +1 -0
  377. package/dist/reader/parsers/md.js +199 -0
  378. package/dist/reader/parsers/md.js.map +1 -0
  379. package/dist/reader/parsers/pdf.d.ts +39 -0
  380. package/dist/reader/parsers/pdf.d.ts.map +1 -0
  381. package/dist/reader/parsers/pdf.js +220 -0
  382. package/dist/reader/parsers/pdf.js.map +1 -0
  383. package/dist/reader/parsers/rtf.d.ts +37 -0
  384. package/dist/reader/parsers/rtf.d.ts.map +1 -0
  385. package/dist/reader/parsers/rtf.js +347 -0
  386. package/dist/reader/parsers/rtf.js.map +1 -0
  387. package/dist/reader/parsers/source.d.ts +32 -0
  388. package/dist/reader/parsers/source.d.ts.map +1 -0
  389. package/dist/reader/parsers/source.js +122 -0
  390. package/dist/reader/parsers/source.js.map +1 -0
  391. package/dist/reader/parsers/txt.d.ts +25 -0
  392. package/dist/reader/parsers/txt.d.ts.map +1 -0
  393. package/dist/reader/parsers/txt.js +56 -0
  394. package/dist/reader/parsers/txt.js.map +1 -0
  395. package/dist/reader/parsers/xlsx.d.ts +33 -0
  396. package/dist/reader/parsers/xlsx.d.ts.map +1 -0
  397. package/dist/reader/parsers/xlsx.js +143 -0
  398. package/dist/reader/parsers/xlsx.js.map +1 -0
  399. package/dist/reader/registry.d.ts +39 -0
  400. package/dist/reader/registry.d.ts.map +1 -0
  401. package/dist/reader/registry.js +172 -0
  402. package/dist/reader/registry.js.map +1 -0
  403. package/dist/reader/search.d.ts +27 -0
  404. package/dist/reader/search.d.ts.map +1 -0
  405. package/dist/reader/search.js +77 -0
  406. package/dist/reader/search.js.map +1 -0
  407. package/dist/reader/state.d.ts +56 -0
  408. package/dist/reader/state.d.ts.map +1 -0
  409. package/dist/reader/state.js +179 -0
  410. package/dist/reader/state.js.map +1 -0
  411. package/dist/reader/types.d.ts +119 -0
  412. package/dist/reader/types.d.ts.map +1 -0
  413. package/dist/reader/types.js +23 -0
  414. package/dist/reader/types.js.map +1 -0
  415. package/dist/ship/run.d.ts +26 -0
  416. package/dist/ship/run.d.ts.map +1 -0
  417. package/dist/ship/run.js +123 -0
  418. package/dist/ship/run.js.map +1 -0
  419. package/dist/template/index.d.ts +50 -0
  420. package/dist/template/index.d.ts.map +1 -0
  421. package/dist/template/index.js +140 -0
  422. package/dist/template/index.js.map +1 -0
  423. package/dist/ui/colors.d.ts +13 -0
  424. package/dist/ui/colors.d.ts.map +1 -0
  425. package/dist/ui/colors.js +26 -0
  426. package/dist/ui/colors.js.map +1 -0
  427. package/dist/validate/index.d.ts +19 -0
  428. package/dist/validate/index.d.ts.map +1 -0
  429. package/dist/validate/index.js +181 -0
  430. package/dist/validate/index.js.map +1 -0
  431. package/dist/vault/catalog.d.ts +55 -0
  432. package/dist/vault/catalog.d.ts.map +1 -0
  433. package/dist/vault/catalog.js +424 -0
  434. package/dist/vault/catalog.js.map +1 -0
  435. package/dist/vault/crypto.d.ts +82 -0
  436. package/dist/vault/crypto.d.ts.map +1 -0
  437. package/dist/vault/crypto.js +173 -0
  438. package/dist/vault/crypto.js.map +1 -0
  439. package/dist/vault/git_askpass.d.ts +26 -0
  440. package/dist/vault/git_askpass.d.ts.map +1 -0
  441. package/dist/vault/git_askpass.js +104 -0
  442. package/dist/vault/git_askpass.js.map +1 -0
  443. package/dist/vault/migrator.d.ts +57 -0
  444. package/dist/vault/migrator.d.ts.map +1 -0
  445. package/dist/vault/migrator.js +204 -0
  446. package/dist/vault/migrator.js.map +1 -0
  447. package/dist/vault/redactor.d.ts +73 -0
  448. package/dist/vault/redactor.d.ts.map +1 -0
  449. package/dist/vault/redactor.js +182 -0
  450. package/dist/vault/redactor.js.map +1 -0
  451. package/dist/vault/store.d.ts +132 -0
  452. package/dist/vault/store.d.ts.map +1 -0
  453. package/dist/vault/store.js +335 -0
  454. package/dist/vault/store.js.map +1 -0
  455. package/dist/version.d.ts +8 -0
  456. package/dist/version.d.ts.map +1 -0
  457. package/dist/version.js +8 -0
  458. package/dist/version.js.map +1 -0
  459. package/dist/voice/chunker.d.ts +43 -0
  460. package/dist/voice/chunker.d.ts.map +1 -0
  461. package/dist/voice/chunker.js +133 -0
  462. package/dist/voice/chunker.js.map +1 -0
  463. package/dist/voice/config.d.ts +14 -0
  464. package/dist/voice/config.d.ts.map +1 -0
  465. package/dist/voice/config.js +51 -0
  466. package/dist/voice/config.js.map +1 -0
  467. package/dist/voice/intents.d.ts +71 -0
  468. package/dist/voice/intents.d.ts.map +1 -0
  469. package/dist/voice/intents.js +0 -0
  470. package/dist/voice/intents.js.map +1 -0
  471. package/dist/voice/providers/elevenlabs.d.ts +53 -0
  472. package/dist/voice/providers/elevenlabs.d.ts.map +1 -0
  473. package/dist/voice/providers/elevenlabs.js +159 -0
  474. package/dist/voice/providers/elevenlabs.js.map +1 -0
  475. package/dist/voice/providers/google.d.ts +56 -0
  476. package/dist/voice/providers/google.d.ts.map +1 -0
  477. package/dist/voice/providers/google.js +253 -0
  478. package/dist/voice/providers/google.js.map +1 -0
  479. package/dist/voice/providers/whisper.d.ts +44 -0
  480. package/dist/voice/providers/whisper.d.ts.map +1 -0
  481. package/dist/voice/providers/whisper.js +179 -0
  482. package/dist/voice/providers/whisper.js.map +1 -0
  483. package/dist/voice/registry.d.ts +35 -0
  484. package/dist/voice/registry.d.ts.map +1 -0
  485. package/dist/voice/registry.js +48 -0
  486. package/dist/voice/registry.js.map +1 -0
  487. package/dist/voice/router.d.ts +62 -0
  488. package/dist/voice/router.d.ts.map +1 -0
  489. package/dist/voice/router.js +175 -0
  490. package/dist/voice/router.js.map +1 -0
  491. package/dist/voice/types.d.ts +116 -0
  492. package/dist/voice/types.d.ts.map +1 -0
  493. package/dist/voice/types.js +22 -0
  494. package/dist/voice/types.js.map +1 -0
  495. package/dist/voice/voiceprint/enrollment.d.ts +36 -0
  496. package/dist/voice/voiceprint/enrollment.d.ts.map +1 -0
  497. package/dist/voice/voiceprint/enrollment.js +71 -0
  498. package/dist/voice/voiceprint/enrollment.js.map +1 -0
  499. package/dist/voice/voiceprint/identify.d.ts +16 -0
  500. package/dist/voice/voiceprint/identify.d.ts.map +1 -0
  501. package/dist/voice/voiceprint/identify.js +20 -0
  502. package/dist/voice/voiceprint/identify.js.map +1 -0
  503. package/dist/voice/voiceprint/liveness.d.ts +90 -0
  504. package/dist/voice/voiceprint/liveness.d.ts.map +1 -0
  505. package/dist/voice/voiceprint/liveness.js +251 -0
  506. package/dist/voice/voiceprint/liveness.js.map +1 -0
  507. package/dist/voice/voiceprint/match.d.ts +54 -0
  508. package/dist/voice/voiceprint/match.d.ts.map +1 -0
  509. package/dist/voice/voiceprint/match.js +88 -0
  510. package/dist/voice/voiceprint/match.js.map +1 -0
  511. package/dist/voice/voiceprint/providers/local-mfcc-stub.d.ts +44 -0
  512. package/dist/voice/voiceprint/providers/local-mfcc-stub.d.ts.map +1 -0
  513. package/dist/voice/voiceprint/providers/local-mfcc-stub.js +92 -0
  514. package/dist/voice/voiceprint/providers/local-mfcc-stub.js.map +1 -0
  515. package/dist/voice/voiceprint/store.d.ts +60 -0
  516. package/dist/voice/voiceprint/store.d.ts.map +1 -0
  517. package/dist/voice/voiceprint/store.js +155 -0
  518. package/dist/voice/voiceprint/store.js.map +1 -0
  519. package/dist/voice/voiceprint/trust.d.ts +90 -0
  520. package/dist/voice/voiceprint/trust.d.ts.map +1 -0
  521. package/dist/voice/voiceprint/trust.js +150 -0
  522. package/dist/voice/voiceprint/trust.js.map +1 -0
  523. package/dist/voice/voiceprint/types.d.ts +100 -0
  524. package/dist/voice/voiceprint/types.d.ts.map +1 -0
  525. package/dist/voice/voiceprint/types.js +23 -0
  526. package/dist/voice/voiceprint/types.js.map +1 -0
  527. package/dist/voice/wake.d.ts +64 -0
  528. package/dist/voice/wake.d.ts.map +1 -0
  529. package/dist/voice/wake.js +143 -0
  530. package/dist/voice/wake.js.map +1 -0
  531. package/docs/manuals/manual.ar.html +91 -0
  532. package/docs/manuals/manual.de.html +100 -0
  533. package/docs/manuals/manual.en.html +118 -0
  534. package/docs/manuals/manual.es.html +120 -0
  535. package/docs/manuals/manual.fr.html +102 -0
  536. package/docs/manuals/manual.hi.html +93 -0
  537. package/docs/manuals/manual.it.html +93 -0
  538. package/docs/manuals/manual.ja.html +97 -0
  539. package/docs/manuals/manual.pt.html +103 -0
  540. package/docs/manuals/manual.zh.html +89 -0
  541. package/package.json +94 -0
  542. package/src/i18n/catalogs/ar.json +86 -0
  543. package/src/i18n/catalogs/de.json +86 -0
  544. package/src/i18n/catalogs/en.json +86 -0
  545. package/src/i18n/catalogs/es.json +86 -0
  546. package/src/i18n/catalogs/fr.json +86 -0
  547. package/src/i18n/catalogs/hi.json +86 -0
  548. package/src/i18n/catalogs/it.json +86 -0
  549. package/src/i18n/catalogs/ja.json +86 -0
  550. package/src/i18n/catalogs/pt.json +86 -0
  551. package/src/i18n/catalogs/zh.json +86 -0
  552. package/templates/react-app/README.md +43 -0
  553. package/templates/react-app/index.html +12 -0
  554. package/templates/react-app/package.json +35 -0
  555. package/templates/react-app/src/App.tsx +106 -0
  556. package/templates/react-app/src/main.tsx +21 -0
  557. package/templates/react-app/src/nac/manifest.ts +46 -0
  558. package/templates/react-app/src/styles.css +68 -0
  559. package/templates/react-app/tsconfig.json +19 -0
  560. package/templates/react-app/vite.config.ts +12 -0
  561. package/templates/react-app/yujin.forge.json +15 -0
@@ -0,0 +1,86 @@
1
+ {
2
+ "panel.brand": "Yujin Forge",
3
+ "panel.brand.kanji": "侑",
4
+ "panel.tagline": "Asistente de desarrollo por voz",
5
+ "panel.input.placeholder": "Preguntale a Yujin",
6
+ "panel.button.send": "Enviar",
7
+ "panel.button.mic": "Hablar (mantener presionado)",
8
+ "panel.button.mic.recording": "Presione para detener la grabacion",
9
+ "panel.button.tts": "Voz activada",
10
+ "panel.button.keys": "Claves",
11
+ "panel.button.minimise": "Reducir",
12
+ "panel.button.maximise": "Maximizar",
13
+ "panel.button.close": "Cerrar",
14
+ "panel.button.language": "Idioma",
15
+
16
+ "panel.trace.title": "Trace de acciones",
17
+ "panel.trace.count.one": "{n} llamada a herramienta",
18
+ "panel.trace.count.other": "{n} llamadas a herramientas",
19
+ "panel.trace.empty.kanji": "空",
20
+ "panel.trace.empty.body": "Yujin Forge muestra aca cada herramienta que invoca para responderte: lectura del manifest, busqueda en el SPEC, edicion de componentes, lectura de documentos. Hace una pregunta que requiera consultarlos.",
21
+ "panel.trace.badge.tool": "TOOL",
22
+ "panel.trace.badge.voice": "VOZ",
23
+ "panel.trace.badge.error": "ERROR",
24
+
25
+ "panel.stream.empty.kanji": "侑仁",
26
+ "panel.stream.empty.body": "Yujin Forge en linea. Pedile cambios al proyecto.",
27
+
28
+ "panel.status.no_audio": "No se capturo audio. Probablemente el microfono no recibio nada.",
29
+ "panel.status.did_not_catch": "No te entendi. Probemos de nuevo.",
30
+ "panel.status.mic_denied": "Permiso de microfono denegado o no disponible: {error}",
31
+ "panel.status.voice_failed": "La voz fallo: {error}",
32
+ "panel.status.voice_reply_failed": "No pude reproducir la respuesta: {error}",
33
+ "panel.status.audio_play_error": "No pude reproducir el audio: {error}",
34
+ "panel.status.reading": "Leyendo {filename}...",
35
+ "panel.status.ingest_failed": "La ingesta fallo: {error}",
36
+ "panel.status.read_failed": "No pude leer la especificacion: {error}",
37
+
38
+ "panel.drop.title": "Solta la especificacion aca",
39
+ "panel.drop.hint": "PDF, DOCX, HTML, MD, RTF, EPUB, CSV, XLSX, TXT",
40
+
41
+ "panel.ingest.spec_attached": "Especificacion adjunta: {filename}, {kb} KB",
42
+ "panel.ingest.read_label": "Leida.",
43
+ "panel.ingest.title_label": "Titulo: {title}",
44
+ "panel.ingest.no_title": "(sin titulo)",
45
+ "panel.ingest.format_label": "Formato: {format} / {sections} seccion(es) / {kb} KB",
46
+ "panel.ingest.first_lines": "Primeras lineas:",
47
+ "panel.ingest.action_done": "Accion {tool} completada.",
48
+
49
+ "vault.modal.title": "Credenciales (vault)",
50
+ "vault.modal.aria.close": "Cerrar modal de credenciales",
51
+ "vault.tab.list": "Slots cargados",
52
+ "vault.tab.add": "Agregar",
53
+ "vault.list.loading": "Cargando...",
54
+ "vault.list.empty": "Todavia no cargaste ninguna clave. Hace click en la pestana \"Agregar\" para empezar.",
55
+ "vault.add.slot_label": "Nombre del slot",
56
+ "vault.add.slot_hint": "Letras minusculas, digitos, guion bajo, guion. Tiene que empezar con letra.",
57
+ "vault.add.value_label": "Valor en texto plano (oculto)",
58
+ "vault.add.value_hint": "Se muestra una sola vez al guardar. Despues solo se puede reemplazar, no leer.",
59
+ "vault.add.button_save": "Guardar",
60
+ "vault.add.button_cancel": "Cancelar",
61
+ "vault.add.success": "Slot {slot} guardado.",
62
+ "vault.add.overwrite": "Slot {slot} sobrescrito.",
63
+
64
+ "manual.intro": "Yujin Forge -- manual de usuario",
65
+ "manual.section.welcome": "Bienvenida",
66
+ "manual.section.install": "Instalacion",
67
+ "manual.section.first_run": "Primera ejecucion",
68
+ "manual.section.voice": "Comandos por voz",
69
+ "manual.section.spec_ingest": "Ingesta de especificaciones",
70
+ "manual.section.troubleshooting": "Solucion de problemas",
71
+ "manual.section.support": "Soporte",
72
+
73
+ "lang.name.es": "Espanol",
74
+ "lang.name.en": "English",
75
+ "lang.name.pt": "Portugues",
76
+ "lang.name.fr": "Francais",
77
+ "lang.name.ja": "Nihongo",
78
+ "lang.name.zh": "Zhongwen",
79
+ "lang.name.hi": "Hindi",
80
+ "lang.name.ar": "Arabi",
81
+ "lang.name.de": "Deutsch",
82
+ "lang.name.it": "Italiano",
83
+
84
+ "recap.fallback_period": ".",
85
+ "recap.empty": "No hay nada que recordar todavia."
86
+ }
@@ -0,0 +1,86 @@
1
+ {
2
+ "panel.brand": "Yujin Forge",
3
+ "panel.brand.kanji": "侑",
4
+ "panel.tagline": "Assistant de developpement vocal",
5
+ "panel.input.placeholder": "Demande a Yujin",
6
+ "panel.button.send": "Envoyer",
7
+ "panel.button.mic": "Parler (maintenir)",
8
+ "panel.button.mic.recording": "Appuyer pour arreter l'enregistrement",
9
+ "panel.button.tts": "Voix activee",
10
+ "panel.button.keys": "Cles",
11
+ "panel.button.minimise": "Reduire",
12
+ "panel.button.maximise": "Agrandir",
13
+ "panel.button.close": "Fermer",
14
+ "panel.button.language": "Langue",
15
+
16
+ "panel.trace.title": "Trace des actions",
17
+ "panel.trace.count.one": "{n} appel d'outil",
18
+ "panel.trace.count.other": "{n} appels d'outils",
19
+ "panel.trace.empty.kanji": "空",
20
+ "panel.trace.empty.body": "Yujin Forge affiche ici chaque outil qu'il invoque pour te repondre : lecture du manifest, recherche dans le SPEC, edition de composants, lecture de documents. Pose une question qui necessite de les consulter.",
21
+ "panel.trace.badge.tool": "OUTIL",
22
+ "panel.trace.badge.voice": "VOIX",
23
+ "panel.trace.badge.error": "ERREUR",
24
+
25
+ "panel.stream.empty.kanji": "侑仁",
26
+ "panel.stream.empty.body": "Yujin Forge en ligne. Demande des changements au projet.",
27
+
28
+ "panel.status.no_audio": "Aucun audio capture. Le micro n'a probablement rien recu.",
29
+ "panel.status.did_not_catch": "Je n'ai pas compris. Essayons a nouveau.",
30
+ "panel.status.mic_denied": "Permission micro refusee ou indisponible : {error}",
31
+ "panel.status.voice_failed": "La voix a echoue : {error}",
32
+ "panel.status.voice_reply_failed": "Impossible de lire la reponse : {error}",
33
+ "panel.status.audio_play_error": "Impossible de lire l'audio : {error}",
34
+ "panel.status.reading": "Lecture de {filename}...",
35
+ "panel.status.ingest_failed": "L'ingestion a echoue : {error}",
36
+ "panel.status.read_failed": "Impossible de lire la specification : {error}",
37
+
38
+ "panel.drop.title": "Depose la specification ici",
39
+ "panel.drop.hint": "PDF, DOCX, HTML, MD, RTF, EPUB, CSV, XLSX, TXT",
40
+
41
+ "panel.ingest.spec_attached": "Specification jointe : {filename}, {kb} KB",
42
+ "panel.ingest.read_label": "Lue.",
43
+ "panel.ingest.title_label": "Titre : {title}",
44
+ "panel.ingest.no_title": "(sans titre)",
45
+ "panel.ingest.format_label": "Format : {format} / {sections} section(s) / {kb} KB",
46
+ "panel.ingest.first_lines": "Premieres lignes :",
47
+ "panel.ingest.action_done": "Action {tool} terminee.",
48
+
49
+ "vault.modal.title": "Identifiants (vault)",
50
+ "vault.modal.aria.close": "Fermer la modale des identifiants",
51
+ "vault.tab.list": "Slots charges",
52
+ "vault.tab.add": "Ajouter",
53
+ "vault.list.loading": "Chargement...",
54
+ "vault.list.empty": "Tu n'as encore charge aucune cle. Clique sur \"Ajouter\" pour commencer.",
55
+ "vault.add.slot_label": "Nom du slot",
56
+ "vault.add.slot_hint": "Lettres minuscules, chiffres, soulignement, tiret. Doit commencer par une lettre.",
57
+ "vault.add.value_label": "Valeur en clair (masquee)",
58
+ "vault.add.value_hint": "Affichee une seule fois lors de la sauvegarde. Apres, tu peux la remplacer mais pas la relire.",
59
+ "vault.add.button_save": "Enregistrer",
60
+ "vault.add.button_cancel": "Annuler",
61
+ "vault.add.success": "Slot {slot} enregistre.",
62
+ "vault.add.overwrite": "Slot {slot} ecrase.",
63
+
64
+ "manual.intro": "Yujin Forge -- manuel utilisateur",
65
+ "manual.section.welcome": "Bienvenue",
66
+ "manual.section.install": "Installation",
67
+ "manual.section.first_run": "Premiere execution",
68
+ "manual.section.voice": "Commandes vocales",
69
+ "manual.section.spec_ingest": "Ingestion de specifications",
70
+ "manual.section.troubleshooting": "Depannage",
71
+ "manual.section.support": "Support",
72
+
73
+ "lang.name.es": "Espagnol",
74
+ "lang.name.en": "Anglais",
75
+ "lang.name.pt": "Portugais",
76
+ "lang.name.fr": "Francais",
77
+ "lang.name.ja": "Japonais",
78
+ "lang.name.zh": "Chinois",
79
+ "lang.name.hi": "Hindi",
80
+ "lang.name.ar": "Arabe",
81
+ "lang.name.de": "Allemand",
82
+ "lang.name.it": "Italien",
83
+
84
+ "recap.fallback_period": ".",
85
+ "recap.empty": "Il n'y a rien a resumer pour l'instant."
86
+ }
@@ -0,0 +1,86 @@
1
+ {
2
+ "panel.brand": "Yujin Forge",
3
+ "panel.brand.kanji": "侑",
4
+ "panel.tagline": "वॉइस-फर्स्ट डेवलपमेंट असिस्टेंट",
5
+ "panel.input.placeholder": "Yujin से पूछें",
6
+ "panel.button.send": "भेजें",
7
+ "panel.button.mic": "बोलें (दबाकर रखें)",
8
+ "panel.button.mic.recording": "रिकॉर्डिंग रोकने के लिए दबाएँ",
9
+ "panel.button.tts": "आवाज़ चालू",
10
+ "panel.button.keys": "कुंजियाँ",
11
+ "panel.button.minimise": "छोटा करें",
12
+ "panel.button.maximise": "बड़ा करें",
13
+ "panel.button.close": "बंद करें",
14
+ "panel.button.language": "भाषा",
15
+
16
+ "panel.trace.title": "क्रिया लॉग",
17
+ "panel.trace.count.one": "{n} टूल कॉल",
18
+ "panel.trace.count.other": "{n} टूल कॉल्स",
19
+ "panel.trace.empty.kanji": "空",
20
+ "panel.trace.empty.body": "Yujin Forge आपको जवाब देने के लिए जो भी टूल चलाता है, वह यहाँ दिखाता है: मैनिफेस्ट पढ़ना, SPEC में खोज, कंपोनेंट्स संपादन, दस्तावेज़ पढ़ना। ऐसा कोई प्रश्न पूछें जिसमें इनकी ज़रूरत हो।",
21
+ "panel.trace.badge.tool": "टूल",
22
+ "panel.trace.badge.voice": "आवाज़",
23
+ "panel.trace.badge.error": "त्रुटि",
24
+
25
+ "panel.stream.empty.kanji": "侑仁",
26
+ "panel.stream.empty.body": "Yujin Forge ऑनलाइन है। प्रोजेक्ट में बदलाव माँगें।",
27
+
28
+ "panel.status.no_audio": "कोई ऑडियो कैप्चर नहीं हुआ। माइक्रोफ़ोन ने शायद कुछ नहीं पकड़ा।",
29
+ "panel.status.did_not_catch": "मैं समझ नहीं पाया। फिर से कोशिश करें।",
30
+ "panel.status.mic_denied": "माइक्रोफ़ोन अनुमति अस्वीकृत या अनुपलब्ध: {error}",
31
+ "panel.status.voice_failed": "आवाज़ विफल: {error}",
32
+ "panel.status.voice_reply_failed": "उत्तर नहीं चला सका: {error}",
33
+ "panel.status.audio_play_error": "ऑडियो नहीं चला सका: {error}",
34
+ "panel.status.reading": "{filename} पढ़ रहा हूँ...",
35
+ "panel.status.ingest_failed": "इनजेस्ट विफल: {error}",
36
+ "panel.status.read_failed": "विनिर्देश नहीं पढ़ सका: {error}",
37
+
38
+ "panel.drop.title": "विनिर्देश यहाँ छोड़ें",
39
+ "panel.drop.hint": "PDF, DOCX, HTML, MD, RTF, EPUB, CSV, XLSX, TXT",
40
+
41
+ "panel.ingest.spec_attached": "विनिर्देश संलग्न: {filename}, {kb} KB",
42
+ "panel.ingest.read_label": "पढ़ा गया।",
43
+ "panel.ingest.title_label": "शीर्षक: {title}",
44
+ "panel.ingest.no_title": "(कोई शीर्षक नहीं)",
45
+ "panel.ingest.format_label": "प्रारूप: {format} / {sections} खंड / {kb} KB",
46
+ "panel.ingest.first_lines": "पहली पंक्तियाँ:",
47
+ "panel.ingest.action_done": "क्रिया {tool} पूर्ण।",
48
+
49
+ "vault.modal.title": "क्रेडेंशियल्स (वॉल्ट)",
50
+ "vault.modal.aria.close": "क्रेडेंशियल्स मोडल बंद करें",
51
+ "vault.tab.list": "लोड किए गए स्लॉट्स",
52
+ "vault.tab.add": "जोड़ें",
53
+ "vault.list.loading": "लोड हो रहा है...",
54
+ "vault.list.empty": "आपने अभी तक कोई कुंजी लोड नहीं की है। शुरू करने के लिए \"जोड़ें\" पर क्लिक करें।",
55
+ "vault.add.slot_label": "स्लॉट का नाम",
56
+ "vault.add.slot_hint": "छोटे अक्षर, अंक, अंडरस्कोर, हाइफ़न। अक्षर से शुरू होना चाहिए।",
57
+ "vault.add.value_label": "सादा-पाठ मान (मास्क किया गया)",
58
+ "vault.add.value_hint": "सहेजते समय केवल एक बार दिखाई देता है। बाद में बदला जा सकता है पर पढ़ा नहीं जा सकता।",
59
+ "vault.add.button_save": "सहेजें",
60
+ "vault.add.button_cancel": "रद्द करें",
61
+ "vault.add.success": "स्लॉट {slot} सहेजा गया।",
62
+ "vault.add.overwrite": "स्लॉट {slot} ओवरराइट किया गया।",
63
+
64
+ "manual.intro": "Yujin Forge -- उपयोगकर्ता मैनुअल",
65
+ "manual.section.welcome": "स्वागत है",
66
+ "manual.section.install": "स्थापना",
67
+ "manual.section.first_run": "पहला रन",
68
+ "manual.section.voice": "वॉइस कमांड्स",
69
+ "manual.section.spec_ingest": "विनिर्देश इनजेस्ट",
70
+ "manual.section.troubleshooting": "समस्या निवारण",
71
+ "manual.section.support": "सहायता",
72
+
73
+ "lang.name.es": "स्पेनिश",
74
+ "lang.name.en": "अंग्रेज़ी",
75
+ "lang.name.pt": "पुर्तगाली",
76
+ "lang.name.fr": "फ़्रांसीसी",
77
+ "lang.name.ja": "जापानी",
78
+ "lang.name.zh": "चीनी",
79
+ "lang.name.hi": "हिन्दी",
80
+ "lang.name.ar": "अरबी",
81
+ "lang.name.de": "जर्मन",
82
+ "lang.name.it": "इतालवी",
83
+
84
+ "recap.fallback_period": "।",
85
+ "recap.empty": "अभी सारांश के लिए कुछ नहीं है।"
86
+ }
@@ -0,0 +1,86 @@
1
+ {
2
+ "panel.brand": "Yujin Forge",
3
+ "panel.brand.kanji": "侑",
4
+ "panel.tagline": "Assistente di sviluppo a voce",
5
+ "panel.input.placeholder": "Chiedi a Yujin",
6
+ "panel.button.send": "Invia",
7
+ "panel.button.mic": "Parla (tieni premuto)",
8
+ "panel.button.mic.recording": "Premi per fermare la registrazione",
9
+ "panel.button.tts": "Voce attiva",
10
+ "panel.button.keys": "Chiavi",
11
+ "panel.button.minimise": "Riduci",
12
+ "panel.button.maximise": "Ingrandisci",
13
+ "panel.button.close": "Chiudi",
14
+ "panel.button.language": "Lingua",
15
+
16
+ "panel.trace.title": "Traccia delle azioni",
17
+ "panel.trace.count.one": "{n} chiamata a strumento",
18
+ "panel.trace.count.other": "{n} chiamate a strumenti",
19
+ "panel.trace.empty.kanji": "空",
20
+ "panel.trace.empty.body": "Yujin Forge mostra qui ogni strumento che invoca per risponderti: lettura del manifest, ricerca nella SPEC, modifica di componenti, lettura di documenti. Fai una domanda che ne richieda la consultazione.",
21
+ "panel.trace.badge.tool": "STRUMENTO",
22
+ "panel.trace.badge.voice": "VOCE",
23
+ "panel.trace.badge.error": "ERRORE",
24
+
25
+ "panel.stream.empty.kanji": "侑仁",
26
+ "panel.stream.empty.body": "Yujin Forge online. Chiedi modifiche al progetto.",
27
+
28
+ "panel.status.no_audio": "Nessun audio catturato. Il microfono probabilmente non ha ricevuto nulla.",
29
+ "panel.status.did_not_catch": "Non ho capito. Riproviamo.",
30
+ "panel.status.mic_denied": "Permesso microfono negato o non disponibile: {error}",
31
+ "panel.status.voice_failed": "La voce ha fallito: {error}",
32
+ "panel.status.voice_reply_failed": "Non sono riuscito a riprodurre la risposta: {error}",
33
+ "panel.status.audio_play_error": "Non sono riuscito a riprodurre l'audio: {error}",
34
+ "panel.status.reading": "Sto leggendo {filename}...",
35
+ "panel.status.ingest_failed": "L'acquisizione e fallita: {error}",
36
+ "panel.status.read_failed": "Non sono riuscito a leggere la specifica: {error}",
37
+
38
+ "panel.drop.title": "Rilascia qui la specifica",
39
+ "panel.drop.hint": "PDF, DOCX, HTML, MD, RTF, EPUB, CSV, XLSX, TXT",
40
+
41
+ "panel.ingest.spec_attached": "Specifica allegata: {filename}, {kb} KB",
42
+ "panel.ingest.read_label": "Letta.",
43
+ "panel.ingest.title_label": "Titolo: {title}",
44
+ "panel.ingest.no_title": "(senza titolo)",
45
+ "panel.ingest.format_label": "Formato: {format} / {sections} sezione(i) / {kb} KB",
46
+ "panel.ingest.first_lines": "Prime righe:",
47
+ "panel.ingest.action_done": "Azione {tool} completata.",
48
+
49
+ "vault.modal.title": "Credenziali (vault)",
50
+ "vault.modal.aria.close": "Chiudi modale delle credenziali",
51
+ "vault.tab.list": "Slot caricati",
52
+ "vault.tab.add": "Aggiungi",
53
+ "vault.list.loading": "Caricamento...",
54
+ "vault.list.empty": "Non hai ancora caricato nessuna chiave. Clicca su \"Aggiungi\" per iniziare.",
55
+ "vault.add.slot_label": "Nome dello slot",
56
+ "vault.add.slot_hint": "Lettere minuscole, cifre, underscore, trattino. Deve iniziare con una lettera.",
57
+ "vault.add.value_label": "Valore in chiaro (mascherato)",
58
+ "vault.add.value_hint": "Mostrato una sola volta al salvataggio. Dopo si puo sostituire ma non rileggere.",
59
+ "vault.add.button_save": "Salva",
60
+ "vault.add.button_cancel": "Annulla",
61
+ "vault.add.success": "Slot {slot} salvato.",
62
+ "vault.add.overwrite": "Slot {slot} sovrascritto.",
63
+
64
+ "manual.intro": "Yujin Forge -- manuale utente",
65
+ "manual.section.welcome": "Benvenuto",
66
+ "manual.section.install": "Installazione",
67
+ "manual.section.first_run": "Primo avvio",
68
+ "manual.section.voice": "Comandi vocali",
69
+ "manual.section.spec_ingest": "Acquisizione di specifiche",
70
+ "manual.section.troubleshooting": "Risoluzione dei problemi",
71
+ "manual.section.support": "Supporto",
72
+
73
+ "lang.name.es": "Spagnolo",
74
+ "lang.name.en": "Inglese",
75
+ "lang.name.pt": "Portoghese",
76
+ "lang.name.fr": "Francese",
77
+ "lang.name.ja": "Giapponese",
78
+ "lang.name.zh": "Cinese",
79
+ "lang.name.hi": "Hindi",
80
+ "lang.name.ar": "Arabo",
81
+ "lang.name.de": "Tedesco",
82
+ "lang.name.it": "Italiano",
83
+
84
+ "recap.fallback_period": ".",
85
+ "recap.empty": "Non c'e ancora nulla da riassumere."
86
+ }
@@ -0,0 +1,86 @@
1
+ {
2
+ "panel.brand": "Yujin Forge",
3
+ "panel.brand.kanji": "侑",
4
+ "panel.tagline": "音声ファースト開発アシスタント",
5
+ "panel.input.placeholder": "Yujinに質問する",
6
+ "panel.button.send": "送信",
7
+ "panel.button.mic": "話す(長押し)",
8
+ "panel.button.mic.recording": "押して録音を停止",
9
+ "panel.button.tts": "音声有効",
10
+ "panel.button.keys": "鍵",
11
+ "panel.button.minimise": "縮小",
12
+ "panel.button.maximise": "最大化",
13
+ "panel.button.close": "閉じる",
14
+ "panel.button.language": "言語",
15
+
16
+ "panel.trace.title": "アクション履歴",
17
+ "panel.trace.count.one": "{n}回のツール呼び出し",
18
+ "panel.trace.count.other": "{n}回のツール呼び出し",
19
+ "panel.trace.empty.kanji": "空",
20
+ "panel.trace.empty.body": "Yujin Forgeは、応答に呼び出すすべてのツールをここに表示します:マニフェストの読み込み、SPECの検索、コンポーネントの編集、ドキュメントの読み込み。それらを必要とする質問をしてください。",
21
+ "panel.trace.badge.tool": "ツール",
22
+ "panel.trace.badge.voice": "音声",
23
+ "panel.trace.badge.error": "エラー",
24
+
25
+ "panel.stream.empty.kanji": "侑仁",
26
+ "panel.stream.empty.body": "Yujin Forgeはオンラインです。プロジェクトの変更を依頼してください。",
27
+
28
+ "panel.status.no_audio": "音声が取得されませんでした。マイクが何も拾わなかった可能性があります。",
29
+ "panel.status.did_not_catch": "聞き取れませんでした。もう一度試してください。",
30
+ "panel.status.mic_denied": "マイクの許可が拒否されたか利用できません:{error}",
31
+ "panel.status.voice_failed": "音声に失敗しました:{error}",
32
+ "panel.status.voice_reply_failed": "応答を再生できませんでした:{error}",
33
+ "panel.status.audio_play_error": "音声を再生できませんでした:{error}",
34
+ "panel.status.reading": "{filename}を読み込み中...",
35
+ "panel.status.ingest_failed": "取り込みに失敗しました:{error}",
36
+ "panel.status.read_failed": "仕様書を読み込めませんでした:{error}",
37
+
38
+ "panel.drop.title": "仕様書をここにドロップ",
39
+ "panel.drop.hint": "PDF, DOCX, HTML, MD, RTF, EPUB, CSV, XLSX, TXT",
40
+
41
+ "panel.ingest.spec_attached": "仕様書添付:{filename}、{kb} KB",
42
+ "panel.ingest.read_label": "読み込み完了。",
43
+ "panel.ingest.title_label": "タイトル:{title}",
44
+ "panel.ingest.no_title": "(タイトルなし)",
45
+ "panel.ingest.format_label": "形式:{format} / {sections}セクション / {kb} KB",
46
+ "panel.ingest.first_lines": "最初の数行:",
47
+ "panel.ingest.action_done": "アクション{tool}が完了しました。",
48
+
49
+ "vault.modal.title": "認証情報(ボールト)",
50
+ "vault.modal.aria.close": "認証情報モーダルを閉じる",
51
+ "vault.tab.list": "登録済みスロット",
52
+ "vault.tab.add": "追加",
53
+ "vault.list.loading": "読み込み中...",
54
+ "vault.list.empty": "まだ鍵を登録していません。「追加」をクリックして始めてください。",
55
+ "vault.add.slot_label": "スロット名",
56
+ "vault.add.slot_hint": "小文字、数字、アンダースコア、ハイフン。文字で始まる必要があります。",
57
+ "vault.add.value_label": "プレーンテキストの値(マスク済み)",
58
+ "vault.add.value_hint": "保存時に一度だけ表示されます。その後は置き換えのみ可能で再読み込みはできません。",
59
+ "vault.add.button_save": "保存",
60
+ "vault.add.button_cancel": "キャンセル",
61
+ "vault.add.success": "スロット{slot}を保存しました。",
62
+ "vault.add.overwrite": "スロット{slot}を上書きしました。",
63
+
64
+ "manual.intro": "Yujin Forge -- ユーザーマニュアル",
65
+ "manual.section.welcome": "ようこそ",
66
+ "manual.section.install": "インストール",
67
+ "manual.section.first_run": "初回実行",
68
+ "manual.section.voice": "音声コマンド",
69
+ "manual.section.spec_ingest": "仕様書の取り込み",
70
+ "manual.section.troubleshooting": "トラブルシューティング",
71
+ "manual.section.support": "サポート",
72
+
73
+ "lang.name.es": "スペイン語",
74
+ "lang.name.en": "英語",
75
+ "lang.name.pt": "ポルトガル語",
76
+ "lang.name.fr": "フランス語",
77
+ "lang.name.ja": "日本語",
78
+ "lang.name.zh": "中国語",
79
+ "lang.name.hi": "ヒンディー語",
80
+ "lang.name.ar": "アラビア語",
81
+ "lang.name.de": "ドイツ語",
82
+ "lang.name.it": "イタリア語",
83
+
84
+ "recap.fallback_period": "。",
85
+ "recap.empty": "まだ要約するものはありません。"
86
+ }
@@ -0,0 +1,86 @@
1
+ {
2
+ "panel.brand": "Yujin Forge",
3
+ "panel.brand.kanji": "侑",
4
+ "panel.tagline": "Assistente de desenvolvimento por voz",
5
+ "panel.input.placeholder": "Pergunte ao Yujin",
6
+ "panel.button.send": "Enviar",
7
+ "panel.button.mic": "Falar (manter pressionado)",
8
+ "panel.button.mic.recording": "Pressione para parar a gravacao",
9
+ "panel.button.tts": "Voz ativada",
10
+ "panel.button.keys": "Chaves",
11
+ "panel.button.minimise": "Reduzir",
12
+ "panel.button.maximise": "Maximizar",
13
+ "panel.button.close": "Fechar",
14
+ "panel.button.language": "Idioma",
15
+
16
+ "panel.trace.title": "Registro de acoes",
17
+ "panel.trace.count.one": "{n} chamada de ferramenta",
18
+ "panel.trace.count.other": "{n} chamadas de ferramentas",
19
+ "panel.trace.empty.kanji": "空",
20
+ "panel.trace.empty.body": "O Yujin Forge mostra aqui cada ferramenta que invoca para responder a voce: leitura do manifest, busca no SPEC, edicao de componentes, leitura de documentos. Faca uma pergunta que precise consulta-los.",
21
+ "panel.trace.badge.tool": "FERRAMENTA",
22
+ "panel.trace.badge.voice": "VOZ",
23
+ "panel.trace.badge.error": "ERRO",
24
+
25
+ "panel.stream.empty.kanji": "侑仁",
26
+ "panel.stream.empty.body": "Yujin Forge online. Peca mudancas ao projeto.",
27
+
28
+ "panel.status.no_audio": "Nao foi capturado audio. O microfone provavelmente nao recebeu nada.",
29
+ "panel.status.did_not_catch": "Nao entendi. Vamos tentar de novo.",
30
+ "panel.status.mic_denied": "Permissao do microfone negada ou indisponivel: {error}",
31
+ "panel.status.voice_failed": "A voz falhou: {error}",
32
+ "panel.status.voice_reply_failed": "Nao consegui reproduzir a resposta: {error}",
33
+ "panel.status.audio_play_error": "Nao consegui reproduzir o audio: {error}",
34
+ "panel.status.reading": "Lendo {filename}...",
35
+ "panel.status.ingest_failed": "A ingestao falhou: {error}",
36
+ "panel.status.read_failed": "Nao consegui ler a especificacao: {error}",
37
+
38
+ "panel.drop.title": "Solte a especificacao aqui",
39
+ "panel.drop.hint": "PDF, DOCX, HTML, MD, RTF, EPUB, CSV, XLSX, TXT",
40
+
41
+ "panel.ingest.spec_attached": "Especificacao anexada: {filename}, {kb} KB",
42
+ "panel.ingest.read_label": "Lida.",
43
+ "panel.ingest.title_label": "Titulo: {title}",
44
+ "panel.ingest.no_title": "(sem titulo)",
45
+ "panel.ingest.format_label": "Formato: {format} / {sections} secao(oes) / {kb} KB",
46
+ "panel.ingest.first_lines": "Primeiras linhas:",
47
+ "panel.ingest.action_done": "Acao {tool} concluida.",
48
+
49
+ "vault.modal.title": "Credenciais (vault)",
50
+ "vault.modal.aria.close": "Fechar modal de credenciais",
51
+ "vault.tab.list": "Slots carregados",
52
+ "vault.tab.add": "Adicionar",
53
+ "vault.list.loading": "Carregando...",
54
+ "vault.list.empty": "Voce ainda nao carregou nenhuma chave. Clique em \"Adicionar\" para comecar.",
55
+ "vault.add.slot_label": "Nome do slot",
56
+ "vault.add.slot_hint": "Letras minusculas, digitos, sublinhado, hifen. Deve comecar com letra.",
57
+ "vault.add.value_label": "Valor em texto claro (oculto)",
58
+ "vault.add.value_hint": "Aparece uma so vez ao salvar. Depois pode ser substituido mas nao lido.",
59
+ "vault.add.button_save": "Salvar",
60
+ "vault.add.button_cancel": "Cancelar",
61
+ "vault.add.success": "Slot {slot} salvo.",
62
+ "vault.add.overwrite": "Slot {slot} sobrescrito.",
63
+
64
+ "manual.intro": "Yujin Forge -- manual do usuario",
65
+ "manual.section.welcome": "Boas-vindas",
66
+ "manual.section.install": "Instalacao",
67
+ "manual.section.first_run": "Primeira execucao",
68
+ "manual.section.voice": "Comandos por voz",
69
+ "manual.section.spec_ingest": "Ingestao de especificacoes",
70
+ "manual.section.troubleshooting": "Solucao de problemas",
71
+ "manual.section.support": "Suporte",
72
+
73
+ "lang.name.es": "Espanhol",
74
+ "lang.name.en": "Ingles",
75
+ "lang.name.pt": "Portugues",
76
+ "lang.name.fr": "Frances",
77
+ "lang.name.ja": "Japones",
78
+ "lang.name.zh": "Chines",
79
+ "lang.name.hi": "Hindi",
80
+ "lang.name.ar": "Arabe",
81
+ "lang.name.de": "Alemao",
82
+ "lang.name.it": "Italiano",
83
+
84
+ "recap.fallback_period": ".",
85
+ "recap.empty": "Ainda nao ha nada para resumir."
86
+ }
@@ -0,0 +1,86 @@
1
+ {
2
+ "panel.brand": "Yujin Forge",
3
+ "panel.brand.kanji": "侑",
4
+ "panel.tagline": "语音优先开发助手",
5
+ "panel.input.placeholder": "向Yujin提问",
6
+ "panel.button.send": "发送",
7
+ "panel.button.mic": "讲话(按住)",
8
+ "panel.button.mic.recording": "按下以停止录音",
9
+ "panel.button.tts": "语音已开启",
10
+ "panel.button.keys": "密钥",
11
+ "panel.button.minimise": "缩小",
12
+ "panel.button.maximise": "最大化",
13
+ "panel.button.close": "关闭",
14
+ "panel.button.language": "语言",
15
+
16
+ "panel.trace.title": "操作记录",
17
+ "panel.trace.count.one": "{n}次工具调用",
18
+ "panel.trace.count.other": "{n}次工具调用",
19
+ "panel.trace.empty.kanji": "空",
20
+ "panel.trace.empty.body": "Yujin Forge会在此显示它为回答你而调用的每个工具:读取清单、搜索SPEC、编辑组件、读取文档。请提一个需要查阅这些的问题。",
21
+ "panel.trace.badge.tool": "工具",
22
+ "panel.trace.badge.voice": "语音",
23
+ "panel.trace.badge.error": "错误",
24
+
25
+ "panel.stream.empty.kanji": "侑仁",
26
+ "panel.stream.empty.body": "Yujin Forge 已上线。请求修改项目。",
27
+
28
+ "panel.status.no_audio": "未捕获音频。麦克风可能没有接收到任何内容。",
29
+ "panel.status.did_not_catch": "我没听清。请再试一次。",
30
+ "panel.status.mic_denied": "麦克风权限被拒绝或不可用:{error}",
31
+ "panel.status.voice_failed": "语音失败:{error}",
32
+ "panel.status.voice_reply_failed": "无法播放回复:{error}",
33
+ "panel.status.audio_play_error": "无法播放音频:{error}",
34
+ "panel.status.reading": "正在读取{filename}...",
35
+ "panel.status.ingest_failed": "导入失败:{error}",
36
+ "panel.status.read_failed": "无法读取规范:{error}",
37
+
38
+ "panel.drop.title": "在此处放置规范",
39
+ "panel.drop.hint": "PDF, DOCX, HTML, MD, RTF, EPUB, CSV, XLSX, TXT",
40
+
41
+ "panel.ingest.spec_attached": "已附加规范:{filename},{kb} KB",
42
+ "panel.ingest.read_label": "已读取。",
43
+ "panel.ingest.title_label": "标题:{title}",
44
+ "panel.ingest.no_title": "(无标题)",
45
+ "panel.ingest.format_label": "格式:{format} / {sections}个章节 / {kb} KB",
46
+ "panel.ingest.first_lines": "开头几行:",
47
+ "panel.ingest.action_done": "操作{tool}已完成。",
48
+
49
+ "vault.modal.title": "凭据(保险库)",
50
+ "vault.modal.aria.close": "关闭凭据模态框",
51
+ "vault.tab.list": "已加载的插槽",
52
+ "vault.tab.add": "添加",
53
+ "vault.list.loading": "加载中...",
54
+ "vault.list.empty": "你还没有加载任何密钥。点击\"添加\"开始。",
55
+ "vault.add.slot_label": "插槽名称",
56
+ "vault.add.slot_hint": "小写字母、数字、下划线、连字符。必须以字母开头。",
57
+ "vault.add.value_label": "明文值(已掩码)",
58
+ "vault.add.value_hint": "仅在保存时显示一次。之后只能替换,无法再次读取。",
59
+ "vault.add.button_save": "保存",
60
+ "vault.add.button_cancel": "取消",
61
+ "vault.add.success": "已保存插槽{slot}。",
62
+ "vault.add.overwrite": "已覆盖插槽{slot}。",
63
+
64
+ "manual.intro": "Yujin Forge -- 用户手册",
65
+ "manual.section.welcome": "欢迎",
66
+ "manual.section.install": "安装",
67
+ "manual.section.first_run": "首次运行",
68
+ "manual.section.voice": "语音命令",
69
+ "manual.section.spec_ingest": "规范导入",
70
+ "manual.section.troubleshooting": "故障排除",
71
+ "manual.section.support": "支持",
72
+
73
+ "lang.name.es": "西班牙语",
74
+ "lang.name.en": "英语",
75
+ "lang.name.pt": "葡萄牙语",
76
+ "lang.name.fr": "法语",
77
+ "lang.name.ja": "日语",
78
+ "lang.name.zh": "中文",
79
+ "lang.name.hi": "印地语",
80
+ "lang.name.ar": "阿拉伯语",
81
+ "lang.name.de": "德语",
82
+ "lang.name.it": "意大利语",
83
+
84
+ "recap.fallback_period": "。",
85
+ "recap.empty": "暂时没有可以回顾的内容。"
86
+ }
@@ -0,0 +1,43 @@
1
+ # %%PROJECT_NAME%%
2
+
3
+ Generated by [Yujin Forge](https://github.com/pkuschnirof/yujin-forge).
4
+ React + Vite + NAC-3 by construction.
5
+
6
+ ## Develop
7
+
8
+ ```bash
9
+ npm install
10
+ npm run dev # vite at http://localhost:5173
11
+ ```
12
+
13
+ ## Test
14
+
15
+ ```bash
16
+ npm test # vitest unit
17
+ npm run test:e2e # playwright e2e
18
+ ```
19
+
20
+ ## Ship
21
+
22
+ ```bash
23
+ npm run build # tsc + vite build -> dist/
24
+ yf ship # forge gate (tests + nac validate + license)
25
+ ```
26
+
27
+ ## What Forge gave you
28
+
29
+ - `src/nac/manifest.ts` -- NAC-3 manifest pre-wired.
30
+ - `data-nac-*` attrs on every interactive element.
31
+ - `yujin.forge.json` -- project config + license ref.
32
+ - Starter Playwright + Vitest setup (test catalogue
33
+ expands as you add components via `yf chat`).
34
+
35
+ ## Add a feature
36
+
37
+ ```bash
38
+ yf chat
39
+ > Add a "priority" column to the todos list, with low / med / high.
40
+ ```
41
+
42
+ The chat panel proposes the diff; you approve; Forge writes
43
+ the component + the manifest entry + the tests.