imcp 0.1.4 → 0.1.5

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 (228) hide show
  1. package/README.md +21 -4
  2. package/dist/cli/commands/install.js.map +1 -0
  3. package/dist/cli/commands/list.js.map +1 -0
  4. package/dist/cli/commands/pull.js.map +1 -0
  5. package/dist/cli/commands/serve.js.map +1 -0
  6. package/dist/cli/commands/start.d.ts +2 -0
  7. package/dist/cli/commands/start.js +32 -0
  8. package/dist/cli/commands/start.js.map +1 -0
  9. package/dist/cli/commands/sync.d.ts +2 -0
  10. package/dist/cli/commands/sync.js +17 -0
  11. package/dist/cli/commands/sync.js.map +1 -0
  12. package/dist/cli/commands/uninstall.js.map +1 -0
  13. package/dist/cli/index.js +0 -0
  14. package/dist/cli/index.js.map +1 -0
  15. package/dist/core/ConfigurationLoader.d.ts +32 -0
  16. package/{src/core/loaders/ConfigurationLoader.ts → dist/core/ConfigurationLoader.js} +236 -298
  17. package/dist/core/ConfigurationLoader.js.map +1 -0
  18. package/dist/core/ConfigurationProvider.d.ts +35 -0
  19. package/{src/core/loaders/ConfigurationProvider.ts → dist/core/ConfigurationProvider.js} +375 -462
  20. package/dist/core/ConfigurationProvider.js.map +1 -0
  21. package/dist/core/InstallationService.d.ts +50 -0
  22. package/dist/core/InstallationService.js +350 -0
  23. package/dist/core/InstallationService.js.map +1 -0
  24. package/dist/core/MCPManager.d.ts +28 -0
  25. package/dist/core/MCPManager.js +188 -0
  26. package/dist/core/MCPManager.js.map +1 -0
  27. package/dist/core/RequirementService.d.ts +40 -0
  28. package/dist/core/RequirementService.js +110 -0
  29. package/dist/core/RequirementService.js.map +1 -0
  30. package/dist/core/ServerSchemaLoader.d.ts +11 -0
  31. package/dist/core/ServerSchemaLoader.js +43 -0
  32. package/dist/core/ServerSchemaLoader.js.map +1 -0
  33. package/dist/core/ServerSchemaProvider.d.ts +17 -0
  34. package/dist/core/ServerSchemaProvider.js +120 -0
  35. package/dist/core/ServerSchemaProvider.js.map +1 -0
  36. package/dist/core/constants.d.ts +47 -0
  37. package/dist/core/constants.js +94 -0
  38. package/dist/core/constants.js.map +1 -0
  39. package/dist/core/installers/BaseInstaller.d.ts +74 -0
  40. package/dist/core/installers/BaseInstaller.js +253 -0
  41. package/dist/core/installers/BaseInstaller.js.map +1 -0
  42. package/dist/core/installers/ClientInstaller.d.ts +23 -0
  43. package/dist/core/installers/ClientInstaller.js +564 -0
  44. package/dist/core/installers/ClientInstaller.js.map +1 -0
  45. package/dist/core/installers/CommandInstaller.d.ts +37 -0
  46. package/{src/core/installers/requirements/CommandInstaller.ts → dist/core/installers/CommandInstaller.js} +173 -231
  47. package/dist/core/installers/CommandInstaller.js.map +1 -0
  48. package/dist/core/installers/GeneralInstaller.d.ts +33 -0
  49. package/dist/core/installers/GeneralInstaller.js +85 -0
  50. package/dist/core/installers/GeneralInstaller.js.map +1 -0
  51. package/dist/core/installers/InstallerFactory.d.ts +54 -0
  52. package/{src/core/installers/requirements/InstallerFactory.ts → dist/core/installers/InstallerFactory.js} +97 -114
  53. package/dist/core/installers/InstallerFactory.js.map +1 -0
  54. package/dist/core/installers/NpmInstaller.d.ts +26 -0
  55. package/dist/core/installers/NpmInstaller.js +127 -0
  56. package/dist/core/installers/NpmInstaller.js.map +1 -0
  57. package/dist/core/installers/PipInstaller.d.ts +28 -0
  58. package/dist/core/installers/PipInstaller.js +127 -0
  59. package/dist/core/installers/PipInstaller.js.map +1 -0
  60. package/{src/core/installers/requirements/RequirementInstaller.ts → dist/core/installers/RequirementInstaller.d.ts} +33 -42
  61. package/dist/core/installers/RequirementInstaller.js +3 -0
  62. package/dist/core/installers/RequirementInstaller.js.map +1 -0
  63. package/dist/core/installers/clients/BaseClientInstaller.js.map +1 -0
  64. package/dist/core/installers/clients/ClientInstaller.js.map +1 -0
  65. package/dist/core/installers/clients/ClientInstallerFactory.js.map +1 -0
  66. package/dist/core/installers/clients/ClineInstaller.js.map +1 -0
  67. package/dist/core/installers/clients/ExtensionInstaller.js.map +1 -0
  68. package/dist/core/installers/clients/GithubCopilotInstaller.js.map +1 -0
  69. package/dist/core/installers/clients/MSRooCodeInstaller.js.map +1 -0
  70. package/dist/core/installers/index.js.map +1 -0
  71. package/dist/core/installers/requirements/BaseInstaller.js.map +1 -0
  72. package/dist/core/installers/requirements/CommandInstaller.js.map +1 -0
  73. package/dist/core/installers/requirements/GeneralInstaller.js.map +1 -0
  74. package/dist/core/installers/requirements/InstallerFactory.js.map +1 -0
  75. package/dist/core/installers/requirements/NpmInstaller.js.map +1 -0
  76. package/dist/core/installers/requirements/NugetInstaller.js.map +1 -0
  77. package/dist/core/installers/requirements/PipInstaller.js.map +1 -0
  78. package/dist/core/installers/requirements/RequirementInstaller.js.map +1 -0
  79. package/dist/core/loaders/ConfigurationLoader.js.map +1 -0
  80. package/dist/core/loaders/ConfigurationProvider.js.map +1 -0
  81. package/dist/core/loaders/InstallOperationManager.js.map +1 -0
  82. package/dist/core/loaders/ServerSchemaLoader.js.map +1 -0
  83. package/dist/core/loaders/ServerSchemaProvider.js.map +1 -0
  84. package/dist/core/loaders/SystemSettingsManager.js.map +1 -0
  85. package/dist/core/metadatas/constants.js.map +1 -0
  86. package/dist/core/metadatas/recordingConstants.js.map +1 -0
  87. package/dist/core/metadatas/types.js.map +1 -0
  88. package/dist/core/onboard/FeedOnboardService.js.map +1 -0
  89. package/dist/core/onboard/OnboardProcessor.js.map +1 -0
  90. package/dist/core/onboard/OnboardStatus.js.map +1 -0
  91. package/dist/core/onboard/OnboardStatusManager.js.map +1 -0
  92. package/dist/core/types.d.ts +166 -0
  93. package/dist/core/types.js +16 -0
  94. package/dist/core/types.js.map +1 -0
  95. package/dist/core/validators/FeedValidator.js.map +1 -0
  96. package/dist/core/validators/IServerValidator.js.map +1 -0
  97. package/dist/core/validators/SSEServerValidator.js.map +1 -0
  98. package/dist/core/validators/ServerValidatorFactory.js.map +1 -0
  99. package/dist/core/validators/StdioServerValidator.js.map +1 -0
  100. package/dist/index.js.map +1 -0
  101. package/dist/services/InstallRequestValidator.d.ts +21 -0
  102. package/dist/services/InstallRequestValidator.js +99 -0
  103. package/dist/services/InstallRequestValidator.js.map +1 -0
  104. package/dist/services/InstallationService.js.map +1 -0
  105. package/dist/services/MCPManager.js.map +1 -0
  106. package/dist/services/RequirementService.js.map +1 -0
  107. package/dist/services/ServerService.js.map +1 -0
  108. package/dist/services/TelemetryService.js.map +1 -0
  109. package/dist/utils/UpdateCheckTracker.js.map +1 -0
  110. package/dist/utils/adoUtils.js.map +1 -0
  111. package/dist/utils/clientUtils.js.map +1 -0
  112. package/dist/utils/feedUtils.js.map +1 -0
  113. package/dist/utils/githubAuth.js.map +1 -0
  114. package/dist/utils/githubUtils.js.map +1 -0
  115. package/dist/utils/logger.js.map +1 -0
  116. package/dist/utils/macroExpressionUtils.js.map +1 -0
  117. package/dist/utils/osUtils.js.map +1 -0
  118. package/dist/utils/versionUtils.js.map +1 -0
  119. package/dist/web/contract/serverContract.js.map +1 -0
  120. package/dist/web/public/index.html +1 -1
  121. package/dist/web/public/js/modal/installHandler.js +227 -0
  122. package/dist/web/public/js/modal/loadingUI.js +74 -0
  123. package/dist/web/public/js/modal/messageQueue.js +101 -45
  124. package/dist/web/public/js/modal/modalUI.js +214 -0
  125. package/{src/web/public/js/modal/versionUtils.js → dist/web/public/js/modal/version.js} +1 -1
  126. package/dist/web/public/onboard.html +4 -4
  127. package/dist/web/server.js.map +1 -0
  128. package/package.json +5 -1
  129. package/.github/ISSUE_TEMPLATE/JitAccess.yml +0 -28
  130. package/.github/acl/access.yml +0 -20
  131. package/.github/compliance/inventory.yml +0 -5
  132. package/.github/policies/jit.yml +0 -19
  133. package/.roo/rules-code/rules.md +0 -88
  134. package/dist/core/onboard/InstallOperationManager.d.ts +0 -23
  135. package/dist/core/onboard/InstallOperationManager.js +0 -144
  136. package/docs/ONBOARDING_PAGE_DESIGN.md +0 -260
  137. package/docs/Telemetry.md +0 -136
  138. package/memory-bank/activeContext.md +0 -26
  139. package/memory-bank/decisionLog.md +0 -91
  140. package/memory-bank/productContext.md +0 -41
  141. package/memory-bank/progress.md +0 -35
  142. package/memory-bank/systemPatterns.md +0 -10
  143. package/src/cli/commands/install.ts +0 -139
  144. package/src/cli/commands/list.ts +0 -113
  145. package/src/cli/commands/pull.ts +0 -16
  146. package/src/cli/commands/serve.ts +0 -39
  147. package/src/cli/commands/uninstall.ts +0 -64
  148. package/src/cli/index.ts +0 -82
  149. package/src/core/installers/clients/BaseClientInstaller.ts +0 -341
  150. package/src/core/installers/clients/ClientInstaller.ts +0 -222
  151. package/src/core/installers/clients/ClientInstallerFactory.ts +0 -43
  152. package/src/core/installers/clients/ClineInstaller.ts +0 -35
  153. package/src/core/installers/clients/ExtensionInstaller.ts +0 -165
  154. package/src/core/installers/clients/GithubCopilotInstaller.ts +0 -79
  155. package/src/core/installers/clients/MSRooCodeInstaller.ts +0 -32
  156. package/src/core/installers/index.ts +0 -11
  157. package/src/core/installers/requirements/BaseInstaller.ts +0 -85
  158. package/src/core/installers/requirements/GeneralInstaller.ts +0 -133
  159. package/src/core/installers/requirements/NpmInstaller.ts +0 -271
  160. package/src/core/installers/requirements/NugetInstaller.ts +0 -203
  161. package/src/core/installers/requirements/PipInstaller.ts +0 -207
  162. package/src/core/loaders/InstallOperationManager.ts +0 -367
  163. package/src/core/loaders/ServerSchemaLoader.ts +0 -117
  164. package/src/core/loaders/ServerSchemaProvider.ts +0 -99
  165. package/src/core/loaders/SystemSettingsManager.ts +0 -278
  166. package/src/core/metadatas/constants.ts +0 -122
  167. package/src/core/metadatas/recordingConstants.ts +0 -65
  168. package/src/core/metadatas/types.ts +0 -202
  169. package/src/core/onboard/FeedOnboardService.ts +0 -501
  170. package/src/core/onboard/OnboardProcessor.ts +0 -356
  171. package/src/core/onboard/OnboardStatus.ts +0 -60
  172. package/src/core/onboard/OnboardStatusManager.ts +0 -416
  173. package/src/core/validators/FeedValidator.ts +0 -135
  174. package/src/core/validators/IServerValidator.ts +0 -21
  175. package/src/core/validators/SSEServerValidator.ts +0 -43
  176. package/src/core/validators/ServerValidatorFactory.ts +0 -51
  177. package/src/core/validators/StdioServerValidator.ts +0 -313
  178. package/src/index.ts +0 -44
  179. package/src/services/InstallationService.ts +0 -102
  180. package/src/services/MCPManager.ts +0 -249
  181. package/src/services/RequirementService.ts +0 -627
  182. package/src/services/ServerService.ts +0 -161
  183. package/src/services/TelemetryService.ts +0 -59
  184. package/src/utils/UpdateCheckTracker.ts +0 -86
  185. package/src/utils/adoUtils.ts +0 -293
  186. package/src/utils/clientUtils.ts +0 -72
  187. package/src/utils/feedUtils.ts +0 -31
  188. package/src/utils/githubAuth.ts +0 -212
  189. package/src/utils/githubUtils.ts +0 -164
  190. package/src/utils/logger.ts +0 -195
  191. package/src/utils/macroExpressionUtils.ts +0 -104
  192. package/src/utils/osUtils.ts +0 -700
  193. package/src/utils/versionUtils.ts +0 -114
  194. package/src/web/contract/serverContract.ts +0 -74
  195. package/src/web/public/css/detailsWidget.css +0 -235
  196. package/src/web/public/css/modal.css +0 -757
  197. package/src/web/public/css/notifications.css +0 -101
  198. package/src/web/public/css/onboard.css +0 -107
  199. package/src/web/public/css/serverCategoryList.css +0 -120
  200. package/src/web/public/css/serverDetails.css +0 -139
  201. package/src/web/public/index.html +0 -359
  202. package/src/web/public/js/api.js +0 -132
  203. package/src/web/public/js/detailsWidget.js +0 -264
  204. package/src/web/public/js/flights/flights.js +0 -127
  205. package/src/web/public/js/modal/index.js +0 -52
  206. package/src/web/public/js/modal/installModal.js +0 -162
  207. package/src/web/public/js/modal/installation.js +0 -266
  208. package/src/web/public/js/modal/loadingModal.js +0 -182
  209. package/src/web/public/js/modal/modalSetup.js +0 -595
  210. package/src/web/public/js/modal/modalUtils.js +0 -37
  211. package/src/web/public/js/modal.js +0 -42
  212. package/src/web/public/js/notifications.js +0 -137
  213. package/src/web/public/js/onboard/formProcessor.js +0 -1037
  214. package/src/web/public/js/onboard/index.js +0 -374
  215. package/src/web/public/js/onboard/publishHandler.js +0 -172
  216. package/src/web/public/js/onboard/state.js +0 -76
  217. package/src/web/public/js/onboard/templates.js +0 -342
  218. package/src/web/public/js/onboard/uiHandlers.js +0 -1076
  219. package/src/web/public/js/onboard/validationHandlers.js +0 -493
  220. package/src/web/public/js/serverCategoryDetails.js +0 -364
  221. package/src/web/public/js/serverCategoryList.js +0 -241
  222. package/src/web/public/js/settings.js +0 -314
  223. package/src/web/public/modal.html +0 -84
  224. package/src/web/public/onboard.html +0 -296
  225. package/src/web/public/settings.html +0 -135
  226. package/src/web/public/styles.css +0 -277
  227. package/src/web/server.ts +0 -478
  228. package/tsconfig.json +0 -18
@@ -49,11 +49,11 @@
49
49
  <div class="flex items-center justify-between mb-8">
50
50
  <h1 class="text-3xl font-bold text-gray-900 flex items-center">
51
51
  <i class='bx bx-server mr-3 text-blue-600'></i>
52
- Onboard MCP Category
52
+ Publish MCP Server
53
53
  </h1>
54
54
  <a href="index.html" class="text-gray-600 hover:text-gray-900 flex items-center">
55
55
  <i class='bx bx-arrow-back mr-2'></i>
56
- Back to Servers
56
+ Server List
57
57
  </a>
58
58
  </div>
59
59
 
@@ -62,10 +62,10 @@
62
62
  <div class="mb-6 border-b border-gray-200">
63
63
  <nav class="flex space-x-8" aria-label="Tabs">
64
64
  <button id="tab-create-category" class="py-2 px-4 text-blue-600 border-b-2 border-blue-600 font-semibold focus:outline-none" type="button">
65
- Create New Server Category
65
+ Add New Server Category
66
66
  </button>
67
67
  <button id="tab-create-server" class="py-2 px-4 text-gray-600 border-b-2 border-transparent hover:text-blue-600 hover:border-blue-600 font-semibold focus:outline-none" type="button">
68
- Create New Server in Existing Category
68
+ Add New Server in Existing Category
69
69
  </button>
70
70
  </nav>
71
71
  <!-- View Mode Toggle Switch -->
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/web/server.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,12 +1,16 @@
1
1
  {
2
2
  "name": "imcp",
3
- "version": "0.1.4",
3
+ "version": "0.1.5",
4
4
  "description": "Node.js SDK for Model Context Protocol (MCP)",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
7
7
  "bin": {
8
8
  "imcp": "./dist/cli/index.js"
9
9
  },
10
+ "files": [
11
+ "dist",
12
+ "README.md"
13
+ ],
10
14
  "scripts": {
11
15
  "build": "tsc && npm run copy-public",
12
16
  "dev": "tsc -w",
@@ -1,28 +0,0 @@
1
- name: Temporary administrator access request
2
- description: Request for temporary repository administrator access to this repository, a.k.a Just-in-Time (JIT) access.
3
- title: "JIT Request"
4
- labels: ["jit"]
5
- assignees:
6
- - gimsvc_microsoft
7
- -
8
- body:
9
- - type: markdown
10
- attributes:
11
- value: |
12
- :closed_lock_with_key: Permanent repository administrator access is not allowed as per Microsoft security policy. You can use this form to request for temporary administrator access to this repository.
13
- - type: textarea
14
- id: justification
15
- attributes:
16
- label: Justification
17
- description: Describe the actions that you will perform with your temporary administrator access.
18
- placeholder: I need to create secrets.
19
- validations:
20
- required: true
21
- - type: dropdown
22
- id: duration
23
- attributes:
24
- label: Duration (hours)
25
- description: How long do you need access for? The duration you select is in hours.
26
- options:
27
- - 1
28
- - 2
@@ -1,20 +0,0 @@
1
- # Documentation for ACL policy: https://aka.ms/gim/docs/policy/acl
2
-
3
- name: Access control list
4
- description: List of teams and their permission levels
5
- resource: repository
6
- where:
7
- configuration:
8
- manageAccess:
9
- - team: aicodervteam
10
- role: Triage
11
- - member: hod
12
- role: Maintain
13
- - member: penwa
14
- role: Maintain
15
- - member: anthu
16
- role: Maintain
17
- - member: enbaowang
18
- role: Maintain
19
- - member: xinli7
20
- role: Maintain
@@ -1,5 +0,0 @@
1
- inventory:
2
- - source: ServiceTree
3
- items:
4
- - id: 447fe696-ca1f-419e-8da1-2c6d9cdfe31b
5
- isProduction: true
@@ -1,19 +0,0 @@
1
- # Documentation for JIT policy: https://aka.ms/gim/docs/policy/jit
2
-
3
- # metadata
4
- id: id
5
- name: JIT_Access
6
- description: Policy for admin JIT for repos in this org
7
-
8
- # filters
9
- resource: repository
10
-
11
- # primitive configuration
12
- configuration:
13
- jitAccess:
14
- enabled: true
15
- maxHours: 2
16
- approvers:
17
- role: Maintain
18
- requestors:
19
- role: Write
@@ -1,88 +0,0 @@
1
- *IMPORTANT* Before I attempt to complete a task with code changes, I MUST have to ask confirmation with user whether to update memory bank
2
-
3
- memory*bank_strategy:
4
- initialization: |
5
- <thinking> - **CHECK FOR MEMORY BANK:**
6
- </thinking>
7
- <thinking>
8
- * First, check if the memory-bank/ directory exists.
9
- </thinking>
10
- <thinking>
11
- _ If memory-bank DOES exist, skip immediately to `if_memory_bank_exists`.
12
- </thinking>
13
- if_no_memory_bank: | 1. **Inform the User:**
14
- "No Memory Bank was found. I recommend creating one to maintain project context. Would you like to switch to Flow-Architect mode to do this?" 2. **Conditional Actions:**
15
- _ If the user declines:
16
- <thinking>
17
- I need to proceed with the task without Memory Bank functionality.
18
- </thinking>
19
- a. Inform the user that the Memory Bank will not be created.
20
- b. Set the status to '[MEMORY BANK: INACTIVE]'.
21
- c. Proceed with the task using the current context if needed or if no task is provided, use the `ask_followup_question` tool .
22
- _ If the user agrees:
23
- Switch to Flow-Architect mode to create the Memory Bank.
24
- if_memory_bank_exists: |
25
- \*\*READ \_ALL_ MEMORY BANK FILES\*\*
26
- <thinking>
27
- I will read all memory bank files, one at a time.
28
- </thinking>
29
- Plan: Read all mandatory files sequentially. 1. Read `productContext.md` 2. Read `activeContext.md` 3. Read `systemPatterns.md` 4. Read `decisionLog.md` 5. Read `progress.md` 6. Set status to [MEMORY BANK: ACTIVE] and inform user. 7. Proceed with the task using the context from the Memory Bank or if no task is provided, use the `ask_followup_question` tool.
30
-
31
- general:
32
- status_prefix: "Begin EVERY response with either '[MEMORY BANK: ACTIVE]' or '[MEMORY BANK: INACTIVE]', according to the current state of the Memory Bank."
33
-
34
- memory_bank_updates:
35
- frequency:
36
-
37
- - "UPDATE MEMORY BANK THROUGHOUT THE CHAT SESSION, WHEN SIGNIFICANT CHANGES OCCUR IN THE PROJECT."
38
- decisionLog.md:
39
- trigger: "When a significant architectural decision is made (new component, data flow change, technology choice, etc.). Use your judgment to determine significance."
40
- action: |
41
- <thinking>
42
- I need to update decisionLog.md with a decision, the rationale, and any implications.
43
- </thinking>
44
- Use insert*content to \_append* new information. Never overwrite existing entries. Always include a timestamp.
45
- format: |
46
- "[YYYY-MM-DD HH:MM:SS] - [Summary of Change/Focus/Issue]"
47
- productContext.md:
48
- trigger: "When the high-level project description, goals, features, or overall architecture changes significantly. Use your judgment to determine significance."
49
- action: |
50
- <thinking>
51
- A fundamental change has occurred which warrants an update to productContext.md.
52
- </thinking>
53
- Use insert*content to \_append* new information or use apply*diff to modify existing entries if necessary. Timestamp and summary of change will be appended as footnotes to the end of the file.
54
- format: "[YYYY-MM-DD HH:MM:SS] - [Summary of Change]"
55
- systemPatterns.md:
56
- trigger: "When new architectural patterns are introduced or existing ones are modified. Use your judgement."
57
- action: |
58
- <thinking>
59
- I need to update systemPatterns.md with a brief summary and time stamp.
60
- </thinking>
61
- Use insert_content to \_append* new patterns or use apply*diff to modify existing entries if warranted. Always include a timestamp.
62
- format: "[YYYY-MM-DD HH:MM:SS] - [Description of Pattern/Change]"
63
- activeContext.md:
64
- trigger: "When the current focus of work changes, or when significant progress is made. Use your judgement."
65
- action: |
66
- <thinking>
67
- I need to update activeContext.md with a brief summary and time stamp.
68
- </thinking>
69
- Use insert_content to \_append* to the relevant section (Current Focus, Recent Changes, Open Questions/Issues) or use apply*diff to modify existing entries if warranted. Always include a timestamp.
70
- format: "[YYYY-MM-DD HH:MM:SS] - [Summary of Change/Focus/Issue]"
71
- progress.md:
72
- trigger: "When a task begins, is completed, or if there are any changes Use your judgement."
73
- action: |
74
- <thinking>
75
- I need to update progress.md with a brief summary and time stamp.
76
- </thinking>
77
- Use insert_content to \_append* the new entry, never overwrite existing entries. Always include a timestamp.
78
- format: "[YYYY-MM-DD HH:MM:SS] - [Summary of Change/Focus/Issue]"
79
-
80
- umb:
81
- trigger: "^(Update Memory Bank|UMB)$"
82
- instructions: - "Halt Current Task: Stop current activity" - "Acknowledge Command: '[MEMORY BANK: UPDATING]'" - "Review Chat History"
83
- core_update_process: | 1. Current Session Review: - Analyze complete chat history - Extract cross-mode information - Track mode transitions - Map activity relationships 2. Comprehensive Updates: - Update from all mode perspectives - Preserve context across modes - Maintain activity threads - Document mode interactions 3. Memory Bank Synchronization: - Update all affected *.md files - Ensure cross-mode consistency - Preserve activity context - Document continuation points
84
- task_focus: "During a UMB update, focus on capturing any clarifications, questions answered, or context provided *during the chat session*. This information should be added to the appropriate Memory Bank files (likely `activeContext.md` or `decisionLog.md`), using the other modes' update formats as a guide. *Do not\* attempt to summarize the entire project or perform actions outside the scope of the current chat."
85
- cross-mode_updates: "During a UMB update, ensure that all relevant information from the chat session is captured and added to the Memory Bank. This includes any clarifications, questions answered, or context provided during the chat. Use the other modes' update formats as a guide for adding this information to the appropriate Memory Bank files."
86
- post_umb_actions: - "Memory Bank fully synchronized" - "All mode contexts preserved" - "Session can be safely closed" - "Next assistant will have complete context"
87
- override_file_restrictions: true
88
- override_mode_restrictions: true
@@ -1,23 +0,0 @@
1
- import { InstallOperationDetails } from '../metadatas/types.js';
2
- export declare class InstallOperationManager {
3
- private static instance;
4
- private installOperationStatus;
5
- private statusLock;
6
- private constructor();
7
- static getInstance(): InstallOperationManager;
8
- private withLock;
9
- private loadStatuses;
10
- private saveStatuses;
11
- private createOperationKey;
12
- recordStep(categoryName: string, serverName: string, stepName: string, isSucceeded: boolean, message?: string): Promise<InstallOperationDetails>;
13
- /**
14
- * Resets (deletes) the operation status for a given category and server.
15
- * This is useful to call before starting a new installation attempt.
16
- * @param categoryName The name of the category.
17
- * @param serverName The name of the server.
18
- */
19
- resetOperation(categoryName: string, serverName: string): Promise<void>;
20
- getDetails(categoryName: string, serverName: string): Promise<InstallOperationDetails | undefined>;
21
- getAllDetails(): Promise<Record<string, InstallOperationDetails>>;
22
- }
23
- export declare const installOperationManager: InstallOperationManager;
@@ -1,144 +0,0 @@
1
- import fs from 'fs/promises';
2
- import path from 'path';
3
- import { SETTINGS_DIR } from '../metadatas/constants.js';
4
- import { Logger } from '../../utils/logger.js';
5
- const INSTALL_STATUS_DIR = path.join(SETTINGS_DIR, 'install');
6
- const INSTALL_OPERATION_STATUS_FILE = path.join(INSTALL_STATUS_DIR, 'InstallOperationStatus.json');
7
- export class InstallOperationManager {
8
- static instance;
9
- installOperationStatus = {};
10
- statusLock = Promise.resolve();
11
- constructor() {
12
- this.loadStatuses().catch(error => Logger.error('Failed to initialize InstallOperationManager:', error));
13
- }
14
- static getInstance() {
15
- if (!InstallOperationManager.instance) {
16
- InstallOperationManager.instance = new InstallOperationManager();
17
- }
18
- return InstallOperationManager.instance;
19
- }
20
- async withLock(operation) {
21
- const current = this.statusLock;
22
- let resolve;
23
- this.statusLock = new Promise(r => resolve = r);
24
- try {
25
- await current;
26
- return await operation();
27
- }
28
- finally {
29
- resolve();
30
- }
31
- }
32
- async loadStatuses() {
33
- await this.withLock(async () => {
34
- try {
35
- await fs.mkdir(INSTALL_STATUS_DIR, { recursive: true });
36
- const data = await fs.readFile(INSTALL_OPERATION_STATUS_FILE, 'utf-8');
37
- this.installOperationStatus = JSON.parse(data);
38
- }
39
- catch (error) {
40
- if (error.code === 'ENOENT') {
41
- this.installOperationStatus = {};
42
- await this.saveStatuses(); // Create the file if it doesn't exist
43
- }
44
- else {
45
- Logger.error('Failed to load install operation statuses:', error);
46
- this.installOperationStatus = {}; // Initialize with empty statuses in case of other errors
47
- }
48
- }
49
- });
50
- }
51
- async saveStatuses() {
52
- await fs.mkdir(INSTALL_STATUS_DIR, { recursive: true });
53
- await fs.writeFile(INSTALL_OPERATION_STATUS_FILE, JSON.stringify(this.installOperationStatus, null, 2));
54
- }
55
- createOperationKey(categoryName, serverName) {
56
- return `${categoryName}-${serverName}`;
57
- }
58
- async recordStep(categoryName, serverName, stepName, isSucceeded, message) {
59
- return await this.withLock(async () => {
60
- const operationKey = this.createOperationKey(categoryName, serverName);
61
- let operationDetails = this.installOperationStatus[operationKey];
62
- const newStep = {
63
- name: stepName,
64
- isSucceeded,
65
- message,
66
- timestamp: new Date().toISOString(),
67
- };
68
- if (!operationDetails) {
69
- operationDetails = {
70
- currentStep: stepName,
71
- steps: [newStep],
72
- lastUpdated: new Date().toISOString(),
73
- error: !isSucceeded ? message : undefined,
74
- overallStatus: isSucceeded ? 'in-progress' : 'failed',
75
- };
76
- }
77
- else {
78
- operationDetails.steps.push(newStep);
79
- operationDetails.currentStep = stepName;
80
- operationDetails.lastUpdated = new Date().toISOString();
81
- if (!isSucceeded) {
82
- operationDetails.overallStatus = 'failed';
83
- if (!operationDetails.error) { // Store the first error
84
- operationDetails.error = message;
85
- }
86
- }
87
- else {
88
- // If this step succeeded, check if all previous steps also succeeded.
89
- // If a previous step failed, the overall status remains 'failed'.
90
- // If all steps are successful so far, it's 'in-progress' unless it's a known completion step.
91
- if (operationDetails.overallStatus !== 'failed') {
92
- if (stepName.toLowerCase().includes('completed') || stepName.toLowerCase().includes('succeeded')) {
93
- // Check if this is a "final" success step
94
- const isFinalSuccess = operationDetails.steps.every(s => s.isSucceeded);
95
- operationDetails.overallStatus = isFinalSuccess ? 'completed' : 'in-progress';
96
- if (isFinalSuccess)
97
- operationDetails.error = undefined; // Clear error on final success
98
- }
99
- else {
100
- operationDetails.overallStatus = 'in-progress';
101
- }
102
- }
103
- }
104
- }
105
- // Special handling for the "InstallCompleted" step or similar final step names
106
- if (stepName === 'InstallCompleted') {
107
- operationDetails.overallStatus = isSucceeded ? 'completed' : 'failed';
108
- if (isSucceeded)
109
- operationDetails.error = undefined;
110
- }
111
- this.installOperationStatus[operationKey] = operationDetails;
112
- await this.saveStatuses();
113
- return operationDetails;
114
- });
115
- }
116
- /**
117
- * Resets (deletes) the operation status for a given category and server.
118
- * This is useful to call before starting a new installation attempt.
119
- * @param categoryName The name of the category.
120
- * @param serverName The name of the server.
121
- */
122
- async resetOperation(categoryName, serverName) {
123
- await this.withLock(async () => {
124
- const operationKey = this.createOperationKey(categoryName, serverName);
125
- if (this.installOperationStatus[operationKey]) {
126
- delete this.installOperationStatus[operationKey];
127
- Logger.info(`Reset installation operation status for ${operationKey}`);
128
- await this.saveStatuses();
129
- }
130
- });
131
- }
132
- async getDetails(categoryName, serverName) {
133
- await this.loadStatuses(); // Ensure latest statuses are loaded
134
- const operationKey = this.createOperationKey(categoryName, serverName);
135
- return this.installOperationStatus[operationKey];
136
- }
137
- async getAllDetails() {
138
- await this.loadStatuses();
139
- return this.installOperationStatus;
140
- }
141
- }
142
- // Export singleton instance
143
- export const installOperationManager = InstallOperationManager.getInstance();
144
- //# sourceMappingURL=InstallOperationManager.js.map