blockmine 1.21.0 → 1.23.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (492) hide show
  1. package/.claude/agents/README.md +469 -0
  2. package/.claude/agents/auth-route-debugger.md +118 -0
  3. package/.claude/agents/auth-route-tester.md +93 -0
  4. package/.claude/agents/auto-error-resolver.md +97 -0
  5. package/.claude/agents/build-optimizer.md +236 -0
  6. package/.claude/agents/code-architecture-reviewer.md +83 -0
  7. package/.claude/agents/code-refactor-master.md +94 -0
  8. package/.claude/agents/cost-optimizer.md +134 -0
  9. package/.claude/agents/deployment-orchestrator.md +113 -0
  10. package/.claude/agents/documentation-architect.md +82 -0
  11. package/.claude/agents/frontend-error-fixer.md +77 -0
  12. package/.claude/agents/iac-code-generator.md +71 -0
  13. package/.claude/agents/incident-responder.md +346 -0
  14. package/.claude/agents/infrastructure-architect.md +31 -0
  15. package/.claude/agents/kubernetes-specialist.md +56 -0
  16. package/.claude/agents/migration-planner.md +181 -0
  17. package/.claude/agents/network-architect.md +196 -0
  18. package/.claude/agents/plan-reviewer.md +52 -0
  19. package/.claude/agents/refactor-planner.md +63 -0
  20. package/.claude/agents/security-scanner.md +102 -0
  21. package/.claude/agents/web-research-specialist.md +78 -0
  22. package/.claude/commands/cost-analysis.md +315 -0
  23. package/.claude/commands/dev-docs-update.md +55 -0
  24. package/.claude/commands/dev-docs.md +51 -0
  25. package/.claude/commands/incident-debug.md +247 -0
  26. package/.claude/commands/infra-plan.md +81 -0
  27. package/.claude/commands/migration-plan.md +478 -0
  28. package/.claude/commands/route-research-for-testing.md +37 -0
  29. package/.claude/commands/security-review.md +66 -0
  30. package/.claude/hooks/CONFIG.md +448 -0
  31. package/.claude/hooks/README.md +163 -0
  32. package/.claude/hooks/SKILL_ACTIVATION_COMPLETE.md +226 -0
  33. package/.claude/hooks/WINDOWS_HOOKS_README.md +151 -0
  34. package/.claude/hooks/add-skill-activation-banners.ts +132 -0
  35. package/.claude/hooks/comprehensive-skill-test.ts +1315 -0
  36. package/.claude/hooks/error-handling-reminder.sh +12 -0
  37. package/.claude/hooks/error-handling-reminder.ts +222 -0
  38. package/.claude/hooks/k8s-manifest-validator.sh +56 -0
  39. package/.claude/hooks/package-lock.json +556 -0
  40. package/.claude/hooks/package.json +16 -0
  41. package/.claude/hooks/post-tool-use-tracker.ps1 +174 -0
  42. package/.claude/hooks/post-tool-use-tracker.sh +183 -0
  43. package/.claude/hooks/security-policy-check.sh +247 -0
  44. package/.claude/hooks/skill-activation-prompt.ps1 +10 -0
  45. package/.claude/hooks/skill-activation-prompt.sh +10 -0
  46. package/.claude/hooks/skill-activation-prompt.ts +141 -0
  47. package/.claude/hooks/stop-build-check-enhanced.sh +130 -0
  48. package/.claude/hooks/terraform-validator.sh +53 -0
  49. package/.claude/hooks/test-input.json +7 -0
  50. package/.claude/hooks/test-skill-activation.ts +427 -0
  51. package/.claude/hooks/trigger-build-resolver.sh +79 -0
  52. package/.claude/hooks/tsc-check.sh +173 -0
  53. package/.claude/hooks/tsconfig.json +19 -0
  54. package/.claude/settings.json +59 -0
  55. package/.claude/settings.local.json +36 -14
  56. package/.claude/skills/README.md +507 -0
  57. package/.claude/skills/api-engineering/SKILL.md +63 -0
  58. package/.claude/skills/api-engineering/resources/api-versioning.md +88 -0
  59. package/.claude/skills/api-engineering/resources/graphql-patterns.md +106 -0
  60. package/.claude/skills/api-engineering/resources/rate-limiting.md +118 -0
  61. package/.claude/skills/api-engineering/resources/rest-api-design.md +105 -0
  62. package/.claude/skills/backend-dev-guidelines/SKILL.md +306 -0
  63. package/.claude/skills/backend-dev-guidelines/resources/architecture-overview.md +451 -0
  64. package/.claude/skills/backend-dev-guidelines/resources/async-and-errors.md +307 -0
  65. package/.claude/skills/backend-dev-guidelines/resources/complete-examples.md +638 -0
  66. package/.claude/skills/backend-dev-guidelines/resources/configuration.md +275 -0
  67. package/.claude/skills/backend-dev-guidelines/resources/database-patterns.md +224 -0
  68. package/.claude/skills/backend-dev-guidelines/resources/middleware-guide.md +213 -0
  69. package/.claude/skills/backend-dev-guidelines/resources/routing-and-controllers.md +756 -0
  70. package/.claude/skills/backend-dev-guidelines/resources/sentry-and-monitoring.md +336 -0
  71. package/.claude/skills/backend-dev-guidelines/resources/services-and-repositories.md +789 -0
  72. package/.claude/skills/backend-dev-guidelines/resources/testing-guide.md +235 -0
  73. package/.claude/skills/backend-dev-guidelines/resources/validation-patterns.md +754 -0
  74. package/.claude/skills/budget-and-cost-management/SKILL.md +850 -0
  75. package/.claude/skills/build-engineering/SKILL.md +431 -0
  76. package/.claude/skills/build-engineering/resources/artifact-repositories.md +72 -0
  77. package/.claude/skills/build-engineering/resources/build-caching.md +96 -0
  78. package/.claude/skills/build-engineering/resources/build-pipelines.md +105 -0
  79. package/.claude/skills/build-engineering/resources/build-security.md +95 -0
  80. package/.claude/skills/build-engineering/resources/build-systems.md +389 -0
  81. package/.claude/skills/build-engineering/resources/compilation-optimization.md +201 -0
  82. package/.claude/skills/build-engineering/resources/dependency-management.md +73 -0
  83. package/.claude/skills/build-engineering/resources/monorepo-builds.md +110 -0
  84. package/.claude/skills/build-engineering/resources/performance-optimization.md +113 -0
  85. package/.claude/skills/build-engineering/resources/reproducible-builds.md +82 -0
  86. package/.claude/skills/cloud-engineering/SKILL.md +675 -0
  87. package/.claude/skills/cloud-engineering/resources/aws-patterns.md +742 -0
  88. package/.claude/skills/cloud-engineering/resources/azure-patterns.md +714 -0
  89. package/.claude/skills/cloud-engineering/resources/cleared-cloud-environments.md +987 -0
  90. package/.claude/skills/cloud-engineering/resources/cloud-cost-optimization.md +757 -0
  91. package/.claude/skills/cloud-engineering/resources/cloud-networking.md +1058 -0
  92. package/.claude/skills/cloud-engineering/resources/cloud-security-tools.md +1530 -0
  93. package/.claude/skills/cloud-engineering/resources/cloud-security.md +990 -0
  94. package/.claude/skills/cloud-engineering/resources/gcp-patterns.md +758 -0
  95. package/.claude/skills/cloud-engineering/resources/migration-strategies.md +820 -0
  96. package/.claude/skills/cloud-engineering/resources/multi-cloud-strategies.md +670 -0
  97. package/.claude/skills/cloud-engineering/resources/oci-patterns.md +1198 -0
  98. package/.claude/skills/cloud-engineering/resources/serverless-patterns.md +795 -0
  99. package/.claude/skills/cloud-engineering/resources/well-architected-frameworks.md +966 -0
  100. package/.claude/skills/cybersecurity/SKILL.md +409 -0
  101. package/.claude/skills/cybersecurity/resources/security-architecture.md +266 -0
  102. package/.claude/skills/database-engineering/SKILL.md +61 -0
  103. package/.claude/skills/database-engineering/resources/backup-and-recovery.md +72 -0
  104. package/.claude/skills/database-engineering/resources/database-replication.md +63 -0
  105. package/.claude/skills/database-engineering/resources/postgresql-fundamentals.md +70 -0
  106. package/.claude/skills/database-engineering/resources/query-optimization.md +68 -0
  107. package/.claude/skills/devsecops/SKILL.md +374 -0
  108. package/.claude/skills/devsecops/resources/ci-cd-security.md +204 -0
  109. package/.claude/skills/devsecops/resources/compliance-automation.md +530 -0
  110. package/.claude/skills/devsecops/resources/compliance-frameworks.md +2322 -0
  111. package/.claude/skills/devsecops/resources/container-security.md +915 -0
  112. package/.claude/skills/devsecops/resources/cspm-integration.md +1440 -0
  113. package/.claude/skills/devsecops/resources/policy-enforcement.md +619 -0
  114. package/.claude/skills/devsecops/resources/secrets-management.md +755 -0
  115. package/.claude/skills/devsecops/resources/security-monitoring.md +146 -0
  116. package/.claude/skills/devsecops/resources/security-scanning.md +887 -0
  117. package/.claude/skills/devsecops/resources/security-testing.md +203 -0
  118. package/.claude/skills/devsecops/resources/supply-chain-security.md +518 -0
  119. package/.claude/skills/devsecops/resources/vulnerability-management.md +481 -0
  120. package/.claude/skills/devsecops/resources/zero-trust-architecture.md +177 -0
  121. package/.claude/skills/documentation-as-code/SKILL.md +323 -0
  122. package/.claude/skills/documentation-as-code/resources/api-documentation.md +90 -0
  123. package/.claude/skills/documentation-as-code/resources/changelog-management.md +79 -0
  124. package/.claude/skills/documentation-as-code/resources/diagram-generation.md +44 -0
  125. package/.claude/skills/documentation-as-code/resources/docs-as-code-workflow.md +99 -0
  126. package/.claude/skills/documentation-as-code/resources/documentation-automation.md +68 -0
  127. package/.claude/skills/documentation-as-code/resources/documentation-sites.md +79 -0
  128. package/.claude/skills/documentation-as-code/resources/markdown-best-practices.md +162 -0
  129. package/.claude/skills/documentation-as-code/resources/openapi-specification.md +77 -0
  130. package/.claude/skills/documentation-as-code/resources/readme-engineering.md +60 -0
  131. package/.claude/skills/documentation-as-code/resources/technical-writing-guide.md +202 -0
  132. package/.claude/skills/engineering-management/SKILL.md +356 -0
  133. package/.claude/skills/engineering-management/resources/career-ladders.md +609 -0
  134. package/.claude/skills/engineering-management/resources/hiring-and-assessment.md +555 -0
  135. package/.claude/skills/engineering-management/resources/one-on-one-guides.md +609 -0
  136. package/.claude/skills/engineering-management/resources/resource-planning.md +557 -0
  137. package/.claude/skills/engineering-management/resources/team-organization-patterns.md +491 -0
  138. package/.claude/skills/engineering-management/resources/technical-interviews.md +474 -0
  139. package/.claude/skills/engineering-operations-management/SKILL.md +817 -0
  140. package/.claude/skills/error-tracking/SKILL.md +379 -0
  141. package/.claude/skills/frontend-dev-guidelines/SKILL.md +403 -0
  142. package/.claude/skills/frontend-dev-guidelines/resources/common-patterns.md +331 -0
  143. package/.claude/skills/frontend-dev-guidelines/resources/complete-examples.md +872 -0
  144. package/.claude/skills/frontend-dev-guidelines/resources/component-patterns.md +502 -0
  145. package/.claude/skills/frontend-dev-guidelines/resources/data-fetching.md +767 -0
  146. package/.claude/skills/frontend-dev-guidelines/resources/file-organization.md +502 -0
  147. package/.claude/skills/frontend-dev-guidelines/resources/loading-and-error-states.md +501 -0
  148. package/.claude/skills/frontend-dev-guidelines/resources/performance.md +406 -0
  149. package/.claude/skills/frontend-dev-guidelines/resources/routing-guide.md +364 -0
  150. package/.claude/skills/frontend-dev-guidelines/resources/styling-guide.md +428 -0
  151. package/.claude/skills/frontend-dev-guidelines/resources/typescript-standards.md +418 -0
  152. package/.claude/skills/general-it-engineering/SKILL.md +393 -0
  153. package/.claude/skills/general-it-engineering/resources/asset-management.md +712 -0
  154. package/.claude/skills/general-it-engineering/resources/automation-orchestration.md +817 -0
  155. package/.claude/skills/general-it-engineering/resources/business-continuity.md +786 -0
  156. package/.claude/skills/general-it-engineering/resources/change-management.md +715 -0
  157. package/.claude/skills/general-it-engineering/resources/enterprise-monitoring.md +729 -0
  158. package/.claude/skills/general-it-engineering/resources/help-desk-operations.md +738 -0
  159. package/.claude/skills/general-it-engineering/resources/incident-service-management.md +834 -0
  160. package/.claude/skills/general-it-engineering/resources/it-governance.md +753 -0
  161. package/.claude/skills/general-it-engineering/resources/itil-framework.md +503 -0
  162. package/.claude/skills/general-it-engineering/resources/service-management.md +669 -0
  163. package/.claude/skills/infrastructure-architecture/SKILL.md +328 -0
  164. package/.claude/skills/infrastructure-architecture/resources/architecture-decision-records.md +505 -0
  165. package/.claude/skills/infrastructure-architecture/resources/architecture-patterns.md +528 -0
  166. package/.claude/skills/infrastructure-architecture/resources/capacity-planning.md +453 -0
  167. package/.claude/skills/infrastructure-architecture/resources/cleared-environment-architecture.md +773 -0
  168. package/.claude/skills/infrastructure-architecture/resources/cost-architecture.md +499 -0
  169. package/.claude/skills/infrastructure-architecture/resources/data-architecture.md +501 -0
  170. package/.claude/skills/infrastructure-architecture/resources/disaster-recovery.md +535 -0
  171. package/.claude/skills/infrastructure-architecture/resources/migration-architecture.md +512 -0
  172. package/.claude/skills/infrastructure-architecture/resources/multi-region-design.md +608 -0
  173. package/.claude/skills/infrastructure-architecture/resources/reference-architectures.md +562 -0
  174. package/.claude/skills/infrastructure-architecture/resources/security-architecture.md +538 -0
  175. package/.claude/skills/infrastructure-architecture/resources/system-design-principles.md +489 -0
  176. package/.claude/skills/infrastructure-architecture/resources/workload-classification.md +1000 -0
  177. package/.claude/skills/infrastructure-strategy/SKILL.md +924 -0
  178. package/.claude/skills/network-engineering/SKILL.md +385 -0
  179. package/.claude/skills/network-engineering/resources/dns-management.md +738 -0
  180. package/.claude/skills/network-engineering/resources/load-balancing.md +820 -0
  181. package/.claude/skills/network-engineering/resources/network-architecture.md +546 -0
  182. package/.claude/skills/network-engineering/resources/network-security.md +921 -0
  183. package/.claude/skills/network-engineering/resources/network-troubleshooting.md +749 -0
  184. package/.claude/skills/network-engineering/resources/routing-switching.md +373 -0
  185. package/.claude/skills/network-engineering/resources/sdn-networking.md +695 -0
  186. package/.claude/skills/network-engineering/resources/service-mesh-networking.md +777 -0
  187. package/.claude/skills/network-engineering/resources/tcp-ip-protocols.md +444 -0
  188. package/.claude/skills/network-engineering/resources/vpn-connectivity.md +672 -0
  189. package/.claude/skills/observability-engineering/SKILL.md +101 -0
  190. package/.claude/skills/observability-engineering/resources/apm-tools.md +97 -0
  191. package/.claude/skills/observability-engineering/resources/correlation-strategies.md +87 -0
  192. package/.claude/skills/observability-engineering/resources/distributed-tracing.md +98 -0
  193. package/.claude/skills/observability-engineering/resources/logs-aggregation.md +118 -0
  194. package/.claude/skills/observability-engineering/resources/observability-cost-optimization.md +141 -0
  195. package/.claude/skills/observability-engineering/resources/opentelemetry.md +110 -0
  196. package/.claude/skills/platform-engineering/SKILL.md +555 -0
  197. package/.claude/skills/platform-engineering/resources/architecture-overview.md +600 -0
  198. package/.claude/skills/platform-engineering/resources/container-orchestration.md +916 -0
  199. package/.claude/skills/platform-engineering/resources/cost-optimization.md +634 -0
  200. package/.claude/skills/platform-engineering/resources/developer-platforms.md +670 -0
  201. package/.claude/skills/platform-engineering/resources/gitops-automation.md +650 -0
  202. package/.claude/skills/platform-engineering/resources/infrastructure-as-code.md +778 -0
  203. package/.claude/skills/platform-engineering/resources/infrastructure-standards.md +708 -0
  204. package/.claude/skills/platform-engineering/resources/multi-tenancy.md +602 -0
  205. package/.claude/skills/platform-engineering/resources/platform-security.md +711 -0
  206. package/.claude/skills/platform-engineering/resources/resource-management.md +592 -0
  207. package/.claude/skills/platform-engineering/resources/service-mesh.md +628 -0
  208. package/.claude/skills/release-engineering/SKILL.md +393 -0
  209. package/.claude/skills/release-engineering/resources/artifact-management.md +108 -0
  210. package/.claude/skills/release-engineering/resources/build-optimization.md +84 -0
  211. package/.claude/skills/release-engineering/resources/ci-cd-pipelines.md +411 -0
  212. package/.claude/skills/release-engineering/resources/deployment-strategies.md +197 -0
  213. package/.claude/skills/release-engineering/resources/pipeline-security.md +62 -0
  214. package/.claude/skills/release-engineering/resources/progressive-delivery.md +83 -0
  215. package/.claude/skills/release-engineering/resources/release-automation.md +68 -0
  216. package/.claude/skills/release-engineering/resources/release-orchestration.md +77 -0
  217. package/.claude/skills/release-engineering/resources/rollback-strategies.md +66 -0
  218. package/.claude/skills/release-engineering/resources/versioning-strategies.md +59 -0
  219. package/.claude/skills/route-tester/SKILL.md +392 -0
  220. package/.claude/skills/skill-developer/ADVANCED.md +197 -0
  221. package/.claude/skills/skill-developer/HOOK_MECHANISMS.md +306 -0
  222. package/.claude/skills/skill-developer/PATTERNS_LIBRARY.md +152 -0
  223. package/.claude/skills/skill-developer/SKILL.md +430 -0
  224. package/.claude/skills/skill-developer/SKILL_RULES_REFERENCE.md +315 -0
  225. package/.claude/skills/skill-developer/TRIGGER_TYPES.md +305 -0
  226. package/.claude/skills/skill-developer/TROUBLESHOOTING.md +514 -0
  227. package/.claude/skills/skill-rules.json +2940 -0
  228. package/.claude/skills/sre/SKILL.md +464 -0
  229. package/.claude/skills/sre/resources/alerting-best-practices.md +282 -0
  230. package/.claude/skills/sre/resources/capacity-planning.md +226 -0
  231. package/.claude/skills/sre/resources/chaos-engineering.md +193 -0
  232. package/.claude/skills/sre/resources/disaster-recovery.md +232 -0
  233. package/.claude/skills/sre/resources/incident-management.md +436 -0
  234. package/.claude/skills/sre/resources/observability-stack.md +240 -0
  235. package/.claude/skills/sre/resources/on-call-runbooks.md +167 -0
  236. package/.claude/skills/sre/resources/performance-optimization.md +108 -0
  237. package/.claude/skills/sre/resources/reliability-patterns.md +183 -0
  238. package/.claude/skills/sre/resources/slo-sli-sla.md +464 -0
  239. package/.claude/skills/sre/resources/toil-reduction.md +145 -0
  240. package/.claude/skills/systems-engineering/SKILL.md +648 -0
  241. package/.claude/skills/systems-engineering/resources/automation-patterns.md +771 -0
  242. package/.claude/skills/systems-engineering/resources/configuration-management.md +998 -0
  243. package/.claude/skills/systems-engineering/resources/linux-administration.md +672 -0
  244. package/.claude/skills/systems-engineering/resources/networking-fundamentals.md +982 -0
  245. package/.claude/skills/systems-engineering/resources/performance-tuning.md +871 -0
  246. package/.claude/skills/systems-engineering/resources/powershell-scripting.md +482 -0
  247. package/.claude/skills/systems-engineering/resources/security-hardening.md +739 -0
  248. package/.claude/skills/systems-engineering/resources/shell-scripting.md +915 -0
  249. package/.claude/skills/systems-engineering/resources/storage-management.md +628 -0
  250. package/.claude/skills/systems-engineering/resources/system-monitoring.md +787 -0
  251. package/.claude/skills/systems-engineering/resources/troubleshooting-guide.md +753 -0
  252. package/.claude/skills/systems-engineering/resources/windows-administration.md +738 -0
  253. package/.claude/skills/technical-leadership/SKILL.md +728 -0
  254. package/CHANGELOG.md +102 -42
  255. package/CLAUDE.md +284 -0
  256. package/README.md +315 -71
  257. package/backend/docs/SECRETS_DOCUMENTATION.md +327 -0
  258. package/backend/jest.config.js +59 -0
  259. package/backend/package-lock.json +6801 -0
  260. package/backend/package.json +24 -4
  261. package/backend/prisma/migrations/20251026104609_add_websocket_api/migration.sql +33 -0
  262. package/backend/prisma/migrations/20251116111851_add_execution_trace/migration.sql +22 -0
  263. package/backend/prisma/migrations/20251120154914_add_panel_api_keys/migration.sql +21 -0
  264. package/backend/prisma/migrations/20251121110241_add_proxy_table/migration.sql +45 -0
  265. package/backend/prisma/migrations/migration_lock.toml +2 -2
  266. package/backend/prisma/schema.prisma +103 -1
  267. package/backend/src/__tests__/core/DependencyService.test.js +336 -0
  268. package/backend/src/__tests__/core/UserService.test.js +875 -0
  269. package/backend/src/__tests__/repositories/BaseRepository.test.js +146 -0
  270. package/backend/src/__tests__/repositories/BotRepository.test.js +118 -0
  271. package/backend/src/__tests__/repositories/CommandRepository.test.js +132 -0
  272. package/backend/src/__tests__/repositories/EventGraphRepository.test.js +93 -0
  273. package/backend/src/__tests__/repositories/GroupRepository.test.js +155 -0
  274. package/backend/src/__tests__/repositories/PermissionRepository.test.js +130 -0
  275. package/backend/src/__tests__/repositories/PluginRepository.test.js +107 -0
  276. package/backend/src/__tests__/repositories/ServerRepository.test.js +80 -0
  277. package/backend/src/__tests__/repositories/UserRepository.test.js +128 -0
  278. package/backend/src/__tests__/secretsFilter.test.js +425 -0
  279. package/backend/src/__tests__/services/BotLifecycleService.test.js +416 -0
  280. package/backend/src/__tests__/services/BotProcessManager.test.js +285 -0
  281. package/backend/src/__tests__/services/CacheManager.test.js +125 -0
  282. package/backend/src/__tests__/services/CommandExecutionService.test.js +460 -0
  283. package/backend/src/__tests__/services/ResourceMonitorService.test.js +207 -0
  284. package/backend/src/__tests__/services/TelemetryService.test.js +291 -0
  285. package/backend/src/__tests__/setup.js +25 -0
  286. package/backend/src/ai/plugin-assistant-system-prompt.md +788 -0
  287. package/backend/src/api/middleware/auth.js +27 -0
  288. package/backend/src/api/middleware/botAccess.js +7 -3
  289. package/backend/src/api/middleware/panelApiAuth.js +135 -0
  290. package/backend/src/api/routes/aiAssistant.js +995 -0
  291. package/backend/src/api/routes/apiKeys.js +181 -0
  292. package/backend/src/api/routes/auth.js +669 -633
  293. package/backend/src/api/routes/botCommands.js +107 -0
  294. package/backend/src/api/routes/botGroups.js +165 -0
  295. package/backend/src/api/routes/botHistory.js +108 -0
  296. package/backend/src/api/routes/botPermissions.js +99 -0
  297. package/backend/src/api/routes/botStatus.js +36 -0
  298. package/backend/src/api/routes/botUsers.js +162 -0
  299. package/backend/src/api/routes/bots.js +2451 -2360
  300. package/backend/src/api/routes/eventGraphs.js +4 -1
  301. package/backend/src/api/routes/logs.js +13 -3
  302. package/backend/src/api/routes/panel.js +66 -66
  303. package/backend/src/api/routes/panelApiKeys.js +179 -0
  304. package/backend/src/api/routes/pluginIde.js +1715 -135
  305. package/backend/src/api/routes/plugins.js +376 -218
  306. package/backend/src/api/routes/proxies.js +130 -0
  307. package/backend/src/api/routes/search.js +4 -0
  308. package/backend/src/api/routes/servers.js +20 -3
  309. package/backend/src/api/routes/settings.js +5 -0
  310. package/backend/src/api/routes/system.js +174 -0
  311. package/backend/src/api/routes/traces.js +131 -0
  312. package/backend/src/config/debug.config.js +36 -0
  313. package/backend/src/container.js +82 -0
  314. package/backend/src/core/BotHistoryStore.js +180 -0
  315. package/backend/src/core/BotManager.js +149 -868
  316. package/backend/src/core/BotManager.old.js +1093 -0
  317. package/backend/src/core/BotProcess.js +850 -191
  318. package/backend/src/core/EventGraphManager.js +194 -198
  319. package/backend/src/core/GraphExecutionEngine.js +709 -57
  320. package/backend/src/core/MessageQueue.js +39 -12
  321. package/backend/src/core/NodeRegistry.js +37 -1134
  322. package/backend/src/core/PluginLoader.js +99 -5
  323. package/backend/src/core/PluginManager.js +126 -15
  324. package/backend/src/core/PrismaService.js +32 -0
  325. package/backend/src/core/TaskScheduler.js +1 -1
  326. package/backend/src/core/UserService.js +3 -3
  327. package/backend/src/core/__tests__/PrismaService.test.js +24 -0
  328. package/backend/src/core/commands/README.md +305 -0
  329. package/backend/src/core/commands/dev.js +13 -7
  330. package/backend/src/core/commands/ping.js +10 -4
  331. package/backend/src/core/commands/whois.js +63 -0
  332. package/backend/src/core/config/validation.js +27 -0
  333. package/backend/src/core/constants/graphTypes.js +21 -0
  334. package/backend/src/core/node-registries/actions.js +202 -0
  335. package/backend/src/core/node-registries/arrays.js +155 -0
  336. package/backend/src/core/node-registries/bot.js +23 -0
  337. package/backend/src/core/node-registries/data.js +290 -0
  338. package/backend/src/core/node-registries/debug.js +26 -0
  339. package/backend/src/core/node-registries/events.js +201 -0
  340. package/backend/src/core/node-registries/flow.js +139 -0
  341. package/backend/src/core/node-registries/logic.js +62 -0
  342. package/backend/src/core/node-registries/math.js +42 -0
  343. package/backend/src/core/node-registries/objects.js +98 -0
  344. package/backend/src/core/node-registries/strings.js +187 -0
  345. package/backend/src/core/node-registries/time.js +113 -0
  346. package/backend/src/core/node-registries/type.js +25 -0
  347. package/backend/src/core/node-registries/users.js +79 -0
  348. package/backend/src/core/nodes/{action_bot_look_at.js → actions/bot_look_at.js} +36 -36
  349. package/backend/src/core/nodes/{action_bot_set_variable.js → actions/bot_set_variable.js} +32 -32
  350. package/backend/src/core/nodes/actions/create_command.js +189 -0
  351. package/backend/src/core/nodes/actions/delete_command.js +92 -0
  352. package/backend/src/core/nodes/{action_send_log.js → actions/send_log.js} +28 -23
  353. package/backend/src/core/nodes/{action_send_message.js → actions/send_message.js} +32 -32
  354. package/backend/src/core/nodes/actions/send_websocket_response.js +33 -0
  355. package/backend/src/core/nodes/actions/update_command.js +133 -0
  356. package/backend/src/core/nodes/arrays/get_next.js +35 -0
  357. package/backend/src/core/nodes/arrays/join.js +28 -0
  358. package/backend/src/core/nodes/{data_cast.js → data/cast.js} +10 -1
  359. package/backend/src/core/nodes/data/datetime_literal.js +27 -0
  360. package/backend/src/core/nodes/data/entity_info.js +69 -0
  361. package/backend/src/core/nodes/data/get_nearby_entities.js +32 -0
  362. package/backend/src/core/nodes/data/get_nearby_players.js +64 -0
  363. package/backend/src/core/nodes/{data_get_user_field.js → data/get_user_field.js} +1 -1
  364. package/backend/src/core/nodes/data/type_check.js +53 -0
  365. package/backend/src/core/nodes/{debug_log.js → debug/log.js} +16 -16
  366. package/backend/src/core/nodes/{flow_branch.js → flow/branch.js} +15 -15
  367. package/backend/src/core/nodes/{flow_break.js → flow/break.js} +14 -14
  368. package/backend/src/core/nodes/flow/delay.js +43 -0
  369. package/backend/src/core/nodes/{flow_for_each.js → flow/for_each.js} +39 -39
  370. package/backend/src/core/nodes/{flow_sequence.js → flow/sequence.js} +16 -16
  371. package/backend/src/core/nodes/{flow_switch.js → flow/switch.js} +47 -47
  372. package/backend/src/core/nodes/{flow_while.js → flow/while.js} +1 -1
  373. package/backend/src/core/nodes/logic/__tests__/compare.test.js +83 -0
  374. package/backend/src/core/nodes/logic/not.js +22 -0
  375. package/backend/src/core/nodes/math/__tests__/operation.test.js +65 -0
  376. package/backend/src/core/nodes/strings/__tests__/concat.test.js +89 -0
  377. package/backend/src/core/nodes/{string_starts_with.js → strings/starts_with.js} +1 -1
  378. package/backend/src/core/nodes/strings/to_lower.js +22 -0
  379. package/backend/src/core/nodes/strings/to_upper.js +22 -0
  380. package/backend/src/core/nodes/time/__tests__/now.test.js +24 -0
  381. package/backend/src/core/nodes/time/add.js +33 -0
  382. package/backend/src/core/nodes/time/compare.js +35 -0
  383. package/backend/src/core/nodes/time/diff.js +29 -0
  384. package/backend/src/core/nodes/time/format.js +32 -0
  385. package/backend/src/core/nodes/time/now.js +18 -0
  386. package/backend/src/core/nodes/type/to_string.js +32 -0
  387. package/backend/src/core/nodes/{user_check_blacklist.js → users/check_blacklist.js} +37 -37
  388. package/backend/src/core/nodes/{user_get_groups.js → users/get_groups.js} +36 -36
  389. package/backend/src/core/nodes/{user_get_permissions.js → users/get_permissions.js} +36 -36
  390. package/backend/src/core/nodes/{user_set_blacklist.js → users/set_blacklist.js} +37 -37
  391. package/backend/src/core/services/BotLifecycleService.js +835 -0
  392. package/backend/src/core/services/BotProcessManager.js +163 -0
  393. package/backend/src/core/services/CacheManager.js +111 -0
  394. package/backend/src/core/services/CommandExecutionService.js +430 -0
  395. package/backend/src/core/services/DebugSessionManager.js +347 -0
  396. package/backend/src/core/services/GraphCollaborationManager.js +501 -0
  397. package/backend/src/core/services/MinecraftBotManager.js +259 -0
  398. package/backend/src/core/services/MinecraftViewerService.js +216 -0
  399. package/backend/src/core/services/ResourceMonitorService.js +90 -0
  400. package/backend/src/core/services/TelemetryService.js +124 -0
  401. package/backend/src/core/services/TraceCollectorService.js +545 -0
  402. package/backend/src/core/services/ValidationService.js +132 -0
  403. package/backend/src/core/services/__tests__/ValidationService.test.js +148 -0
  404. package/backend/src/core/services.js +20 -5
  405. package/backend/src/core/system/CommandContext.js +84 -0
  406. package/backend/src/core/system/RuntimeCommandRegistry.js +116 -0
  407. package/backend/src/core/system/Transport.js +74 -0
  408. package/backend/src/core/utils/__tests__/jsonParser.test.js +44 -0
  409. package/backend/src/core/utils/jsonParser.js +18 -0
  410. package/backend/src/core/utils/secretsFilter.js +262 -0
  411. package/backend/src/core/utils/variableParser.js +89 -0
  412. package/backend/src/core/validation/__tests__/nodeSchemas.test.js +175 -0
  413. package/backend/src/core/validation/nodeSchemas.js +112 -0
  414. package/backend/src/lib/prisma.js +2 -4
  415. package/backend/src/real-time/botApi/handlers/commandHandlers.js +28 -0
  416. package/backend/src/real-time/botApi/handlers/graphHandlers.js +99 -0
  417. package/backend/src/real-time/botApi/handlers/graphWebSocketHandlers.js +147 -0
  418. package/backend/src/real-time/botApi/handlers/index.js +43 -0
  419. package/backend/src/real-time/botApi/handlers/messageHandlers.js +66 -0
  420. package/backend/src/real-time/botApi/handlers/statusHandlers.js +17 -0
  421. package/backend/src/real-time/botApi/handlers/userHandlers.js +141 -0
  422. package/backend/src/real-time/botApi/index.js +40 -0
  423. package/backend/src/real-time/botApi/middleware.js +79 -0
  424. package/backend/src/real-time/botApi/utils.js +65 -0
  425. package/backend/src/real-time/panelNamespace.js +387 -0
  426. package/backend/src/real-time/presence.js +7 -2
  427. package/backend/src/real-time/socketHandler.js +400 -5
  428. package/backend/src/repositories/BaseRepository.js +43 -0
  429. package/backend/src/repositories/BotRepository.js +42 -0
  430. package/backend/src/repositories/CommandRepository.js +53 -0
  431. package/backend/src/repositories/EventGraphRepository.js +40 -0
  432. package/backend/src/repositories/GroupRepository.js +69 -0
  433. package/backend/src/repositories/PermissionRepository.js +48 -0
  434. package/backend/src/repositories/PluginRepository.js +42 -0
  435. package/backend/src/repositories/ServerRepository.js +27 -0
  436. package/backend/src/repositories/UserRepository.js +48 -0
  437. package/backend/src/server.js +21 -0
  438. package/backend/src/test-refactor.js +85 -0
  439. package/frontend/dist/assets/index-B1serztM.js +11210 -0
  440. package/frontend/dist/assets/index-t6K1u4OV.css +32 -0
  441. package/frontend/dist/index.html +2 -2
  442. package/frontend/package-lock.json +9437 -0
  443. package/frontend/package.json +8 -5
  444. package/package.json +3 -2
  445. package/screen/console.png +0 -0
  446. package/screen/dashboard.png +0 -0
  447. package/screen/graph_collabe.png +0 -0
  448. package/screen/graph_live_debug.png +0 -0
  449. package/screen/management_command.png +0 -0
  450. package/screen/node_debug_trace.png +0 -0
  451. package/screen/plugin_/320/276/320/261/320/267/320/276/321/200.png +0 -0
  452. package/screen/websocket.png +0 -0
  453. package/screen//320/275/320/260/321/201/321/202/321/200/320/276/320/271/320/272/320/270_/320/276/321/202/320/264/320/265/320/273/321/214/320/275/321/213/321/205_/320/272/320/276/320/274/320/260/320/275/320/264_/320/272/320/260/320/266/320/264/321/203_/320/272/320/276/320/274/320/260/320/275/320/273/320/264/321/203_/320/274/320/276/320/266/320/275/320/276_/320/275/320/260/321/201/321/202/321/200/320/260/320/270/320/262/320/260/321/202/321/214.png +0 -0
  454. package/screen//320/277/320/273/320/260/320/275/320/270/321/200/320/276/320/262/321/211/320/270/320/272_/320/274/320/276/320/266/320/275/320/276_/320/267/320/260/320/264/320/260/320/262/320/260/321/202/321/214_/320/264/320/265/320/271/321/201/321/202/320/262/320/270/321/217_/320/277/320/276_/320/262/321/200/320/265/320/274/320/265/320/275/320/270.png +0 -0
  455. package/frontend/dist/assets/index-B9GedHEa.js +0 -8352
  456. package/frontend/dist/assets/index-zLiy9MDx.css +0 -1
  457. package/nul +0 -0
  458. /package/backend/src/core/nodes/{action_http_request.js → actions/http_request.js} +0 -0
  459. /package/backend/src/core/nodes/{array_add_element.js → arrays/add_element.js} +0 -0
  460. /package/backend/src/core/nodes/{array_contains.js → arrays/contains.js} +0 -0
  461. /package/backend/src/core/nodes/{array_find_index.js → arrays/find_index.js} +0 -0
  462. /package/backend/src/core/nodes/{array_get_by_index.js → arrays/get_by_index.js} +0 -0
  463. /package/backend/src/core/nodes/{array_get_random_element.js → arrays/get_random_element.js} +0 -0
  464. /package/backend/src/core/nodes/{array_remove_by_index.js → arrays/remove_by_index.js} +0 -0
  465. /package/backend/src/core/nodes/{bot_get_position.js → bot/get_position.js} +0 -0
  466. /package/backend/src/core/nodes/{data_array_literal.js → data/array_literal.js} +0 -0
  467. /package/backend/src/core/nodes/{data_boolean_literal.js → data/boolean_literal.js} +0 -0
  468. /package/backend/src/core/nodes/{data_get_argument.js → data/get_argument.js} +0 -0
  469. /package/backend/src/core/nodes/{data_get_bot_look.js → data/get_bot_look.js} +0 -0
  470. /package/backend/src/core/nodes/{data_get_entity_field.js → data/get_entity_field.js} +0 -0
  471. /package/backend/src/core/nodes/{data_get_server_players.js → data/get_server_players.js} +0 -0
  472. /package/backend/src/core/nodes/{data_get_variable.js → data/get_variable.js} +0 -0
  473. /package/backend/src/core/nodes/{data_length.js → data/length.js} +0 -0
  474. /package/backend/src/core/nodes/{data_make_object.js → data/make_object.js} +0 -0
  475. /package/backend/src/core/nodes/{data_number_literal.js → data/number_literal.js} +0 -0
  476. /package/backend/src/core/nodes/{data_string_literal.js → data/string_literal.js} +0 -0
  477. /package/backend/src/core/nodes/{logic_compare.js → logic/compare.js} +0 -0
  478. /package/backend/src/core/nodes/{logic_operation.js → logic/operation.js} +0 -0
  479. /package/backend/src/core/nodes/{math_operation.js → math/operation.js} +0 -0
  480. /package/backend/src/core/nodes/{math_random_number.js → math/random_number.js} +0 -0
  481. /package/backend/src/core/nodes/{object_create.js → objects/create.js} +0 -0
  482. /package/backend/src/core/nodes/{object_delete.js → objects/delete.js} +0 -0
  483. /package/backend/src/core/nodes/{object_get.js → objects/get.js} +0 -0
  484. /package/backend/src/core/nodes/{object_has_key.js → objects/has_key.js} +0 -0
  485. /package/backend/src/core/nodes/{object_set.js → objects/set.js} +0 -0
  486. /package/backend/src/core/nodes/{string_concat.js → strings/concat.js} +0 -0
  487. /package/backend/src/core/nodes/{string_contains.js → strings/contains.js} +0 -0
  488. /package/backend/src/core/nodes/{string_ends_with.js → strings/ends_with.js} +0 -0
  489. /package/backend/src/core/nodes/{string_equals.js → strings/equals.js} +0 -0
  490. /package/backend/src/core/nodes/{string_length.js → strings/length.js} +0 -0
  491. /package/backend/src/core/nodes/{string_matches.js → strings/matches.js} +0 -0
  492. /package/backend/src/core/nodes/{string_split.js → strings/split.js} +0 -0
@@ -0,0 +1,817 @@
1
+ # Automation and Orchestration
2
+
3
+ Workflow automation, ServiceNow automation, process automation, IT self-service portals, and orchestration platforms for efficient IT operations.
4
+
5
+ ## Table of Contents
6
+
7
+ - [Automation Overview](#automation-overview)
8
+ - [Workflow Automation](#workflow-automation)
9
+ - [ServiceNow Automation](#servicenow-automation)
10
+ - [Self-Service Portals](#self-service-portals)
11
+ - [Orchestration Platforms](#orchestration-platforms)
12
+ - [RPA (Robotic Process Automation)](#rpa-robotic-process-automation)
13
+ - [Best Practices](#best-practices)
14
+
15
+ ## Automation Overview
16
+
17
+ ### Purpose
18
+
19
+ IT automation provides:
20
+ - Reduced manual effort
21
+ - Faster service delivery
22
+ - Consistency and repeatability
23
+ - Fewer human errors
24
+ - 24/7 operations
25
+ - Cost savings
26
+
27
+ ### Automation Spectrum
28
+
29
+ ```
30
+ ┌────────────────────────────────────────────────────┐
31
+ │ Automation Maturity Levels │
32
+ ├────────────────────────────────────────────────────┤
33
+ │ │
34
+ │ Level 0: Manual │
35
+ │ - Everything done by humans │
36
+ │ - Documentation in Word/Wiki │
37
+ │ - High error rate │
38
+ │ │
39
+ │ Level 1: Scripted │
40
+ │ - Basic scripts for repetitive tasks │
41
+ │ - Still requires human to run │
42
+ │ - Inconsistent execution │
43
+ │ │
44
+ │ Level 2: Automated │
45
+ │ - Scheduled automation │
46
+ │ - Event-triggered tasks │
47
+ │ - Reduced manual intervention │
48
+ │ │
49
+ │ Level 3: Orchestrated │
50
+ │ - Complex workflows │
51
+ │ - Multi-system coordination │
52
+ │ - Approval workflows │
53
+ │ - Error handling │
54
+ │ │
55
+ │ Level 4: Self-Healing │
56
+ │ - Automatic problem detection │
57
+ │ - Automatic remediation │
58
+ │ - Learning from patterns │
59
+ │ - Minimal human intervention │
60
+ │ │
61
+ │ Level 5: Autonomous │
62
+ │ - AI-driven decisions │
63
+ │ - Predictive automation │
64
+ │ - Self-optimization │
65
+ │ - Humans monitor, don't operate │
66
+ │ │
67
+ └────────────────────────────────────────────────────┘
68
+ ```
69
+
70
+ ### Automation Candidates
71
+
72
+ ```yaml
73
+ Best Candidates for Automation:
74
+
75
+ High Volume Tasks:
76
+ - Password resets (100+ per day)
77
+ - User provisioning (50+ per day)
78
+ - Report generation (daily/weekly)
79
+
80
+ Repetitive Tasks:
81
+ - Backup verification
82
+ - Log rotation
83
+ - Certificate renewal
84
+ - Patch deployment
85
+
86
+ Time-Sensitive Tasks:
87
+ - Incident response
88
+ - Service restoration
89
+ - Failover procedures
90
+
91
+ Error-Prone Tasks:
92
+ - Configuration management
93
+ - Data entry
94
+ - Multi-step procedures
95
+
96
+ After-Hours Tasks:
97
+ - Batch processing
98
+ - Database maintenance
99
+ - Backup operations
100
+ ```
101
+
102
+ ## Workflow Automation
103
+
104
+ ### Common Workflows
105
+
106
+ **User Onboarding Workflow:**
107
+ ```yaml
108
+ Trigger: HR system new hire entry
109
+
110
+ Workflow Steps:
111
+
112
+ 1. Create Active Directory Account:
113
+ - Username generation (firstname.lastname)
114
+ - Initial password (random, expires on first login)
115
+ - Group memberships (based on department/role)
116
+ - Home directory creation
117
+
118
+ 2. Create Email Account:
119
+ - Exchange mailbox
120
+ - Email aliases
121
+ - Distribution lists
122
+ - Mobile device policy
123
+
124
+ 3. Provision Access:
125
+ - Application access (role-based)
126
+ - Network shares
127
+ - VPN account
128
+ - Badge access
129
+
130
+ 4. Order Equipment:
131
+ - Laptop (based on role)
132
+ - Monitor, keyboard, mouse
133
+ - Phone
134
+ - Shipping address
135
+
136
+ 5. Notify Stakeholders:
137
+ - Manager: Setup complete, start date confirmation
138
+ - IT: Equipment shipped
139
+ - New hire: Welcome email with credentials
140
+ - Security: Badge ready for pickup
141
+
142
+ 6. Create Tickets:
143
+ - Workspace setup
144
+ - Equipment delivery
145
+ - Orientation scheduling
146
+
147
+ Duration: 2 hours (vs 1 day manual)
148
+ Error Rate: <1% (vs 15% manual)
149
+ Cost Savings: $50 per user
150
+ ```
151
+
152
+ **Incident Response Workflow:**
153
+ ```yaml
154
+ Trigger: Critical alert (P1 incident)
155
+
156
+ Workflow Steps:
157
+
158
+ 1. Create Incident:
159
+ - Auto-create ticket in ServiceNow
160
+ - Set priority to P1
161
+ - Populate from monitoring data
162
+
163
+ 2. Notify Team:
164
+ - Page on-call engineer (PagerDuty)
165
+ - Create Slack channel (#incident-123)
166
+ - Send SMS to manager
167
+ - Update status page
168
+
169
+ 3. Gather Data:
170
+ - Capture logs automatically
171
+ - Take system snapshots
172
+ - Document timeline
173
+ - Record metrics
174
+
175
+ 4. Execute Runbook:
176
+ - Run diagnostic scripts
177
+ - Check dependencies
178
+ - Attempt auto-remediation
179
+ - Escalate if unsuccessful
180
+
181
+ 5. Communication:
182
+ - Update status page (every 15 min)
183
+ - Post updates to Slack
184
+ - Email stakeholders
185
+ - Customer notifications
186
+
187
+ 6. Post-Resolution:
188
+ - Verify service restored
189
+ - Update ticket
190
+ - Close status page update
191
+ - Schedule post-mortem
192
+
193
+ Duration: 5 minutes to initiate (vs 20 minutes manual)
194
+ ```
195
+
196
+ **Change Management Workflow:**
197
+ ```yaml
198
+ Trigger: Change Request submitted
199
+
200
+ Workflow Steps:
201
+
202
+ 1. Validation:
203
+ - Check RFC completeness
204
+ - Verify required fields
205
+ - Validate change window
206
+ - Return if incomplete
207
+
208
+ 2. Risk Assessment:
209
+ - Auto-categorize change type
210
+ - Check change calendar for conflicts
211
+ - Review past similar changes
212
+ - Calculate risk score
213
+
214
+ 3. Approval Routing:
215
+ - Standard change → Auto-approve
216
+ - Normal change → Route to CAB
217
+ - Emergency change → Expedited approval
218
+ - Track approval status
219
+
220
+ 4. Scheduling:
221
+ - Reserve change window
222
+ - Check resource availability
223
+ - Notify implementation team
224
+ - Update change calendar
225
+
226
+ 5. Implementation:
227
+ - Send reminder (T-24 hours)
228
+ - Update status page
229
+ - Enable change window
230
+ - Track progress
231
+
232
+ 6. Verification:
233
+ - Run smoke tests
234
+ - Verify monitoring
235
+ - Confirm success
236
+ - Update ticket
237
+
238
+ 7. Closure:
239
+ - Document outcome
240
+ - Close ticket
241
+ - Update CMDB
242
+ - Schedule PIR (if needed)
243
+
244
+ Approval Time: 2 hours (vs 3 days manual)
245
+ ```
246
+
247
+ ## ServiceNow Automation
248
+
249
+ ### ServiceNow Workflow Capabilities
250
+
251
+ ```yaml
252
+ ServiceNow Automation Features:
253
+
254
+ Flow Designer:
255
+ - Visual workflow builder
256
+ - Drag-and-drop actions
257
+ - Reusable subflows
258
+ - Error handling
259
+ - Integration hub
260
+
261
+ Integration Hub:
262
+ - Pre-built integrations (1000+)
263
+ - REST/SOAP APIs
264
+ - Orchestration
265
+ - Custom spokes
266
+
267
+ Automation Engine:
268
+ - Event-driven automation
269
+ - Scheduled jobs
270
+ - Business rules
271
+ - Script actions
272
+
273
+ Service Catalog:
274
+ - Self-service requests
275
+ - Automated fulfillment
276
+ - Approval workflows
277
+ - Catalog items
278
+ ```
279
+
280
+ ### ServiceNow Flow Example
281
+
282
+ ```yaml
283
+ Flow: Software Installation Request
284
+
285
+ Trigger: User submits catalog item "Install Software"
286
+
287
+ Steps:
288
+
289
+ 1. Check License Availability:
290
+ Action: Query CMDB
291
+ If available:
292
+ - Proceed
293
+ Else:
294
+ - Send approval to manager (for purchase)
295
+ - Wait for approval
296
+
297
+ 2. Verify User Eligibility:
298
+ Action: Check user role and department
299
+ If eligible:
300
+ - Proceed
301
+ Else:
302
+ - Reject request
303
+ - Notify user
304
+
305
+ 3. Create Fulfillment Tasks:
306
+ Action: Create tasks
307
+ Tasks:
308
+ - Download software installer
309
+ - Deploy to user's machine
310
+ - Verify installation
311
+ - Update license count
312
+
313
+ 4. Deploy Software:
314
+ Action: Integration with SCCM
315
+ Command: Deploy package to user's machine
316
+ Wait for completion
317
+
318
+ 5. Verify Installation:
319
+ Action: Query SCCM
320
+ Check: Software installed successfully
321
+
322
+ 6. Update Records:
323
+ Action: Update CMDB
324
+ Changes:
325
+ - Increment license count
326
+ - Record installation
327
+ - Update user profile
328
+
329
+ 7. Notify User:
330
+ Action: Send email
331
+ Message: "Software installed successfully"
332
+ Include: Quick start guide
333
+
334
+ 8. Close Request:
335
+ Action: Update ticket
336
+ Status: Resolved
337
+ Resolution: Software installed
338
+
339
+ Average Duration: 15 minutes (vs 2 days manual)
340
+ ```
341
+
342
+ ## Self-Service Portals
343
+
344
+ ### Portal Capabilities
345
+
346
+ ```yaml
347
+ Self-Service Portal Features:
348
+
349
+ Service Catalog:
350
+ - Browse available services
351
+ - Submit requests
352
+ - Track request status
353
+ - Approval workflows
354
+
355
+ Knowledge Base:
356
+ - Search articles
357
+ - How-to guides
358
+ - FAQs
359
+ - Video tutorials
360
+
361
+ Incident Management:
362
+ - Report issues
363
+ - Track tickets
364
+ - Chat with support
365
+ - View status
366
+
367
+ Account Management:
368
+ - Password reset (no help desk)
369
+ - Update profile
370
+ - Request access
371
+ - View permissions
372
+
373
+ Dashboards:
374
+ - Service status
375
+ - My tickets
376
+ - My requests
377
+ - Announcements
378
+ ```
379
+
380
+ ### Self-Service Examples
381
+
382
+ **Password Reset:**
383
+ ```yaml
384
+ Self-Service Password Reset:
385
+
386
+ User Experience:
387
+ 1. Click "Forgot Password" on login page
388
+ 2. Enter username or email
389
+ 3. Choose verification method:
390
+ - Email code
391
+ - SMS code
392
+ - Security questions
393
+ 4. Receive verification code
394
+ 5. Enter code
395
+ 6. Set new password
396
+ 7. Password reset confirmation
397
+
398
+ Backend Automation:
399
+ - Generate secure code
400
+ - Send via email/SMS
401
+ - Validate code
402
+ - Update Active Directory
403
+ - Sync to other systems
404
+ - Log action
405
+ - Send confirmation
406
+
407
+ Benefits:
408
+ - 24/7 availability
409
+ - Instant resolution
410
+ - No help desk needed
411
+ - Reduced support costs: $25 per reset
412
+
413
+ Adoption:
414
+ - 95% of password resets via self-service
415
+ - 500+ resets per month automated
416
+ - $12,500 monthly savings
417
+ ```
418
+
419
+ **Vacation Responder:**
420
+ ```yaml
421
+ Self-Service Vacation Setup:
422
+
423
+ User Experience:
424
+ 1. Navigate to "Out of Office" portal
425
+ 2. Enter dates (from/to)
426
+ 3. Enter auto-reply message
427
+ 4. Select options:
428
+ - Forward emails to colleague
429
+ - Block calendar
430
+ - Update Slack status
431
+ 5. Submit
432
+ 6. Confirmation
433
+
434
+ Backend Automation:
435
+ - Update Exchange auto-reply
436
+ - Set email forwarding rules
437
+ - Block calendar
438
+ - Update Slack/Teams status
439
+ - Create reminder to disable
440
+ - Notify manager
441
+
442
+ Duration: 2 minutes (vs 10 minutes calling help desk)
443
+ ```
444
+
445
+ ## Orchestration Platforms
446
+
447
+ ### Orchestration Tools
448
+
449
+ **Ansible:**
450
+ ```yaml
451
+ Use Cases:
452
+ - Configuration management
453
+ - Application deployment
454
+ - Infrastructure provisioning
455
+ - Orchestration
456
+
457
+ Example Playbook:
458
+ ---
459
+ - name: Deploy Web Application
460
+ hosts: webservers
461
+ tasks:
462
+ - name: Install Apache
463
+ yum:
464
+ name: httpd
465
+ state: present
466
+
467
+ - name: Copy application files
468
+ copy:
469
+ src: /app/
470
+ dest: /var/www/html/
471
+
472
+ - name: Start Apache
473
+ service:
474
+ name: httpd
475
+ state: started
476
+ enabled: yes
477
+
478
+ - name: Configure firewall
479
+ firewall:
480
+ service: http
481
+ permanent: yes
482
+ state: enabled
483
+ ```
484
+
485
+ **Jenkins:**
486
+ ```yaml
487
+ Use Cases:
488
+ - CI/CD pipelines
489
+ - Build automation
490
+ - Testing automation
491
+ - Deployment orchestration
492
+
493
+ Example Pipeline:
494
+ pipeline {
495
+ agent any
496
+ stages {
497
+ stage('Build') {
498
+ steps {
499
+ sh 'npm install'
500
+ sh 'npm run build'
501
+ }
502
+ }
503
+ stage('Test') {
504
+ steps {
505
+ sh 'npm test'
506
+ sh 'npm run lint'
507
+ }
508
+ }
509
+ stage('Deploy') {
510
+ steps {
511
+ sh 'ansible-playbook deploy.yml'
512
+ }
513
+ }
514
+ }
515
+ post {
516
+ success {
517
+ mail to: 'team@company.com',
518
+ subject: "Build ${env.BUILD_NUMBER} succeeded"
519
+ }
520
+ failure {
521
+ mail to: 'team@company.com',
522
+ subject: "Build ${env.BUILD_NUMBER} failed"
523
+ }
524
+ }
525
+ }
526
+ ```
527
+
528
+ **Rundeck:**
529
+ ```yaml
530
+ Use Cases:
531
+ - Runbook automation
532
+ - Scheduled jobs
533
+ - Self-service operations
534
+ - Disaster recovery
535
+
536
+ Example Job:
537
+ name: Database Backup
538
+ schedule: '0 2 * * *' # 2 AM daily
539
+ steps:
540
+ - exec: /scripts/backup-db.sh
541
+ - exec: /scripts/verify-backup.sh
542
+ - exec: /scripts/upload-to-s3.sh
543
+ notifications:
544
+ on-success:
545
+ email: dba@company.com
546
+ on-failure:
547
+ email: dba@company.com
548
+ page: oncall-dba
549
+ ```
550
+
551
+ ## RPA (Robotic Process Automation)
552
+
553
+ ### RPA Use Cases
554
+
555
+ ```yaml
556
+ IT Operations RPA:
557
+
558
+ License Compliance Checking:
559
+ Process:
560
+ 1. Log into software asset management tool
561
+ 2. Export license usage report
562
+ 3. Compare to procurement system
563
+ 4. Identify discrepancies
564
+ 5. Generate compliance report
565
+ 6. Email to manager
566
+
567
+ Frequency: Monthly
568
+ Manual Time: 4 hours
569
+ Automated Time: 15 minutes
570
+ Savings: 3.75 hours per month
571
+
572
+ User Access Review:
573
+ Process:
574
+ 1. Log into Active Directory
575
+ 2. Export user list with permissions
576
+ 3. Cross-reference with HR system (active employees)
577
+ 4. Identify orphan accounts
578
+ 5. Create report
579
+ 6. Create tickets for access removal
580
+
581
+ Frequency: Quarterly
582
+ Manual Time: 8 hours
583
+ Automated Time: 30 minutes
584
+ Savings: 7.5 hours per quarter
585
+
586
+ Invoice Processing:
587
+ Process:
588
+ 1. Read PDF invoices from email
589
+ 2. Extract vendor, amount, PO number
590
+ 3. Validate against purchase orders
591
+ 4. Update accounting system
592
+ 5. Route for approval
593
+ 6. File in document management
594
+
595
+ Frequency: Daily (50 invoices)
596
+ Manual Time: 10 minutes each (500 min/day)
597
+ Automated Time: 1 minute each (50 min/day)
598
+ Savings: 450 minutes per day
599
+ ```
600
+
601
+ ### RPA Tools
602
+
603
+ ```yaml
604
+ Popular RPA Platforms:
605
+
606
+ UiPath:
607
+ - Visual workflow designer
608
+ - Desktop and web automation
609
+ - AI-powered document processing
610
+ - Orchestrator (centralized management)
611
+
612
+ Automation Anywhere:
613
+ - Cloud-native platform
614
+ - IQ Bot (intelligent automation)
615
+ - Bot insights (analytics)
616
+ - Control room (management)
617
+
618
+ Blue Prism:
619
+ - Enterprise RPA platform
620
+ - Object-based development
621
+ - Control room
622
+ - Strong security and governance
623
+ ```
624
+
625
+ ## Best Practices
626
+
627
+ ### 1. Start Small, Scale Gradually
628
+
629
+ ```yaml
630
+ Automation Roadmap:
631
+
632
+ Phase 1 (Months 1-3):
633
+ - Identify top 10 automation candidates
634
+ - Automate password resets
635
+ - Automate user provisioning
636
+ - Quick wins, high impact
637
+
638
+ Phase 2 (Months 4-6):
639
+ - Expand to service catalog
640
+ - Incident response automation
641
+ - Basic self-service portal
642
+
643
+ Phase 3 (Months 7-12):
644
+ - Advanced workflows
645
+ - Cross-system orchestration
646
+ - Self-healing capabilities
647
+
648
+ Phase 4 (Year 2+):
649
+ - AI-driven automation
650
+ - Predictive automation
651
+ - Autonomous operations
652
+ ```
653
+
654
+ ### 2. Measure ROI
655
+
656
+ ```yaml
657
+ Automation ROI Metrics:
658
+
659
+ Time Savings:
660
+ Before: 10 hours per week (manual password resets)
661
+ After: 0.5 hours per week (exceptions only)
662
+ Savings: 9.5 hours per week
663
+ Annual: 494 hours
664
+ Value: $24,700 (at $50/hour)
665
+
666
+ Error Reduction:
667
+ Before: 15% error rate (manual provisioning)
668
+ After: 1% error rate (automated)
669
+ Errors Prevented: 70 per year
670
+ Rework Cost: $100 per error
671
+ Savings: $7,000 per year
672
+
673
+ Faster Service Delivery:
674
+ Before: 2 days (manual user setup)
675
+ After: 2 hours (automated)
676
+ Improvement: 16x faster
677
+ User Satisfaction: 4.8/5.0 (up from 3.2)
678
+
679
+ Total Annual ROI: $31,700
680
+ Investment: $15,000 (tooling + setup)
681
+ Payback: 6 months
682
+ ```
683
+
684
+ ### 3. Include Error Handling
685
+
686
+ ```yaml
687
+ Robust Automation Design:
688
+
689
+ Error Handling:
690
+ - Try/catch blocks
691
+ - Retry logic (with backoff)
692
+ - Fallback procedures
693
+ - Human escalation
694
+
695
+ Example:
696
+ try:
697
+ create_user_account(username)
698
+ except DuplicateUserError:
699
+ log_error("User already exists")
700
+ notify_admin()
701
+ except ADConnectionError:
702
+ retry(max_attempts=3, delay=5)
703
+ if still_failing:
704
+ create_manual_ticket()
705
+ alert_oncall()
706
+ except Exception as e:
707
+ log_error(e)
708
+ rollback_changes()
709
+ escalate_to_human()
710
+ ```
711
+
712
+ ### 4. Maintain Documentation
713
+
714
+ ```yaml
715
+ Automation Documentation:
716
+
717
+ For Each Automation:
718
+ - Purpose and scope
719
+ - Trigger conditions
720
+ - Step-by-step process
721
+ - Dependencies
722
+ - Error handling
723
+ - Rollback procedures
724
+ - Maintenance notes
725
+ - Change history
726
+
727
+ Repository:
728
+ - Central location (Wiki/Confluence)
729
+ - Version control (Git)
730
+ - Runbook format
731
+ - Search optimization
732
+ ```
733
+
734
+ ### 5. Monitor and Optimize
735
+
736
+ ```yaml
737
+ Automation Monitoring:
738
+
739
+ Metrics to Track:
740
+ - Execution success rate
741
+ - Execution time
742
+ - Error rate
743
+ - Usage volume
744
+ - User satisfaction
745
+
746
+ Review Schedule:
747
+ - Daily: Check for failures
748
+ - Weekly: Performance trends
749
+ - Monthly: Optimization opportunities
750
+ - Quarterly: ROI review
751
+
752
+ Continuous Improvement:
753
+ - Identify bottlenecks
754
+ - Optimize slow steps
755
+ - Expand automation scope
756
+ - Update based on feedback
757
+ ```
758
+
759
+ ### 6. Security and Compliance
760
+
761
+ ```yaml
762
+ Automation Security:
763
+
764
+ Credentials:
765
+ - Use service accounts (not personal)
766
+ - Credential vaults (not hardcoded)
767
+ - Rotate credentials regularly
768
+ - Least privilege access
769
+
770
+ Audit:
771
+ - Log all automation actions
772
+ - Track who triggered automation
773
+ - Retention for compliance
774
+ - Audit trail for SOX/HIPAA
775
+
776
+ Approval Workflows:
777
+ - Require approval for sensitive actions
778
+ - Multi-level approvals
779
+ - Segregation of duties
780
+ - Change control
781
+ ```
782
+
783
+ ### 7. User Adoption
784
+
785
+ ```yaml
786
+ Drive Self-Service Adoption:
787
+
788
+ Communication:
789
+ - Launch announcement
790
+ - Regular reminders
791
+ - Success stories
792
+ - Training sessions
793
+
794
+ Incentives:
795
+ - Faster resolution
796
+ - 24/7 availability
797
+ - No waiting
798
+ - Gamification (for internal tools)
799
+
800
+ Support:
801
+ - Clear instructions
802
+ - Video tutorials
803
+ - Chatbot assistance
804
+ - Fallback to human support
805
+
806
+ Metrics:
807
+ - Self-service adoption rate: 35% → 65%
808
+ - User satisfaction: 4.2/5.0
809
+ - Help desk ticket reduction: 40%
810
+ ```
811
+
812
+ ---
813
+
814
+ **Related Resources:**
815
+ - [service-management.md](service-management.md) - Service request automation
816
+ - [help-desk-operations.md](help-desk-operations.md) - Self-service portals
817
+ - [incident-service-management.md](incident-service-management.md) - Incident automation