blacksmith-organization-system 0.4.2 → 1.0.0-dev.3

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 (355) hide show
  1. package/.claude-plugin/marketplace.json +17 -0
  2. package/.claude-plugin/mcp.json +8 -0
  3. package/.claude-plugin/plugin.json +16 -0
  4. package/AGENTS.md +114 -0
  5. package/CLAUDE.md +1 -0
  6. package/LICENSE +1 -1
  7. package/README.md +74 -57
  8. package/bin/bos +3 -0
  9. package/hooks/hooks.json +40 -0
  10. package/package.json +82 -22
  11. package/resources/house/HOUSE.md +22 -0
  12. package/resources/house/bloodlines.json +35 -0
  13. package/resources/house/children/deepseeks-of-anubis.json +4 -0
  14. package/resources/house/children/eon.json +7 -0
  15. package/resources/house/children/hermetic-officer.json +1 -0
  16. package/resources/house/children/ifrit.json +1 -0
  17. package/resources/house/children/license-keepers.json +4 -0
  18. package/resources/house/children/sebas.json +10 -0
  19. package/resources/house/children/shakespeare.json +10 -0
  20. package/resources/house/orders/ravensarmy.json +6 -0
  21. package/resources/house/orders/seiaic-ucdi.json +5 -0
  22. package/resources/ravens/skryba.md +19 -0
  23. package/resources/workshop-root/AGENTS.md +92 -0
  24. package/resources/workshop-root/CLAUDE.md +1 -0
  25. package/resources/workshop.default.json +6 -0
  26. package/skills/bos-archive/SKILL.md +28 -0
  27. package/skills/bos-craftbook/SKILL.md +32 -0
  28. package/skills/bos-craftset/SKILL.md +36 -0
  29. package/skills/bos-devarmory/SKILL.md +34 -0
  30. package/skills/bos-exhibit/SKILL.md +28 -0
  31. package/skills/bos-forge/SKILL.md +28 -0
  32. package/skills/bos-house/SKILL.md +52 -0
  33. package/skills/bos-project/SKILL.md +27 -0
  34. package/skills/bos-sarcophag/SKILL.md +26 -0
  35. package/skills/bos-scope/SKILL.md +33 -0
  36. package/skills/bos-sheme/SKILL.md +38 -0
  37. package/skills/bos-throwbox/SKILL.md +27 -0
  38. package/skills/bos-workshop/SKILL.md +65 -0
  39. package/{config/README.md → skills/bos-workshop/assets/.gitkeep} +0 -0
  40. package/skills/bos-workshop/references/bos-codebase.md +116 -0
  41. package/skills/bos-workshop/references/bos-concept.md +121 -0
  42. package/skills/bos-workshop/scripts/find-workshop.sh +30 -0
  43. package/src/agent-hook.mjs +28 -0
  44. package/src/bridge/_index.mjs +24 -0
  45. package/src/bridge/bos-instances-link/_index.mjs +18 -0
  46. package/src/bridge/docker-host/_index.mjs +43 -0
  47. package/src/bridge/docker-host/container.mjs +32 -0
  48. package/src/bridge/docker-host/image.mjs +23 -0
  49. package/src/bridge/docker-host/volume.mjs +12 -0
  50. package/src/bridge/docker-publish/_index.mjs +24 -0
  51. package/src/bridge/git-client/_index.mjs +121 -0
  52. package/src/bridge/git-client/author.mjs +26 -0
  53. package/src/bridge/gitea-api/_index.mjs +62 -0
  54. package/src/bridge/github-api/_index.mjs +45 -0
  55. package/src/bridge/npm-publish/_index.mjs +19 -0
  56. package/src/bridge/ollama-link/_index.mjs +93 -0
  57. package/src/bridge/ollama-link/ravens.mjs +29 -0
  58. package/src/bridge/ssh-link/_index.mjs +33 -0
  59. package/src/bridge/subprocess-runner/_index.mjs +33 -0
  60. package/src/cli.mjs +29 -0
  61. package/src/commands/_index.mjs +51 -0
  62. package/src/commands/bootstrap/exec.mjs +7 -0
  63. package/src/commands/bootstrap/help.md +5 -0
  64. package/src/commands/bootstrap/index.json +7 -0
  65. package/src/commands/close/exec.mjs +4 -0
  66. package/src/commands/close/help.md +5 -0
  67. package/src/commands/close/index.json +7 -0
  68. package/src/commands/describe/exec.mjs +11 -0
  69. package/src/commands/describe/help.md +5 -0
  70. package/src/commands/describe/index.json +7 -0
  71. package/src/commands/help/exec.mjs +6 -0
  72. package/src/commands/help/help.md +3 -0
  73. package/src/commands/help/index.json +6 -0
  74. package/src/commands/hook/exec.mjs +3 -0
  75. package/src/commands/hook/help.md +4 -0
  76. package/src/commands/hook/index.json +7 -0
  77. package/src/commands/hooks/exec.mjs +5 -0
  78. package/src/commands/hooks/help.md +4 -0
  79. package/src/commands/hooks/index.json +7 -0
  80. package/src/commands/house/exec.mjs +8 -0
  81. package/src/commands/house/help.md +8 -0
  82. package/src/commands/house/index.json +7 -0
  83. package/src/commands/locate/exec.mjs +2 -0
  84. package/src/commands/locate/help.md +6 -0
  85. package/src/commands/locate/index.json +6 -0
  86. package/src/commands/mode/exec.mjs +17 -0
  87. package/src/commands/mode/help.md +14 -0
  88. package/src/commands/mode/index.json +8 -0
  89. package/src/commands/mode/repl.mjs +18 -0
  90. package/src/commands/open/exec.mjs +5 -0
  91. package/src/commands/open/help.md +4 -0
  92. package/src/commands/open/index.json +7 -0
  93. package/src/commands/promote/exec.mjs +5 -0
  94. package/src/commands/promote/help.md +6 -0
  95. package/src/commands/promote/index.json +7 -0
  96. package/src/commands/repl/exec.mjs +3 -0
  97. package/src/commands/repl/help.md +4 -0
  98. package/src/commands/repl/index.json +6 -0
  99. package/src/commands/seal/exec.mjs +8 -0
  100. package/src/commands/seal/help.md +4 -0
  101. package/src/commands/seal/index.json +7 -0
  102. package/src/commands/sink/exec.mjs +2 -0
  103. package/src/commands/sink/help.md +6 -0
  104. package/src/commands/sink/index.json +7 -0
  105. package/src/commands/skills/exec.mjs +5 -0
  106. package/src/commands/skills/help.md +5 -0
  107. package/src/commands/skills/index.json +7 -0
  108. package/src/commands/status/exec.mjs +2 -0
  109. package/src/commands/status/help.md +6 -0
  110. package/src/commands/status/index.json +7 -0
  111. package/src/commands/status/repl.mjs +14 -0
  112. package/src/commands/verify/exec.mjs +9 -0
  113. package/src/commands/verify/help.md +4 -0
  114. package/src/commands/verify/index.json +7 -0
  115. package/src/controllers/_index.mjs +5 -0
  116. package/src/controllers/skills-controll.mjs +13 -0
  117. package/src/controllers/workshop-controll.mjs +48 -0
  118. package/src/core/basic-bridge.mjs +29 -0
  119. package/src/core/basic-controll.mjs +26 -0
  120. package/src/core/basic-element.mjs +149 -0
  121. package/src/core/basic-model.mjs +7 -0
  122. package/src/core/basic-procedure.mjs +37 -0
  123. package/src/core/basic-submodule.mjs +21 -0
  124. package/src/core/basic-view.mjs +21 -0
  125. package/src/core/self.mjs +10 -0
  126. package/src/index.mjs +24 -0
  127. package/src/main.ts +82 -0
  128. package/src/mcp.mjs +8 -0
  129. package/src/models/_index.mjs +43 -0
  130. package/src/models/archive/class.mjs +9 -0
  131. package/src/models/craftbook/class.mjs +11 -0
  132. package/src/models/craftbook/hang.scrapnotes.mjs +10 -0
  133. package/src/models/craftset/class.mjs +14 -0
  134. package/src/models/devarmory/class.mjs +10 -0
  135. package/src/models/exhibit/class.mjs +8 -0
  136. package/src/models/forge/class.mjs +19 -0
  137. package/src/models/house/bloodlines.mjs +27 -0
  138. package/src/models/house/class.mjs +53 -0
  139. package/src/models/house/groups.mjs +38 -0
  140. package/src/models/project/anatomy.mjs +11 -0
  141. package/src/models/project/class.mjs +20 -0
  142. package/src/models/sarcophag/class.mjs +8 -0
  143. package/src/models/scope/class.mjs +19 -0
  144. package/src/models/sheme/class.mjs +8 -0
  145. package/src/models/throwbox/class.mjs +9 -0
  146. package/src/models/workshop/class.mjs +30 -0
  147. package/src/models/workshop/hang.data.mjs +10 -0
  148. package/src/models/workshop/hang.nests.mjs +14 -0
  149. package/src/models/workshop/hang.setup.mjs +10 -0
  150. package/src/models/workshop/hang.storylines.logs.mjs +10 -0
  151. package/src/models/workshop/hang.storylines.manifests.mjs +10 -0
  152. package/src/models/workshop/hang.storylines.mjs +39 -0
  153. package/src/models/workshop/hang.storylines.ttystories.mjs +10 -0
  154. package/src/models/workshop/hang.system.mjs +25 -0
  155. package/src/models/workshop/host-roles.mjs +9 -0
  156. package/src/models/workshop/locate.mjs +60 -0
  157. package/src/models/workshop/modes.mjs +31 -0
  158. package/src/models/workshop/taskfile.mjs +21 -0
  159. package/src/procedures/_index.mjs +32 -0
  160. package/src/procedures/agent-recording/_index.mjs +34 -0
  161. package/src/procedures/agent-recording/situate.mjs +11 -0
  162. package/src/procedures/bootstrapping/DESCRIPTION.md +6 -0
  163. package/src/procedures/bootstrapping/_index.mjs +13 -0
  164. package/src/procedures/bootstrapping/deploy-guides.mjs +15 -0
  165. package/src/procedures/bootstrapping/ensure-tree.mjs +4 -0
  166. package/src/procedures/closing/DESCRIPTION.md +6 -0
  167. package/src/procedures/closing/_index.mjs +11 -0
  168. package/src/procedures/closing/capture-ttystory.mjs +14 -0
  169. package/src/procedures/closing/record-closing.mjs +6 -0
  170. package/src/procedures/describing/DESCRIPTION.md +23 -0
  171. package/src/procedures/describing/_index.mjs +15 -0
  172. package/src/procedures/describing/ask-skryba.mjs +82 -0
  173. package/src/procedures/describing/compose-message.mjs +25 -0
  174. package/src/procedures/describing/read-staged.mjs +7 -0
  175. package/src/procedures/describing/scopes.mjs +38 -0
  176. package/src/procedures/describing/staged-diff.mjs +25 -0
  177. package/src/procedures/describing/write-message.mjs +15 -0
  178. package/src/procedures/gathering/DESCRIPTION.md +13 -0
  179. package/src/procedures/gathering/_index.mjs +13 -0
  180. package/src/procedures/gathering/list-served.mjs +9 -0
  181. package/src/procedures/gathering/merge-residents.mjs +31 -0
  182. package/src/procedures/gathering/read-registry.mjs +7 -0
  183. package/src/procedures/hooking/DESCRIPTION.md +6 -0
  184. package/src/procedures/hooking/_index.mjs +12 -0
  185. package/src/procedures/hooking/hooks.mjs +10 -0
  186. package/src/procedures/hooking/install-hooks.mjs +34 -0
  187. package/src/procedures/hooking/record-hook.mjs +13 -0
  188. package/src/procedures/inspecting/DESCRIPTION.md +3 -0
  189. package/src/procedures/inspecting/_index.mjs +9 -0
  190. package/src/procedures/loading/DESCRIPTION.md +4 -0
  191. package/src/procedures/loading/_index.mjs +15 -0
  192. package/src/procedures/loading/load-config.mjs +16 -0
  193. package/src/procedures/loading/validate-mode.mjs +8 -0
  194. package/src/procedures/loading/validate-role.mjs +8 -0
  195. package/src/procedures/locating/DESCRIPTION.md +6 -0
  196. package/src/procedures/locating/_index.mjs +13 -0
  197. package/src/procedures/locating/locate-self.mjs +7 -0
  198. package/src/procedures/locating/locate-workshop.mjs +16 -0
  199. package/src/procedures/locating/read-environment.mjs +12 -0
  200. package/src/procedures/mode-switching/DESCRIPTION.md +7 -0
  201. package/src/procedures/mode-switching/_index.mjs +10 -0
  202. package/src/procedures/mode-switching/record-mode.mjs +8 -0
  203. package/src/procedures/mode-switching/switch-mode.mjs +16 -0
  204. package/src/procedures/opening/DESCRIPTION.md +6 -0
  205. package/src/procedures/opening/_index.mjs +8 -0
  206. package/src/procedures/opening/record-opening.mjs +4 -0
  207. package/src/procedures/promoting/DESCRIPTION.md +8 -0
  208. package/src/procedures/promoting/_index.mjs +14 -0
  209. package/src/procedures/promoting/apply.mjs +28 -0
  210. package/src/procedures/promoting/branch-flow.mjs +23 -0
  211. package/src/procedures/promoting/plan.mjs +14 -0
  212. package/src/procedures/promoting/read-position.mjs +15 -0
  213. package/src/procedures/sinking/DESCRIPTION.md +8 -0
  214. package/src/procedures/sinking/_index.mjs +12 -0
  215. package/src/procedures/sinking/inventory-forge.mjs +18 -0
  216. package/src/procedures/sinking/inventory-tools.mjs +7 -0
  217. package/src/procedures/skilling/DESCRIPTION.md +11 -0
  218. package/src/procedures/skilling/_index.mjs +15 -0
  219. package/src/procedures/skilling/collect-models.mjs +15 -0
  220. package/src/procedures/skilling/compose-skill.mjs +49 -0
  221. package/src/procedures/skilling/glossary.mjs +23 -0
  222. package/src/procedures/skilling/register-skills.mjs +21 -0
  223. package/src/procedures/skilling/write-skills.mjs +19 -0
  224. package/src/views/_index.mjs +23 -0
  225. package/src/views/agent/_index.mjs +2 -0
  226. package/src/views/agent/brief.mjs +34 -0
  227. package/src/views/help/_index.mjs +41 -0
  228. package/src/views/house/_index.mjs +56 -0
  229. package/src/views/inventory/_index.mjs +27 -0
  230. package/src/views/mcp/_index.mjs +31 -0
  231. package/src/views/mcp/tools.mjs +87 -0
  232. package/src/views/mode/_index.mjs +34 -0
  233. package/src/views/mode/chooser.mjs +37 -0
  234. package/src/views/promotion/_index.mjs +20 -0
  235. package/src/views/repl/_index.mjs +30 -0
  236. package/src/views/skills/_index.mjs +24 -0
  237. package/src/views/status/_index.mjs +57 -0
  238. package/src/views/status/tree.mjs +19 -0
  239. package/src/views/terminal/paint.mjs +22 -0
  240. package/template/SKILL.md +16 -0
  241. package/docs/README.md +0 -15
  242. package/docs/devlog.md +0 -20
  243. package/invoke-api.js +0 -0
  244. package/invoke-cli.js +0 -105
  245. package/invoke-desktop.js +0 -0
  246. package/invoke-exec.js +0 -0
  247. package/invoke-webapp.js +0 -0
  248. package/main.js +0 -33
  249. package/shell-procedures/deploy-new-workshop.sh +0 -15
  250. package/shell-procedures/new-project.sh +0 -0
  251. package/shell-procedures/new-sheme.sh +0 -0
  252. package/shell-procedures/new-superproject.sh +0 -6
  253. package/shell-procedures/open-project.sh +0 -0
  254. package/shell-procedures/pack-backup.sh +0 -22
  255. package/shell-procedures/project-to-sarcophag.sh +0 -0
  256. package/shell-procedures/publicate.sh +0 -0
  257. package/shell-procedures/pull-archive.sh +0 -0
  258. package/shell-procedures/purge-workshop.sh +0 -4
  259. package/shell-procedures/push-to-bos-server.sh +0 -0
  260. package/shell-procedures/start-cli-interface.sh +0 -1
  261. package/shell-procedures/sweep-into-throwbox.sh +0 -0
  262. package/shell-procedures/synchronize.sh +0 -7
  263. package/system/bridges/README.md +0 -4
  264. package/system/bridges/main.js +0 -41
  265. package/system/commands/README.md +0 -0
  266. package/system/commands/debug.js +0 -20
  267. package/system/commands/exit.js +0 -19
  268. package/system/core/README.md +0 -0
  269. package/system/core/basic-subject-model.js +0 -200
  270. package/system/core/config-controll.js +0 -51
  271. package/system/core/contain-controll.js +0 -28
  272. package/system/core/event-controll.js +0 -12
  273. package/system/core/extending-mod.js +0 -145
  274. package/system/core/main.js +0 -184
  275. package/system/core/raport-controll.js +0 -10
  276. package/system/core/static-extender.js +0 -19
  277. package/system/factors/README.md +0 -0
  278. package/system/factors/bridge-factory.js +0 -5
  279. package/system/factors/command-factory.js +0 -45
  280. package/system/factors/config-factory.js +0 -6
  281. package/system/factors/controller-factory.js +0 -5
  282. package/system/factors/interface-factory.js +0 -70
  283. package/system/factors/model-factory.js +0 -0
  284. package/system/interfaces/README.md +0 -28
  285. package/system/interfaces/cli/index.js +0 -96
  286. package/system/interfaces/cli/init.js +0 -47
  287. package/system/interfaces/cli/loop.js +0 -7
  288. package/system/interfaces/cli/on-close.js +0 -17
  289. package/system/interfaces/cli/on-line.js +0 -24
  290. package/system/interfaces/cli/on-resume.js +0 -15
  291. package/system/interfaces/cli/setup.js +0 -8
  292. package/system/models/README.md +0 -47
  293. package/system/models/archive/README.md +0 -0
  294. package/system/models/archive/actions/README.md +0 -0
  295. package/system/models/archive/class.js +0 -23
  296. package/system/models/archive/events/README.md +0 -0
  297. package/system/models/archive/index.json +0 -18
  298. package/system/models/archive/listeners/README.md +0 -0
  299. package/system/models/archive/methods/README.md +0 -0
  300. package/system/models/forge/README.md +0 -0
  301. package/system/models/forge/actions/README.md +0 -0
  302. package/system/models/forge/class.js +0 -23
  303. package/system/models/forge/events/README.md +0 -0
  304. package/system/models/forge/index.json +0 -18
  305. package/system/models/forge/listeners/README.md +0 -0
  306. package/system/models/forge/methods/README.md +0 -0
  307. package/system/models/project/README.md +0 -0
  308. package/system/models/project/actions/README.md +0 -0
  309. package/system/models/project/class.js +0 -23
  310. package/system/models/project/events/README.md +0 -0
  311. package/system/models/project/index.json +0 -18
  312. package/system/models/project/listeners/README.md +0 -0
  313. package/system/models/project/methods/README.md +0 -0
  314. package/system/models/sarcophag/README.md +0 -0
  315. package/system/models/sarcophag/actions/README.md +0 -0
  316. package/system/models/sarcophag/class.js +0 -22
  317. package/system/models/sarcophag/events/README.md +0 -0
  318. package/system/models/sarcophag/index.json +0 -18
  319. package/system/models/sarcophag/listeners/README.md +0 -0
  320. package/system/models/sarcophag/methods/README.md +0 -0
  321. package/system/models/sheme/README.md +0 -0
  322. package/system/models/sheme/actions/README.md +0 -0
  323. package/system/models/sheme/class.js +0 -23
  324. package/system/models/sheme/events/README.md +0 -0
  325. package/system/models/sheme/index.json +0 -18
  326. package/system/models/sheme/listeners/README.md +0 -0
  327. package/system/models/sheme/methods/README.md +0 -0
  328. package/system/models/superproject/README.md +0 -0
  329. package/system/models/superproject/actions/README.md +0 -0
  330. package/system/models/superproject/class.js +0 -23
  331. package/system/models/superproject/events/README.md +0 -0
  332. package/system/models/superproject/index.json +0 -18
  333. package/system/models/superproject/listeners/README.md +0 -0
  334. package/system/models/superproject/methods/README.md +0 -0
  335. package/system/models/throwbox/README.md +0 -0
  336. package/system/models/throwbox/actions/README.md +0 -0
  337. package/system/models/throwbox/class.js +0 -23
  338. package/system/models/throwbox/events/README.md +0 -0
  339. package/system/models/throwbox/index.json +0 -18
  340. package/system/models/throwbox/listeners/README.md +0 -0
  341. package/system/models/throwbox/methods/README.md +0 -0
  342. package/system/models/workshop/README.md +0 -0
  343. package/system/models/workshop/actions/README.md +0 -0
  344. package/system/models/workshop/class.js +0 -22
  345. package/system/models/workshop/events/README.md +0 -0
  346. package/system/models/workshop/index.json +0 -18
  347. package/system/models/workshop/listeners/README.md +0 -0
  348. package/system/models/workshop/methods/README.md +0 -0
  349. package/system/resources/textarts/big-logo-title.txt +0 -24
  350. package/system/resources/textarts/big-shortcut-logo-title.txt +0 -10
  351. package/system/resources/textarts/medium-logo-title.txt +0 -13
  352. package/system/resources/textarts/minimenu-header.ptxml +0 -13
  353. package/system/resources/textarts/minimenu-header.txt +0 -11
  354. package/system/resources/textarts/small-logo-title.txt +0 -10
  355. package/system/resources/textarts/wellcome.txt +0 -10
@@ -1,145 +0,0 @@
1
-
2
- //const transform=require('carnival-toolbox').caseX.transform;
3
- const fs = require('fs');
4
- const path = require('path');
5
- const {changeCase, capitalFirst, debug} = require('carnival-toolbox');
6
-
7
- const EXTENDER={
8
- Update(updatePack, whoAmI=this){
9
- Object.assign(
10
- whoAmI,
11
- updatePack
12
- );
13
- return whoAmI;
14
- },
15
- HookRef(contextRef, hookName, whoAmI=this){
16
- Object.defineProperty(
17
- whoAmI,
18
- hookName,
19
- {
20
- get(){
21
- return contextRef;
22
- }
23
- }
24
- );
25
- return whoAmI;
26
- },
27
- LoadExt(...pathChain){
28
- pathChain.push(`${pathChain.pop()}.js`);
29
- //console.log(this);
30
- const EXT=require(
31
- this.PathTo(...pathChain)
32
- );
33
- this.Update(
34
- EXT
35
- );
36
- return Object.keys(EXT);
37
- },
38
- LoadController(name){
39
- debug.log("CONTROLER-LOAD:", [name]);
40
- this.CONTROLLERS[name]=this.LoadExt("system", "core", name);
41
- },
42
- LoadInterface(name){
43
- debug.log("INTERFACE-LOAD:", [name]);
44
- //this.loadExt("system", "interfaces", name)
45
- return require(
46
- this.PathTo(
47
- "system",
48
- "interfaces",
49
- `${name}`,
50
- `index.js`
51
- )
52
- )
53
- },
54
- LoadBridge(name){
55
- debug.log("BRIDGE-LOAD:", [name]);
56
- //this.LoadExt("system", "bridge", name)
57
- },
58
- LoadAllControllers(){
59
- const autolistControllers=fs.readdirSync(__dirname).filter(
60
- (filename)=>filename.endsWith("-controll.js")
61
- ).map(
62
- (name)=>path.basename(name, ".js")
63
- );
64
- for(var item of autolistControllers){
65
- this.LoadController(item);
66
- //console.log(item)
67
- }
68
- },
69
- LoadAllFactors(){
70
- const factoryScripts=fs.readdirSync(
71
- this.PathTo("system","factors"),
72
- {withFileTypes:true}
73
- ).filter(
74
- (item)=>item.isFile()
75
- ).filter(
76
- (item)=>item.name.endsWith("-factory.js")
77
- ).map(
78
- (item)=>item.name
79
- );
80
- //this.FACTORS={};
81
- //console.log(factoryScripts);
82
- for(var script of factoryScripts){
83
- debug.log("FACTOR-LOAD:", [script.split("-")[0]]);
84
- this.FACTORS[
85
- capitalFirst(script.split("-")[0])
86
- ]=require(this.PathTo("system","factors",script));
87
- }
88
- },
89
- LoadCommand(name, script){
90
- debug.log("COMMAND-LOAD:", [name,script]);
91
- this.COMMANDS[name]=require(
92
- this.PathTo( "system", "commands", script)
93
- );
94
- },
95
- LoadAllCommands(){
96
- const commandsScripts=fs.readdirSync(
97
- this.PathTo("system", "commands"),
98
- {withFileTypes:true}
99
- ).filter(
100
- (script)=>script.isFile()
101
- ).filter(
102
- (script)=>path.extname(script.name)==".js"
103
- ).map(
104
- (script)=>script.name
105
- );
106
- for(var script of commandsScripts){
107
- this.LoadCommand(
108
- changeCase(
109
- path.basename(script, ".js")
110
- ).from("kebabcase").to("camelcase").GO,
111
- script
112
- );
113
- }
114
- },
115
- LoadAllModels(){
116
- const models=this.ListModelsDir();
117
- for(var model of models){
118
- this.LoadModel(model);
119
- }
120
- },
121
- LoadModel(name){
122
- debug.log("MODEL-LOAD:", [name]);
123
- //console.log(name);
124
- this.MODELS[name]=require(
125
- this.PathTo( "system", "models", name, "class.js")
126
- );
127
- var modelname = changeCase(name).from("camelcase").to("pascalcase").GO;
128
- this.HookRef(this.MODELS[name], modelname);
129
- },
130
- ListModelsDir(){
131
- return fs.readdirSync(
132
- this.PathTo("system", "models"),
133
- {withFileTypes:true}
134
- ).filter(
135
- (model)=>model.isDirectory()
136
- ).map(
137
- (model)=>model.name
138
- );
139
- }
140
- }
141
-
142
- module.exports=function(BOS){
143
- EXTENDER.Update(EXTENDER, BOS);
144
- return BOS;
145
- }
@@ -1,184 +0,0 @@
1
- /*
2
- blacksmith-organization-system
3
- part of Anubis System
4
- Sett Sarverott 2019
5
- */
6
-
7
- //const SE=require("./static-extender.js");
8
-
9
- const {caseX}=require('carnival-toolbox');
10
- const child_process = require('child_process');
11
- const os = require('os');
12
- const fs = require('fs');
13
- const path = require('path');
14
- const EventEmitter = require('events');
15
-
16
- const CONTROLLERS = {}
17
- const MODELS = {}
18
- const ID_REJESTR = {}
19
- const FACTORS = {}
20
- const INTERFACES = {}
21
- const COMMANDS = {}
22
-
23
-
24
-
25
- class BlacksmithOrganizationSystem extends EventEmitter{
26
- constructor(classname, modelDir){
27
- this.type=classname.replace("Blacksmith","");
28
-
29
- //this.readIndex();
30
- //this.openManuals();
31
- //this.eventEmitter=new eventEmitter();
32
-
33
- this.loadMethods(modelDir);
34
- this.loadExtenders(modelDir);
35
- this.loadEvents(modelDir);
36
- this.loadActions(modelDir);
37
- this.loadListeners(modelDir);
38
- }
39
- //readIndex(){
40
-
41
- //}
42
- //openManuals(){
43
-
44
- //}
45
- static GetModelScripts(section, modelDir){
46
- return fs.readdirSync(
47
- path.join(
48
- modelDir,
49
- section
50
- ),
51
- {withFileTypes:true}
52
- ).filter(
53
- (script)=>script.isFile()&&script.name.endsWith(".js")
54
- ).map(
55
- (direntItem)=>direntItem.name
56
- );
57
- }
58
- loadEvents(modelDir){ // direct listeners and emitters of model
59
- const modelScripts=BOS.GetModelScripts(
60
- "events",
61
- modelDir
62
- );
63
-
64
- }
65
- loadActions(modelDir){// acts like deamons or child precesses
66
- const modelScripts=BOS.GetModelScripts(
67
- "actions",
68
- modelDir
69
- );
70
- }
71
- loadListeners(modelDir){// everything what that model listens
72
- const modelScripts=BOS.GetModelScripts(
73
- "listeners",
74
- modelDir
75
- );
76
- }
77
- loadMethods(modelDir){// synchronous, returns data
78
- const modelScripts=BOS.GetModelScripts(
79
- "methods",
80
- modelDir
81
- );
82
- }
83
- loadExtenders(modelDir){// extensionpacks for model
84
- const modelScripts=BOS.GetModelScripts(
85
- "extenders",
86
- modelDir
87
- );
88
- for(var scriptName of modelScripts){
89
- Object.assign(
90
- this,
91
- require(
92
- path.join(
93
- modelDir,
94
- "extenders",
95
- scriptName
96
- )
97
- )
98
- );
99
- }
100
- }
101
- static get Subject(){
102
- return require("./basic-subject-model.js")(BOS);
103
- }
104
- static PathTo(...locationChain){
105
- return path.join(__dirname, "..", "..", ...locationChain);
106
- }
107
- static get BOS(){
108
- return this;
109
- }
110
- get BOS(){
111
- return BOS;
112
- }
113
- static get INITIALIZE(){
114
- return BOS.LOAD();
115
- }
116
- static BOX_EMPTY(boxHook){
117
- return Object.keys(boxHook).length==0;
118
- }
119
- static LOAD(...limiter){
120
- if(this.BOX_EMPTY(CONTROLLERS))this.LoadAllControllers();
121
- if(this.BOX_EMPTY(MODELS))this.LoadAllModels();
122
- if(this.BOX_EMPTY(FACTORS))this.LoadAllFactors();
123
- if(this.BOX_EMPTY(COMMANDS))this.LoadAllCommands();
124
- /*}
125
- for(var i in loadList){
126
- if(
127
- (
128
- limiter.length==0
129
- ||
130
- limiter.includes(i)
131
- )
132
- &&
133
- loadList[i][0])
134
- ){
135
- this[
136
- loadList[i][1]
137
- ]();
138
- }
139
- }*/
140
- return this;
141
- }
142
- //static debugLog(...args){
143
- // if(BOS.DEBUGGING)console.log(...args);
144
- //}
145
- };
146
-
147
- //BOS.DEBUGGING=false;
148
-
149
- BOS=BlacksmithOrganizationSystem;
150
- //BOS.INIT_BASE();
151
- //BOS.TypeList=TYPES_LIST;
152
- //BOS.IdRegistList=ID_REJESTR
153
-
154
- const FORM=require('./extending-mod.js')(BOS);
155
- BOS.Update({
156
- CONTROLLERS,
157
- MODELS,
158
- ID_REJESTR,
159
- FACTORS,
160
- INTERFACES,
161
- COMMANDS
162
- });
163
- //BOS.LOAD();
164
- //BOS.loadInterface()
165
-
166
- //
167
-
168
- module.exports={
169
- BOS,
170
- get INITIALIZE(){
171
- return BOS.INITIALIZE;
172
- }
173
- //CONTROLLERS,
174
- //MODELS,
175
- //ID_REJESTR,
176
- //FACTORS,
177
- //INTERFACES,
178
- //COMMANDS
179
- //ID_REJESTR
180
- //FORM
181
-
182
- //SE
183
- //HOSTNAME
184
- };
@@ -1,10 +0,0 @@
1
-
2
- const RAPORT_CONTROLL={
3
-
4
- }
5
-
6
- module.exports=RAPORT_CONTROLL;
7
- // (BOS) => class RaportControll extends BOS.form.Controller
8
- // {
9
-
10
- // }
@@ -1,19 +0,0 @@
1
- const fs=require("fs");
2
- module.exports={
3
- SAFE_CREATE_DIR(path){
4
- fs.mkdirSync(path,{recursive:true})
5
- },
6
- WRITE_OUTPUT_FILE(filepath, output, readable=false){
7
- fs.writeFileSync(
8
- filepath,
9
- JSON.stringify(
10
- ...((readable)?[output, null, '\t']:[output])
11
- )
12
- );
13
- },
14
- READ_INPUT_FILE(filepath){
15
- return JSON.parse(fs.readFileSync(
16
- filepath
17
- ));
18
- }
19
- }
File without changes
@@ -1,5 +0,0 @@
1
-
2
-
3
- module.exports=class BOS_Bridge{
4
-
5
- };
@@ -1,45 +0,0 @@
1
- const {debug} = require('carnival-toolbox');
2
-
3
- module.exports=class BOS_Command{
4
- constructor(name){
5
- this.name=name;
6
- this.interfaces={};
7
- this.CONTEXT={};
8
- }
9
- USAGE(interfaceName){
10
- return {
11
- interfaceName:interfaceName,
12
- interfaces:this.interfaces,
13
- get DEFINE(){
14
- if(
15
- !this.interfaces.hasOwnProperty(this.interfaceName)
16
- )this.interfaces[this.interfaceName]={get:()=>null,set:(x)=>null};
17
- return {
18
- interfaceName:this.interfaceName,
19
- interfaces:this.interfaces,
20
- set METHOD(funct){
21
- this.GET=()=>funct;
22
- },
23
- set SET(funct){
24
- this.interfaces[this.interfaceName].set=funct;
25
- },
26
- set GET(funct){
27
- this.interfaces[this.interfaceName].get=funct;
28
- }
29
- }
30
- },
31
- get LOAD(){
32
- return this.interfaces[this.interfaceName];
33
- }
34
- }
35
- }
36
- INCLUDE_TO(context, interfaceName){
37
- this.CONTEXT[interfaceName]=context;
38
- debug.log(`---including command ${this.name} as usage by ${interfaceName} in context`)
39
- Object.defineProperty(
40
- context,
41
- this.name,
42
- this.USAGE(interfaceName).LOAD
43
- );
44
- }
45
- }
@@ -1,6 +0,0 @@
1
-
2
- //os.userInfo().username,
3
-
4
- module.exports=class BOS_config{
5
-
6
- }
@@ -1,5 +0,0 @@
1
-
2
-
3
- module.exports=class BOS_Controller{
4
-
5
- };
@@ -1,70 +0,0 @@
1
- const fs = require('fs');
2
- const path = require('path');
3
- const {changeCase} = require('carnival-toolbox');
4
-
5
- const BOS=require("../core/main.js").INITIALIZE;
6
-
7
- //console.log("HERE",BOS.COMMANDS)
8
-
9
- module.exports=class BOS_Interface{
10
- constructor(interfaceName,appendObject){
11
- this.interfaceName=interfaceName;
12
- this.MAIN_HOOK=null;
13
- this.CONTEXT_HOOK=null;
14
- this.EXITCODE=0;
15
- this.SETUP=require(
16
- BOS.PathTo("system","interfaces",interfaceName,"setup.js")
17
- );
18
- this.INIT=require(
19
- BOS.PathTo("system","interfaces",interfaceName,"init.js")
20
- );
21
- this.LOOP=require(
22
- BOS.PathTo("system","interfaces",interfaceName,"loop.js")
23
- );
24
- BOS.Update(appendObject, this);
25
- }
26
- set CONTEXT(hook){
27
- this.CONTEXT_HOOK=hook;
28
- this.LOAD_COMMANDS();
29
- }
30
- get CONTEXT(){
31
- return this.CONTEXT_HOOK;
32
- }
33
- LOAD_COMMANDS(){
34
- for(var name in BOS.COMMANDS){
35
- if(BOS.COMMANDS[name].interfaces.hasOwnProperty(this.interfaceName)){
36
- BOS.COMMANDS[name].INCLUDE_TO(this.CONTEXT, this.interfaceName);
37
- }
38
- }
39
- }
40
- set MAIN(hook){
41
- this.MAIN_HOOK=hook;
42
- this.LOAD_EVENTS();
43
- }
44
- get MAIN(){
45
- return this.MAIN_HOOK;
46
- }
47
- LOAD_EVENTS(){
48
- const eventScripts=fs.readdirSync(
49
- BOS.PathTo("system","interfaces",this.interfaceName)
50
- ).filter(
51
- (script)=>script.startsWith("on-")&&script.endsWith(".js")
52
- )
53
- for(var script of eventScripts){
54
- const scriptMethodName=changeCase(
55
- path.basename(script,".js")
56
- ).from(
57
- "kebabcase"
58
- ).to(
59
- "snakecasecabs"
60
- ).GO;
61
- const eventName=path.basename(script,".js").split("-")[1];
62
- this[
63
- scriptMethodName
64
- ]=require(
65
- BOS.PathTo("system","interfaces",this.interfaceName, script)
66
- );
67
- this.MAIN.on(eventName, this[scriptMethodName](this));
68
- }
69
- }
70
- };
File without changes
@@ -1,28 +0,0 @@
1
- # INTERFACES TO STANDARD INTERACTIONS
2
- > - CLI implementation
3
- > - serve as API
4
- > - using desktop feachers
5
-
6
-
7
-
8
- by default __INTERFACE__ includes some feachers from `${BOS}/system/interfaces/${INTERFACE}` dir:
9
- ###### interface space
10
- ```js
11
- DIRTREE={
12
- `interfaces`:{
13
- `${interface_name}`:{
14
- `index.js`, //main declaration of interface
15
- `init.js`, //contains initializer function
16
- `loop.js`, //contains execution looper
17
- `setup.js`, //returns custom setup object for MAIN_HOOK
18
- ...eventList.each=(event)=>`on-${event}.js` //custom event declaration
19
- },
20
- ...,
21
- `README.md`
22
- },
23
- ...
24
- }
25
-
26
- ```
27
-
28
- [go to main README.md](../../README.md)
@@ -1,96 +0,0 @@
1
- const readline = require('readline');
2
- const repl = require('repl');
3
- const fs = require('fs');
4
- const path = require('path');
5
-
6
-
7
- const {CliTool} = require('carnival-toolbox');
8
-
9
- const {BOS}=require("../../core/main.js");
10
-
11
-
12
-
13
- //Version: 0.2.0 (PreAlfa_#1)
14
-
15
- const CLI=new CliTool(
16
- {
17
- textarts:BOS.PathTo("system", "resources", "textarts"),
18
- ptxmls:BOS.PathTo("system", "resources", "textarts")
19
- }
20
- );
21
-
22
- console.log(BOS.FACTORS);
23
-
24
- const INTERFACE=new BOS.FACTORS.Interface(
25
- "cli",
26
- {
27
- CLI,
28
- loadHeader(label, margins={top:2, left:20}){
29
- return CLI.LOAD_HEAD(
30
- label
31
- ).paint(
32
- "random",
33
- "FRONT",
34
- [ "red" , "yellow" ]
35
- ).shades(
36
- CLI.dim,
37
- CLI.paintIt(CLI.FRONT.white)
38
- ).margins(
39
- margins
40
- ).PRINT;
41
- },
42
- clearTerminal(){
43
- //readline.cursor(process.stdout,0,0);
44
- //CLI.paintIt(CLI.FRONT.black);
45
- const [width, height]=process.stdout.getWindowSize();
46
- for(var y=0;y<height;y++){
47
- CLI.colorPrint(Array(width).fill("#").join(""), CLI.FRONT.black);
48
- }
49
- //CLI.paintIt(CLI.reset);
50
- readline.moveCursor(process.stdout,-width,-height);
51
- },
52
- startscreen(preventCursorReroll=false){
53
- readline.cursorTo(process.stdout,0,0);
54
- var LOGO=this.loadHeader("big");
55
- LOGO+="\n\t\t\t\t";
56
- LOGO+=CLI.colorize(
57
- "Copyright (c) 2019 Sett Sarverott, released on terms of MIT license",
58
- [CLI.bright,CLI.reset]
59
- );
60
- LOGO+="\n";
61
- var HEIGHT=LOGO.replaceAll("/n","").length-LOGO.length;
62
- //return {LOGO,HEIGHT};
63
- console.log(LOGO);
64
- readline.moveCursor(process.stdout,0,HEIGHT)
65
- },
66
- endscreen(preventCursorReroll=false){
67
- readline.cursorTo(process.stdout,0,0);
68
- console.log("\n\t\t\tSEE YOU NEXT TIME!")
69
- var LOGO=this.loadHeader("small",{top:0,left:6});
70
- LOGO+="\n ";
71
- LOGO+=CLI.colorize(
72
- "Copyright (c) 2019 Sett Sarverott, released on terms of MIT license",
73
- [CLI.bright,CLI.reset]
74
- );
75
- var HEIGHT=LOGO.replaceAll("/n","").length-LOGO.length;
76
- //return {LOGO,HEIGHT};
77
- console.log(LOGO);
78
- CLI.colorPrint(" GitHub: https://github.com/Sarverott/blacksmith-organization-system\n", CLI.FRONT.yellow)
79
- //readline.moveCursor(process.stdout,0,HEIGHT)
80
- }
81
- }
82
- );
83
-
84
- //INTERFACE.=;
85
-
86
- //function printMenuTitle(title){
87
- // console.log();
88
- //}
89
- //function START_MINIMENU(){
90
-
91
- //}
92
-
93
- module.exports={
94
- INTERFACE,
95
- CLI
96
- };
@@ -1,47 +0,0 @@
1
- const readline = require('readline');
2
-
3
-
4
-
5
- function INIT_CLI_METHOD(context){
6
- //process.stdout.write('\u001b[s');
7
-
8
- this.CONTEXT=context;
9
- //printMenuTitle("big");
10
- //printMenuTitle("big-shortcut");
11
- //printMenuTitle("medium");
12
- //printMenuTitle("small");
13
- //INTERFACE.startscreen(true);
14
-
15
-
16
- //INTERFACE.LOAD_COMMAND("exit");
17
- //console.log(CLI.loadPTXML("minimenu-header"));
18
-
19
- //this.interface=new repl.REPLServer(SETUP);
20
-
21
- var tmpThis=this;
22
-
23
- var counter=0
24
- this.clearTerminal();
25
- var startSequence=setInterval(
26
- function(){
27
- if(counter++>10){
28
- clearInterval(startSequence);
29
- tmpThis.clearTerminal();
30
- console.log(
31
- tmpThis.CLI.loadPTXML("minimenu-header")
32
- );
33
- tmpThis.MAIN=readline.createInterface(
34
- tmpThis.SETUP
35
- )
36
- //this.terminal.on("line", this.LOOP)
37
- //this.terminal.on("close", this.EXITING);
38
- tmpThis.MAIN.prompt();
39
- }else{
40
- tmpThis.startscreen()
41
- }
42
- },
43
- 100
44
- );
45
- }
46
-
47
- module.exports=INIT_CLI_METHOD
@@ -1,7 +0,0 @@
1
-
2
-
3
- function LOOP_CLI_METHOD(line){
4
-
5
- }
6
-
7
- module.exports=LOOP_CLI_METHOD
@@ -1,17 +0,0 @@
1
- /*
2
- ON EXIT
3
- */
4
- var INTERFACE=null;
5
-
6
- function ON_EXIT_CLI_EVENT(){
7
- //INTERFACE.LOOP(line);
8
- //console.log(INTERFACE);
9
- INTERFACE.clearTerminal();
10
- INTERFACE.endscreen();
11
- process.exit(INTERFACE.EXITCODE)
12
- }
13
-
14
- module.exports=function(HOOK){
15
- INTERFACE=HOOK;
16
- return ON_EXIT_CLI_EVENT
17
- }