@mokoconsulting/mcp-windows 3.0.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 (184) hide show
  1. package/.gitattributes +94 -0
  2. package/.gitmessage +9 -0
  3. package/.mokogitea/ISSUE_TEMPLATE/adr.md +110 -0
  4. package/.mokogitea/ISSUE_TEMPLATE/bug_report.md +48 -0
  5. package/.mokogitea/ISSUE_TEMPLATE/config.yml +18 -0
  6. package/.mokogitea/ISSUE_TEMPLATE/documentation.md +52 -0
  7. package/.mokogitea/ISSUE_TEMPLATE/feature_request.md +51 -0
  8. package/.mokogitea/ISSUE_TEMPLATE/mcp_api_integration.md +48 -0
  9. package/.mokogitea/ISSUE_TEMPLATE/mcp_connection_issue.md +67 -0
  10. package/.mokogitea/ISSUE_TEMPLATE/mcp_tool_request.md +49 -0
  11. package/.mokogitea/ISSUE_TEMPLATE/question.md +82 -0
  12. package/.mokogitea/ISSUE_TEMPLATE/rfc.md +126 -0
  13. package/.mokogitea/ISSUE_TEMPLATE/security.md +51 -0
  14. package/.mokogitea/ISSUE_TEMPLATE/version.md +24 -0
  15. package/.mokogitea/branch-protection.yml +251 -0
  16. package/.mokogitea/workflows/auto-assign.yml +76 -0
  17. package/.mokogitea/workflows/auto-bump.yml +66 -0
  18. package/.mokogitea/workflows/auto-dev-issue.yml +207 -0
  19. package/.mokogitea/workflows/auto-release.yml +421 -0
  20. package/.mokogitea/workflows/branch-cleanup.yml +48 -0
  21. package/.mokogitea/workflows/cascade-dev.yml +10 -0
  22. package/.mokogitea/workflows/changelog-validation.yml +101 -0
  23. package/.mokogitea/workflows/ci-generic.yml +191 -0
  24. package/.mokogitea/workflows/cleanup.yml +87 -0
  25. package/.mokogitea/workflows/codeql-analysis.yml +115 -0
  26. package/.mokogitea/workflows/copilot-agent.yml +44 -0
  27. package/.mokogitea/workflows/deploy-manual.yml +126 -0
  28. package/.mokogitea/workflows/enterprise-firewall-setup.yml +758 -0
  29. package/.mokogitea/workflows/gitleaks.yml +92 -0
  30. package/.mokogitea/workflows/issue-branch.yml +73 -0
  31. package/.mokogitea/workflows/mcp-auto-release.yml +278 -0
  32. package/.mokogitea/workflows/mcp-build-test.yml +65 -0
  33. package/.mokogitea/workflows/mcp-sdk-check.yml +109 -0
  34. package/.mokogitea/workflows/mcp-tool-inventory.yml +61 -0
  35. package/.mokogitea/workflows/notify.yml +70 -0
  36. package/.mokogitea/workflows/npm-publish.yml +113 -0
  37. package/.mokogitea/workflows/pr-check.yml +534 -0
  38. package/.mokogitea/workflows/pre-release.yml +252 -0
  39. package/.mokogitea/workflows/rc-revert.yml +66 -0
  40. package/.mokogitea/workflows/repo-health.yml +712 -0
  41. package/.mokogitea/workflows/repository-cleanup.yml +525 -0
  42. package/.mokogitea/workflows/security-audit.yml +82 -0
  43. package/.mokogitea/workflows/standards-compliance.yml +2614 -0
  44. package/.mokogitea/workflows/sync-version-on-merge.yml +133 -0
  45. package/.mokogitea/workflows/update-server.yml +312 -0
  46. package/.mokogitea/workflows/workflow-sync-trigger.yml +73 -0
  47. package/CHANGELOG.md +130 -0
  48. package/CLAUDE.md +49 -0
  49. package/CONTRIBUTING.md +161 -0
  50. package/ISSUES.md +601 -0
  51. package/Makefile +70 -0
  52. package/README.md +80 -0
  53. package/automation/ci-issue-reporter.sh +237 -0
  54. package/config.example.json +18 -0
  55. package/dist/index.d.ts +3 -0
  56. package/dist/index.js +111 -0
  57. package/dist/shell.d.ts +50 -0
  58. package/dist/shell.js +209 -0
  59. package/dist/tools/apps.d.ts +3 -0
  60. package/dist/tools/apps.js +63 -0
  61. package/dist/tools/audio.d.ts +3 -0
  62. package/dist/tools/audio.js +142 -0
  63. package/dist/tools/audio_apps.d.ts +3 -0
  64. package/dist/tools/audio_apps.js +86 -0
  65. package/dist/tools/automation.d.ts +3 -0
  66. package/dist/tools/automation.js +261 -0
  67. package/dist/tools/bluetooth.d.ts +3 -0
  68. package/dist/tools/bluetooth.js +96 -0
  69. package/dist/tools/clipboard.d.ts +3 -0
  70. package/dist/tools/clipboard.js +118 -0
  71. package/dist/tools/config.d.ts +3 -0
  72. package/dist/tools/config.js +85 -0
  73. package/dist/tools/dialog.d.ts +3 -0
  74. package/dist/tools/dialog.js +72 -0
  75. package/dist/tools/display.d.ts +3 -0
  76. package/dist/tools/display.js +256 -0
  77. package/dist/tools/drives.d.ts +3 -0
  78. package/dist/tools/drives.js +98 -0
  79. package/dist/tools/environment.d.ts +3 -0
  80. package/dist/tools/environment.js +129 -0
  81. package/dist/tools/execute.d.ts +3 -0
  82. package/dist/tools/execute.js +28 -0
  83. package/dist/tools/filesystem.d.ts +3 -0
  84. package/dist/tools/filesystem.js +230 -0
  85. package/dist/tools/firewall.d.ts +3 -0
  86. package/dist/tools/firewall.js +108 -0
  87. package/dist/tools/hosts.d.ts +3 -0
  88. package/dist/tools/hosts.js +119 -0
  89. package/dist/tools/maintenance.d.ts +3 -0
  90. package/dist/tools/maintenance.js +236 -0
  91. package/dist/tools/netstat.d.ts +3 -0
  92. package/dist/tools/netstat.js +56 -0
  93. package/dist/tools/network.d.ts +3 -0
  94. package/dist/tools/network.js +70 -0
  95. package/dist/tools/notification.d.ts +3 -0
  96. package/dist/tools/notification.js +41 -0
  97. package/dist/tools/power.d.ts +3 -0
  98. package/dist/tools/power.js +104 -0
  99. package/dist/tools/printer.d.ts +3 -0
  100. package/dist/tools/printer.js +97 -0
  101. package/dist/tools/process.d.ts +3 -0
  102. package/dist/tools/process.js +54 -0
  103. package/dist/tools/process_kill.d.ts +3 -0
  104. package/dist/tools/process_kill.js +48 -0
  105. package/dist/tools/recycle_bin.d.ts +3 -0
  106. package/dist/tools/recycle_bin.js +108 -0
  107. package/dist/tools/registry.d.ts +3 -0
  108. package/dist/tools/registry.js +136 -0
  109. package/dist/tools/scheduler.d.ts +3 -0
  110. package/dist/tools/scheduler.js +116 -0
  111. package/dist/tools/service.d.ts +3 -0
  112. package/dist/tools/service.js +79 -0
  113. package/dist/tools/startup.d.ts +3 -0
  114. package/dist/tools/startup.js +159 -0
  115. package/dist/tools/storage.d.ts +3 -0
  116. package/dist/tools/storage.js +129 -0
  117. package/dist/tools/system.d.ts +3 -0
  118. package/dist/tools/system.js +84 -0
  119. package/dist/tools/system_mgmt.d.ts +3 -0
  120. package/dist/tools/system_mgmt.js +174 -0
  121. package/dist/tools/terminal.d.ts +3 -0
  122. package/dist/tools/terminal.js +80 -0
  123. package/dist/tools/theme.d.ts +3 -0
  124. package/dist/tools/theme.js +165 -0
  125. package/dist/tools/usb.d.ts +3 -0
  126. package/dist/tools/usb.js +52 -0
  127. package/dist/tools/virtual_desktop.d.ts +3 -0
  128. package/dist/tools/virtual_desktop.js +112 -0
  129. package/dist/tools/wifi.d.ts +3 -0
  130. package/dist/tools/wifi.js +136 -0
  131. package/dist/tools/window.d.ts +3 -0
  132. package/dist/tools/window.js +189 -0
  133. package/dist/tools/winget.d.ts +3 -0
  134. package/dist/tools/winget.js +79 -0
  135. package/dist/tools/wsl.d.ts +3 -0
  136. package/dist/tools/wsl.js +99 -0
  137. package/docs/API.md +63 -0
  138. package/docs/ARCHITECTURE.md +73 -0
  139. package/docs/INSTALLATION.md +102 -0
  140. package/docs/index.md +12 -0
  141. package/package.json +35 -0
  142. package/scripts/setup.mjs +123 -0
  143. package/src/index.ts +125 -0
  144. package/src/shell.ts +253 -0
  145. package/src/tools/apps.ts +76 -0
  146. package/src/tools/audio.ts +161 -0
  147. package/src/tools/audio_apps.ts +98 -0
  148. package/src/tools/automation.ts +297 -0
  149. package/src/tools/bluetooth.ts +114 -0
  150. package/src/tools/clipboard.ts +138 -0
  151. package/src/tools/config.ts +105 -0
  152. package/src/tools/dialog.ts +87 -0
  153. package/src/tools/display.ts +285 -0
  154. package/src/tools/drives.ts +124 -0
  155. package/src/tools/environment.ts +146 -0
  156. package/src/tools/execute.ts +35 -0
  157. package/src/tools/filesystem.ts +273 -0
  158. package/src/tools/firewall.ts +125 -0
  159. package/src/tools/hosts.ts +135 -0
  160. package/src/tools/maintenance.ts +299 -0
  161. package/src/tools/netstat.ts +72 -0
  162. package/src/tools/network.ts +84 -0
  163. package/src/tools/notification.ts +50 -0
  164. package/src/tools/power.ts +123 -0
  165. package/src/tools/printer.ts +114 -0
  166. package/src/tools/process.ts +80 -0
  167. package/src/tools/process_kill.ts +57 -0
  168. package/src/tools/recycle_bin.ts +126 -0
  169. package/src/tools/registry.ts +165 -0
  170. package/src/tools/scheduler.ts +140 -0
  171. package/src/tools/service.ts +102 -0
  172. package/src/tools/startup.ts +180 -0
  173. package/src/tools/storage.ts +141 -0
  174. package/src/tools/system.ts +99 -0
  175. package/src/tools/system_mgmt.ts +190 -0
  176. package/src/tools/terminal.ts +117 -0
  177. package/src/tools/theme.ts +205 -0
  178. package/src/tools/usb.ts +65 -0
  179. package/src/tools/virtual_desktop.ts +122 -0
  180. package/src/tools/wifi.ts +157 -0
  181. package/src/tools/window.ts +211 -0
  182. package/src/tools/winget.ts +100 -0
  183. package/src/tools/wsl.ts +112 -0
  184. package/tsconfig.json +19 -0
@@ -0,0 +1,70 @@
1
+ # Copyright (C) 2026 Moko Consulting <hello@mokoconsulting.tech>
2
+ #
3
+ # SPDX-License-Identifier: GPL-3.0-or-later
4
+ #
5
+ # FILE INFORMATION
6
+ # DEFGROUP: Gitea.Workflow
7
+ # INGROUP: MokoStandards.Notifications
8
+ # REPO: https://git.mokoconsulting.tech/MokoConsulting/MokoStandards
9
+ # PATH: /.gitea/workflows/notify.yml
10
+ # VERSION: 01.00.00
11
+ # BRIEF: Push notifications via ntfy on release success or workflow failure
12
+
13
+ name: "Universal: Notifications"
14
+
15
+ on:
16
+ workflow_run:
17
+ workflows:
18
+ - "Joomla Build & Release"
19
+ - "Joomla Extension CI"
20
+ - "Deploy"
21
+ types:
22
+ - completed
23
+
24
+ permissions:
25
+ contents: read
26
+
27
+ env:
28
+ NTFY_URL: ${{ vars.NTFY_URL || 'https://ntfy.mokoconsulting.tech' }}
29
+ NTFY_TOPIC: ${{ vars.NTFY_TOPIC || 'gitea-releases' }}
30
+
31
+ jobs:
32
+ notify:
33
+ name: Send Notification
34
+ runs-on: ubuntu-latest
35
+ if: >-
36
+ github.event.workflow_run.conclusion == 'success' ||
37
+ github.event.workflow_run.conclusion == 'failure'
38
+
39
+ steps:
40
+ - name: Notify on success (releases only)
41
+ if: >-
42
+ github.event.workflow_run.conclusion == 'success' &&
43
+ contains(github.event.workflow_run.name, 'Release')
44
+ run: |
45
+ REPO="${{ github.event.repository.name }}"
46
+ WORKFLOW="${{ github.event.workflow_run.name }}"
47
+ URL="${{ github.event.workflow_run.html_url }}"
48
+
49
+ curl -sS \
50
+ -H "Title: ${REPO} released" \
51
+ -H "Tags: white_check_mark,package" \
52
+ -H "Priority: default" \
53
+ -H "Click: ${URL}" \
54
+ -d "${WORKFLOW} completed successfully." \
55
+ "${NTFY_URL}/${NTFY_TOPIC}"
56
+
57
+ - name: Notify on failure
58
+ if: github.event.workflow_run.conclusion == 'failure'
59
+ run: |
60
+ REPO="${{ github.event.repository.name }}"
61
+ WORKFLOW="${{ github.event.workflow_run.name }}"
62
+ URL="${{ github.event.workflow_run.html_url }}"
63
+
64
+ curl -sS \
65
+ -H "Title: ${REPO} workflow failed" \
66
+ -H "Tags: x,warning" \
67
+ -H "Priority: high" \
68
+ -H "Click: ${URL}" \
69
+ -d "${WORKFLOW} failed. Check the run for details." \
70
+ "${NTFY_URL}/${NTFY_TOPIC}"
@@ -0,0 +1,113 @@
1
+ # Copyright (C) 2026 Moko Consulting <hello@mokoconsulting.tech>
2
+ # SPDX-License-Identifier: GPL-3.0-or-later
3
+
4
+ name: "Publish to npm"
5
+
6
+ on:
7
+ push:
8
+ branches:
9
+ - main
10
+ workflow_dispatch:
11
+
12
+ env:
13
+ GITEA_URL: ${{ vars.GITEA_URL || 'https://git.mokoconsulting.tech' }}
14
+ GITEA_ORG: ${{ vars.GITEA_ORG || github.repository_owner }}
15
+ GITEA_REPO: ${{ vars.GITEA_REPO || github.event.repository.name }}
16
+
17
+ jobs:
18
+ publish:
19
+ runs-on: ubuntu-latest
20
+ if: >-
21
+ !contains(github.event.head_commit.message, '[skip ci]') &&
22
+ !contains(github.event.head_commit.message, '[skip publish]')
23
+ steps:
24
+ - name: Checkout
25
+ uses: actions/checkout@v4
26
+
27
+ - name: Setup Node.js
28
+ uses: actions/setup-node@v4
29
+ with:
30
+ node-version: '20'
31
+ registry-url: 'https://registry.npmjs.org'
32
+
33
+ - name: Install dependencies
34
+ run: npm install
35
+
36
+ - name: Build
37
+ run: npm run build
38
+
39
+ - name: Auto-bump patch version
40
+ run: |
41
+ API_BASE="${GITEA_URL}/api/v1/repos/${GITEA_ORG}/${GITEA_REPO}"
42
+ TOKEN="${{ secrets.MOKOGITEA_TOKEN }}"
43
+
44
+ PKG_NAME=$(node -p "require('./package.json').name")
45
+ CURRENT=$(node -p "require('./package.json').version")
46
+ PUBLISHED=$(npm view "${PKG_NAME}@latest" version 2>/dev/null || echo "0.0.0")
47
+
48
+ if [ "$CURRENT" != "$PUBLISHED" ]; then
49
+ echo "Version ${CURRENT} not yet published, using as-is."
50
+ exit 0
51
+ fi
52
+
53
+ # Bump locally to get the new version
54
+ npm version patch --no-git-tag-version
55
+ NEW_VER=$(node -p "require('./package.json').version")
56
+ echo "Bumping ${CURRENT} -> ${NEW_VER}"
57
+
58
+ # Push via Gitea API: branch + PR + merge
59
+ BRANCH="chore/npm-version-bump"
60
+ FILEPATH="package.json"
61
+ CONTENT=$(base64 -w 0 < package.json)
62
+ COMMIT_MSG="chore: bump to ${NEW_VER} [skip ci]"
63
+
64
+ # Get current file SHA on main
65
+ FILE_SHA=$(curl -sf -H "Authorization: token ${TOKEN}" \
66
+ "${API_BASE}/contents/${FILEPATH}?ref=main" \
67
+ | python3 -c "import json,sys; print(json.load(sys.stdin).get('sha',''))" 2>/dev/null || true)
68
+
69
+ # Create chore branch from main
70
+ curl -sf -X POST -H "Authorization: token ${TOKEN}" \
71
+ -H "Content-Type: application/json" \
72
+ "${API_BASE}/branches" \
73
+ -d "{\"new_branch_name\":\"${BRANCH}\",\"old_branch_name\":\"main\"}" 2>/dev/null || true
74
+
75
+ # Get file SHA on chore branch (may differ if branch already existed)
76
+ BRANCH_SHA=$(curl -sf -H "Authorization: token ${TOKEN}" \
77
+ "${API_BASE}/contents/${FILEPATH}?ref=${BRANCH}" \
78
+ | python3 -c "import json,sys; print(json.load(sys.stdin).get('sha',''))" 2>/dev/null || true)
79
+ [ -n "$BRANCH_SHA" ] && FILE_SHA="$BRANCH_SHA"
80
+
81
+ # Push package.json to chore branch
82
+ PAYLOAD="{\"content\":\"${CONTENT}\",\"message\":\"${COMMIT_MSG}\",\"branch\":\"${BRANCH}\",\"sha\":\"${FILE_SHA}\"}"
83
+ HTTP=$(curl -sf -o /dev/null -w "%{http_code}" -X PUT \
84
+ -H "Authorization: token ${TOKEN}" \
85
+ -H "Content-Type: application/json" \
86
+ -d "$PAYLOAD" \
87
+ "${API_BASE}/contents/${FILEPATH}" 2>/dev/null || echo "ERR")
88
+ echo "File push: HTTP ${HTTP}"
89
+
90
+ # Create PR
91
+ PR_NUM=$(curl -sf -X POST -H "Authorization: token ${TOKEN}" \
92
+ -H "Content-Type: application/json" \
93
+ "${API_BASE}/pulls" \
94
+ -d "{\"title\":\"${COMMIT_MSG}\",\"head\":\"${BRANCH}\",\"base\":\"main\"}" \
95
+ | python3 -c "import json,sys; print(json.load(sys.stdin).get('number',''))" 2>/dev/null || true)
96
+
97
+ if [ -n "$PR_NUM" ]; then
98
+ # Merge PR
99
+ curl -sf -X POST -H "Authorization: token ${TOKEN}" \
100
+ -H "Content-Type: application/json" \
101
+ "${API_BASE}/pulls/${PR_NUM}/merge" \
102
+ -d "{\"Do\":\"merge\",\"merge_message_field\":\"${COMMIT_MSG}\"}" 2>/dev/null
103
+ echo "Version bumped via PR #${PR_NUM} (merged)"
104
+ else
105
+ echo "::warning::Could not create PR for version bump — publishing with current version"
106
+ fi
107
+ env:
108
+ NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
109
+
110
+ - name: Publish
111
+ run: npm publish --access public
112
+ env:
113
+ NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}