plugin-agent-orchestrator 1.0.6 → 1.0.14

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 (257) hide show
  1. package/README.md +16 -291
  2. package/dist/client/AIEmployeesContext.d.ts +7 -0
  3. package/dist/client/OrchestratorSettings.d.ts +2 -1
  4. package/dist/client/index.js +1 -1
  5. package/dist/client/plugin.d.ts +1 -0
  6. package/dist/client/skill-hub/components/ExecutionHistory.d.ts +2 -0
  7. package/dist/client/skill-hub/components/ExecutionProgress.d.ts +20 -0
  8. package/dist/client/skill-hub/components/GitSkillImport.d.ts +7 -0
  9. package/dist/client/skill-hub/components/SkillEditor.d.ts +7 -0
  10. package/dist/client/skill-hub/components/SkillManager.d.ts +2 -0
  11. package/dist/client/skill-hub/components/SkillMetrics.d.ts +2 -0
  12. package/dist/client/skill-hub/components/SkillTestPanel.d.ts +7 -0
  13. package/dist/client/skill-hub/index.d.ts +10 -0
  14. package/dist/client/skill-hub/locale.d.ts +3 -0
  15. package/dist/client/skill-hub/tools/InteractionSchemasProvider.d.ts +19 -0
  16. package/dist/client/skill-hub/tools/SkillHubCard.d.ts +3 -0
  17. package/dist/client/skill-hub/utils/jsonFields.d.ts +3 -0
  18. package/dist/externalVersion.js +6 -6
  19. package/dist/node_modules/adm-zip/LICENSE +21 -0
  20. package/dist/node_modules/adm-zip/adm-zip.js +1 -0
  21. package/dist/node_modules/adm-zip/headers/entryHeader.js +377 -0
  22. package/dist/node_modules/adm-zip/headers/index.js +2 -0
  23. package/dist/node_modules/adm-zip/headers/mainHeader.js +130 -0
  24. package/dist/node_modules/adm-zip/methods/deflater.js +33 -0
  25. package/dist/node_modules/adm-zip/methods/index.js +3 -0
  26. package/dist/node_modules/adm-zip/methods/inflater.js +34 -0
  27. package/dist/node_modules/adm-zip/methods/zipcrypto.js +175 -0
  28. package/dist/node_modules/adm-zip/package.json +1 -0
  29. package/dist/node_modules/adm-zip/util/constants.js +142 -0
  30. package/dist/node_modules/adm-zip/util/decoder.js +5 -0
  31. package/dist/node_modules/adm-zip/util/errors.js +63 -0
  32. package/dist/node_modules/adm-zip/util/fattr.js +76 -0
  33. package/dist/node_modules/adm-zip/util/index.js +5 -0
  34. package/dist/node_modules/adm-zip/util/utils.js +339 -0
  35. package/dist/node_modules/adm-zip/zipEntry.js +405 -0
  36. package/dist/node_modules/adm-zip/zipFile.js +446 -0
  37. package/dist/node_modules/simple-git/dist/cjs/index.js +7399 -0
  38. package/dist/node_modules/simple-git/dist/esm/index.js +4745 -0
  39. package/dist/node_modules/simple-git/dist/esm/package.json +3 -0
  40. package/dist/node_modules/simple-git/dist/src/lib/api.d.ts +13 -0
  41. package/dist/node_modules/simple-git/dist/src/lib/args/log-format.d.ts +9 -0
  42. package/dist/node_modules/simple-git/dist/src/lib/errors/git-construct-error.d.ts +15 -0
  43. package/dist/node_modules/simple-git/dist/src/lib/errors/git-error.d.ts +30 -0
  44. package/dist/node_modules/simple-git/dist/src/lib/errors/git-plugin-error.d.ts +7 -0
  45. package/dist/node_modules/simple-git/dist/src/lib/errors/git-response-error.d.ts +32 -0
  46. package/dist/node_modules/simple-git/dist/src/lib/errors/task-configuration-error.d.ts +12 -0
  47. package/dist/node_modules/simple-git/dist/src/lib/git-factory.d.ts +15 -0
  48. package/dist/node_modules/simple-git/dist/src/lib/git-logger.d.ts +21 -0
  49. package/dist/node_modules/simple-git/dist/src/lib/parsers/parse-branch-delete.d.ts +5 -0
  50. package/dist/node_modules/simple-git/dist/src/lib/parsers/parse-branch.d.ts +2 -0
  51. package/dist/node_modules/simple-git/dist/src/lib/parsers/parse-commit.d.ts +2 -0
  52. package/dist/node_modules/simple-git/dist/src/lib/parsers/parse-diff-summary.d.ts +3 -0
  53. package/dist/node_modules/simple-git/dist/src/lib/parsers/parse-fetch.d.ts +2 -0
  54. package/dist/node_modules/simple-git/dist/src/lib/parsers/parse-list-log-summary.d.ts +6 -0
  55. package/dist/node_modules/simple-git/dist/src/lib/parsers/parse-merge.d.ts +11 -0
  56. package/dist/node_modules/simple-git/dist/src/lib/parsers/parse-move.d.ts +2 -0
  57. package/dist/node_modules/simple-git/dist/src/lib/parsers/parse-pull.d.ts +6 -0
  58. package/dist/node_modules/simple-git/dist/src/lib/parsers/parse-push.d.ts +4 -0
  59. package/dist/node_modules/simple-git/dist/src/lib/parsers/parse-remote-messages.d.ts +5 -0
  60. package/dist/node_modules/simple-git/dist/src/lib/parsers/parse-remote-objects.d.ts +3 -0
  61. package/dist/node_modules/simple-git/dist/src/lib/plugins/abort-plugin.d.ts +3 -0
  62. package/dist/node_modules/simple-git/dist/src/lib/plugins/block-unsafe-operations-plugin.d.ts +3 -0
  63. package/dist/node_modules/simple-git/dist/src/lib/plugins/command-config-prefixing-plugin.d.ts +2 -0
  64. package/dist/node_modules/simple-git/dist/src/lib/plugins/completion-detection.plugin.d.ts +3 -0
  65. package/dist/node_modules/simple-git/dist/src/lib/plugins/custom-binary.plugin.d.ts +3 -0
  66. package/dist/node_modules/simple-git/dist/src/lib/plugins/error-detection.plugin.d.ts +7 -0
  67. package/dist/node_modules/simple-git/dist/src/lib/plugins/index.d.ts +11 -0
  68. package/dist/node_modules/simple-git/dist/src/lib/plugins/plugin-store.d.ts +11 -0
  69. package/dist/node_modules/simple-git/dist/src/lib/plugins/progress-monitor-plugin.d.ts +3 -0
  70. package/dist/node_modules/simple-git/dist/src/lib/plugins/simple-git-plugin.d.ts +48 -0
  71. package/dist/node_modules/simple-git/dist/src/lib/plugins/spawn-options-plugin.d.ts +3 -0
  72. package/dist/node_modules/simple-git/dist/src/lib/plugins/suffix-paths.plugin.d.ts +2 -0
  73. package/dist/node_modules/simple-git/dist/src/lib/plugins/timout-plugin.d.ts +3 -0
  74. package/dist/node_modules/simple-git/dist/src/lib/responses/BranchDeleteSummary.d.ts +12 -0
  75. package/dist/node_modules/simple-git/dist/src/lib/responses/BranchSummary.d.ts +14 -0
  76. package/dist/node_modules/simple-git/dist/src/lib/responses/CheckIgnore.d.ts +4 -0
  77. package/dist/node_modules/simple-git/dist/src/lib/responses/CleanSummary.d.ts +9 -0
  78. package/dist/node_modules/simple-git/dist/src/lib/responses/ConfigList.d.ts +13 -0
  79. package/dist/node_modules/simple-git/dist/src/lib/responses/DiffSummary.d.ts +10 -0
  80. package/dist/node_modules/simple-git/dist/src/lib/responses/FileStatusSummary.d.ts +9 -0
  81. package/dist/node_modules/simple-git/dist/src/lib/responses/GetRemoteSummary.d.ts +11 -0
  82. package/dist/node_modules/simple-git/dist/src/lib/responses/InitSummary.d.ts +9 -0
  83. package/dist/node_modules/simple-git/dist/src/lib/responses/MergeSummary.d.ts +16 -0
  84. package/dist/node_modules/simple-git/dist/src/lib/responses/PullSummary.d.ts +25 -0
  85. package/dist/node_modules/simple-git/dist/src/lib/responses/StatusSummary.d.ts +19 -0
  86. package/dist/node_modules/simple-git/dist/src/lib/responses/TagList.d.ts +7 -0
  87. package/dist/node_modules/simple-git/dist/src/lib/runners/git-executor-chain.d.ts +25 -0
  88. package/dist/node_modules/simple-git/dist/src/lib/runners/git-executor.d.ts +14 -0
  89. package/dist/node_modules/simple-git/dist/src/lib/runners/promise-wrapped.d.ts +2 -0
  90. package/dist/node_modules/simple-git/dist/src/lib/runners/scheduler.d.ts +11 -0
  91. package/dist/node_modules/simple-git/dist/src/lib/runners/tasks-pending-queue.d.ts +23 -0
  92. package/dist/node_modules/simple-git/dist/src/lib/simple-git-api.d.ts +20 -0
  93. package/dist/node_modules/simple-git/dist/src/lib/task-callback.d.ts +2 -0
  94. package/dist/node_modules/simple-git/dist/src/lib/tasks/apply-patch.d.ts +3 -0
  95. package/dist/node_modules/simple-git/dist/src/lib/tasks/branch.d.ts +7 -0
  96. package/dist/node_modules/simple-git/dist/src/lib/tasks/change-working-directory.d.ts +2 -0
  97. package/dist/node_modules/simple-git/dist/src/lib/tasks/check-ignore.d.ts +2 -0
  98. package/dist/node_modules/simple-git/dist/src/lib/tasks/check-is-repo.d.ts +9 -0
  99. package/dist/node_modules/simple-git/dist/src/lib/tasks/checkout.d.ts +2 -0
  100. package/dist/node_modules/simple-git/dist/src/lib/tasks/clean.d.ts +25 -0
  101. package/dist/node_modules/simple-git/dist/src/lib/tasks/clone.d.ts +9 -0
  102. package/dist/node_modules/simple-git/dist/src/lib/tasks/commit.d.ts +4 -0
  103. package/dist/node_modules/simple-git/dist/src/lib/tasks/config.d.ts +8 -0
  104. package/dist/node_modules/simple-git/dist/src/lib/tasks/count-objects.d.ts +12 -0
  105. package/dist/node_modules/simple-git/dist/src/lib/tasks/diff-name-status.d.ts +12 -0
  106. package/dist/node_modules/simple-git/dist/src/lib/tasks/diff.d.ts +5 -0
  107. package/dist/node_modules/simple-git/dist/src/lib/tasks/fetch.d.ts +4 -0
  108. package/dist/node_modules/simple-git/dist/src/lib/tasks/first-commit.d.ts +2 -0
  109. package/dist/node_modules/simple-git/dist/src/lib/tasks/grep.d.ts +12 -0
  110. package/dist/node_modules/simple-git/dist/src/lib/tasks/hash-object.d.ts +5 -0
  111. package/dist/node_modules/simple-git/dist/src/lib/tasks/init.d.ts +3 -0
  112. package/dist/node_modules/simple-git/dist/src/lib/tasks/log.d.ts +32 -0
  113. package/dist/node_modules/simple-git/dist/src/lib/tasks/merge.d.ts +4 -0
  114. package/dist/node_modules/simple-git/dist/src/lib/tasks/move.d.ts +3 -0
  115. package/dist/node_modules/simple-git/dist/src/lib/tasks/pull.d.ts +3 -0
  116. package/dist/node_modules/simple-git/dist/src/lib/tasks/push.d.ts +9 -0
  117. package/dist/node_modules/simple-git/dist/src/lib/tasks/remote.d.ts +8 -0
  118. package/dist/node_modules/simple-git/dist/src/lib/tasks/reset.d.ts +11 -0
  119. package/dist/node_modules/simple-git/dist/src/lib/tasks/show.d.ts +2 -0
  120. package/dist/node_modules/simple-git/dist/src/lib/tasks/stash-list.d.ts +4 -0
  121. package/dist/node_modules/simple-git/dist/src/lib/tasks/status.d.ts +3 -0
  122. package/dist/node_modules/simple-git/dist/src/lib/tasks/sub-module.d.ts +5 -0
  123. package/dist/node_modules/simple-git/dist/src/lib/tasks/tag.d.ts +18 -0
  124. package/dist/node_modules/simple-git/dist/src/lib/tasks/task.d.ts +14 -0
  125. package/dist/node_modules/simple-git/dist/src/lib/tasks/version.d.ts +9 -0
  126. package/dist/node_modules/simple-git/dist/src/lib/types/handlers.d.ts +21 -0
  127. package/dist/node_modules/simple-git/dist/src/lib/types/index.d.ts +136 -0
  128. package/dist/node_modules/simple-git/dist/src/lib/types/tasks.d.ts +19 -0
  129. package/dist/node_modules/simple-git/dist/src/lib/utils/argument-filters.d.ts +14 -0
  130. package/dist/node_modules/simple-git/dist/src/lib/utils/exit-codes.d.ts +10 -0
  131. package/dist/node_modules/simple-git/dist/src/lib/utils/git-output-streams.d.ts +7 -0
  132. package/dist/node_modules/simple-git/dist/src/lib/utils/index.d.ts +8 -0
  133. package/dist/node_modules/simple-git/dist/src/lib/utils/line-parser.d.ts +15 -0
  134. package/dist/node_modules/simple-git/dist/src/lib/utils/simple-git-options.d.ts +2 -0
  135. package/dist/node_modules/simple-git/dist/src/lib/utils/task-options.d.ts +13 -0
  136. package/dist/node_modules/simple-git/dist/src/lib/utils/task-parser.d.ts +5 -0
  137. package/dist/node_modules/simple-git/dist/src/lib/utils/util.d.ts +47 -0
  138. package/dist/node_modules/simple-git/dist/typings/errors.d.ts +5 -0
  139. package/dist/node_modules/simple-git/dist/typings/index.d.ts +14 -0
  140. package/dist/node_modules/simple-git/dist/typings/response.d.ts +556 -0
  141. package/dist/node_modules/simple-git/dist/typings/simple-git.d.ts +1033 -0
  142. package/dist/node_modules/simple-git/dist/typings/types.d.ts +22 -0
  143. package/dist/node_modules/simple-git/node_modules/debug/package.json +64 -0
  144. package/dist/node_modules/simple-git/node_modules/debug/src/browser.js +272 -0
  145. package/dist/node_modules/simple-git/node_modules/debug/src/common.js +292 -0
  146. package/dist/node_modules/simple-git/node_modules/debug/src/index.js +10 -0
  147. package/dist/node_modules/simple-git/node_modules/debug/src/node.js +263 -0
  148. package/dist/node_modules/simple-git/package.json +1 -0
  149. package/dist/node_modules/simple-git/promise.js +17 -0
  150. package/dist/server/collections/agent-execution-spans.d.ts +9 -0
  151. package/dist/server/collections/agent-execution-spans.js +152 -0
  152. package/dist/server/collections/orchestrator-config.js +16 -0
  153. package/dist/server/collections/orchestrator-logs.js +19 -2
  154. package/dist/server/collections/skill-definitions.d.ts +3 -0
  155. package/dist/server/collections/skill-definitions.js +158 -0
  156. package/dist/server/collections/skill-executions.d.ts +3 -0
  157. package/dist/server/collections/skill-executions.js +123 -0
  158. package/dist/server/collections/skill-worker-configs.d.ts +3 -0
  159. package/dist/server/collections/skill-worker-configs.js +115 -0
  160. package/dist/server/migrations/20260423000000-add-progress-fields.d.ts +4 -0
  161. package/dist/server/migrations/20260423000000-add-progress-fields.js +69 -0
  162. package/dist/server/migrations/20260425000000-add-interaction-schema.d.ts +4 -0
  163. package/dist/server/migrations/20260425000000-add-interaction-schema.js +61 -0
  164. package/dist/server/migrations/20260427000000-add-tracing-detail-fields.d.ts +7 -0
  165. package/dist/server/migrations/20260427000000-add-tracing-detail-fields.js +62 -0
  166. package/dist/server/migrations/20260427000000-change-packages-to-text.d.ts +4 -0
  167. package/dist/server/migrations/20260427000000-change-packages-to-text.js +70 -0
  168. package/dist/server/migrations/20260427000001-change-other-json-to-text.d.ts +4 -0
  169. package/dist/server/migrations/20260427000001-change-other-json-to-text.js +80 -0
  170. package/dist/server/migrations/20260429000000-add-llm-fields.d.ts +7 -0
  171. package/dist/server/migrations/20260429000000-add-llm-fields.js +68 -0
  172. package/dist/server/migrations/20260429000000-fix-inputargs-json-to-text.d.ts +16 -0
  173. package/dist/server/migrations/20260429000000-fix-inputargs-json-to-text.js +51 -0
  174. package/dist/server/migrations/20260503000000-add-orchestrator-trace-fields.d.ts +7 -0
  175. package/dist/server/migrations/20260503000000-add-orchestrator-trace-fields.js +57 -0
  176. package/dist/server/plugin.d.ts +3 -0
  177. package/dist/server/plugin.js +37 -1
  178. package/dist/server/resources/tracing.js +160 -12
  179. package/dist/server/services/CodeValidator.d.ts +32 -0
  180. package/dist/server/services/CodeValidator.js +205 -0
  181. package/dist/server/services/ExecutionSpanService.d.ts +44 -0
  182. package/dist/server/services/ExecutionSpanService.js +104 -0
  183. package/dist/server/services/FileManager.d.ts +28 -0
  184. package/dist/server/services/FileManager.js +151 -0
  185. package/dist/server/services/SandboxRunner.d.ts +41 -0
  186. package/dist/server/services/SandboxRunner.js +167 -0
  187. package/dist/server/services/SkillManager.d.ts +6 -0
  188. package/dist/server/services/SkillManager.js +640 -0
  189. package/dist/server/services/SkillRepositoryService.d.ts +22 -0
  190. package/dist/server/services/SkillRepositoryService.js +157 -0
  191. package/dist/server/services/WorkerEnvManager.d.ts +26 -0
  192. package/dist/server/services/WorkerEnvManager.js +120 -0
  193. package/dist/server/skill-hub/actions/git-import.d.ts +21 -0
  194. package/dist/server/skill-hub/actions/git-import.js +413 -0
  195. package/dist/server/skill-hub/mcp/McpController.d.ts +15 -0
  196. package/dist/server/skill-hub/mcp/McpController.js +111 -0
  197. package/dist/server/skill-hub/plugin.d.ts +58 -0
  198. package/dist/server/skill-hub/plugin.js +694 -0
  199. package/dist/server/skill-hub/sandbox-config.json +6 -0
  200. package/dist/server/skill-hub/tasks/SkillExecutionTask.d.ts +14 -0
  201. package/dist/server/skill-hub/tasks/SkillExecutionTask.js +267 -0
  202. package/dist/server/skill-hub/utils/json-fields.d.ts +7 -0
  203. package/dist/server/skill-hub/utils/json-fields.js +88 -0
  204. package/dist/server/tools/delegate-task.d.ts +4 -0
  205. package/dist/server/tools/delegate-task.js +832 -119
  206. package/dist/server/tools/skill-execute.d.ts +36 -0
  207. package/dist/server/tools/skill-execute.js +167 -0
  208. package/package.json +3 -1
  209. package/src/client/AIEmployeeSelect.tsx +1 -3
  210. package/src/client/AIEmployeesContext.tsx +28 -13
  211. package/src/client/OrchestratorSettings.tsx +43 -5
  212. package/src/client/RulesTab.tsx +368 -21
  213. package/src/client/TracingTab.tsx +316 -102
  214. package/src/client/plugin.tsx +39 -0
  215. package/src/client/skill-hub/components/ExecutionHistory.tsx +201 -0
  216. package/src/client/skill-hub/components/ExecutionProgress.tsx +55 -0
  217. package/src/client/skill-hub/components/GitSkillImport.tsx +555 -0
  218. package/src/client/skill-hub/components/SkillEditor.tsx +456 -0
  219. package/src/client/skill-hub/components/SkillManager.tsx +181 -0
  220. package/src/client/skill-hub/components/SkillMetrics.tsx +124 -0
  221. package/src/client/skill-hub/components/SkillTestPanel.tsx +144 -0
  222. package/src/client/skill-hub/index.tsx +75 -0
  223. package/src/client/skill-hub/locale.ts +16 -0
  224. package/src/client/skill-hub/tools/InteractionSchemasProvider.tsx +59 -0
  225. package/src/client/skill-hub/tools/SkillHubCard.tsx +78 -0
  226. package/src/client/skill-hub/utils/jsonFields.ts +37 -0
  227. package/src/server/collections/agent-execution-spans.ts +129 -0
  228. package/src/server/collections/orchestrator-config.ts +17 -0
  229. package/src/server/collections/orchestrator-logs.ts +19 -2
  230. package/src/server/collections/skill-definitions.ts +128 -0
  231. package/src/server/collections/skill-executions.ts +94 -0
  232. package/src/server/collections/skill-worker-configs.ts +86 -0
  233. package/src/server/migrations/20260423000000-add-progress-fields.ts +50 -0
  234. package/src/server/migrations/20260425000000-add-interaction-schema.ts +35 -0
  235. package/src/server/migrations/20260427000000-add-tracing-detail-fields.ts +41 -0
  236. package/src/server/migrations/20260427000000-change-packages-to-text.ts +47 -0
  237. package/src/server/migrations/20260427000001-change-other-json-to-text.ts +57 -0
  238. package/src/server/migrations/20260429000000-add-llm-fields.ts +46 -0
  239. package/src/server/migrations/20260429000000-fix-inputargs-json-to-text.ts +38 -0
  240. package/src/server/migrations/20260503000000-add-orchestrator-trace-fields.ts +32 -0
  241. package/src/server/plugin.ts +51 -3
  242. package/src/server/resources/tracing.ts +187 -16
  243. package/src/server/services/CodeValidator.ts +159 -0
  244. package/src/server/services/ExecutionSpanService.ts +106 -0
  245. package/src/server/services/FileManager.ts +144 -0
  246. package/src/server/services/SandboxRunner.ts +205 -0
  247. package/src/server/services/SkillManager.ts +623 -0
  248. package/src/server/services/SkillRepositoryService.ts +142 -0
  249. package/src/server/services/WorkerEnvManager.ts +113 -0
  250. package/src/server/skill-hub/actions/git-import.ts +486 -0
  251. package/src/server/skill-hub/mcp/McpController.ts +86 -0
  252. package/src/server/skill-hub/plugin.ts +771 -0
  253. package/src/server/skill-hub/sandbox-config.json +6 -0
  254. package/src/server/skill-hub/tasks/SkillExecutionTask.ts +297 -0
  255. package/src/server/skill-hub/utils/json-fields.ts +57 -0
  256. package/src/server/tools/delegate-task.ts +1085 -147
  257. package/src/server/tools/skill-execute.ts +157 -0
@@ -0,0 +1,377 @@
1
+ var Utils = require("../util"),
2
+ Constants = Utils.Constants;
3
+
4
+ /* The central directory file header */
5
+ module.exports = function () {
6
+ var _verMade = 20, // v2.0
7
+ _version = 10, // v1.0
8
+ _flags = 0,
9
+ _method = 0,
10
+ _time = 0,
11
+ _crc = 0,
12
+ _compressedSize = 0,
13
+ _size = 0,
14
+ _fnameLen = 0,
15
+ _extraLen = 0,
16
+ _comLen = 0,
17
+ _diskStart = 0,
18
+ _inattr = 0,
19
+ _attr = 0,
20
+ _offset = 0;
21
+
22
+ _verMade |= Utils.isWin ? 0x0a00 : 0x0300;
23
+
24
+ // Set EFS flag since filename and comment fields are all by default encoded using UTF-8.
25
+ // Without it file names may be corrupted for other apps when file names use unicode chars
26
+ _flags |= Constants.FLG_EFS;
27
+
28
+ const _localHeader = {
29
+ extraLen: 0
30
+ };
31
+
32
+ // casting
33
+ const uint32 = (val) => Math.max(0, val) >>> 0;
34
+ const uint16 = (val) => Math.max(0, val) & 0xffff;
35
+ const uint8 = (val) => Math.max(0, val) & 0xff;
36
+
37
+ _time = Utils.fromDate2DOS(new Date());
38
+
39
+ return {
40
+ get made() {
41
+ return _verMade;
42
+ },
43
+ set made(val) {
44
+ _verMade = val;
45
+ },
46
+
47
+ get version() {
48
+ return _version;
49
+ },
50
+ set version(val) {
51
+ _version = val;
52
+ },
53
+
54
+ get flags() {
55
+ return _flags;
56
+ },
57
+ set flags(val) {
58
+ _flags = val;
59
+ },
60
+
61
+ get flags_efs() {
62
+ return (_flags & Constants.FLG_EFS) > 0;
63
+ },
64
+ set flags_efs(val) {
65
+ if (val) {
66
+ _flags |= Constants.FLG_EFS;
67
+ } else {
68
+ _flags &= ~Constants.FLG_EFS;
69
+ }
70
+ },
71
+
72
+ get flags_desc() {
73
+ return (_flags & Constants.FLG_DESC) > 0;
74
+ },
75
+ set flags_desc(val) {
76
+ if (val) {
77
+ _flags |= Constants.FLG_DESC;
78
+ } else {
79
+ _flags &= ~Constants.FLG_DESC;
80
+ }
81
+ },
82
+
83
+ get method() {
84
+ return _method;
85
+ },
86
+ set method(val) {
87
+ switch (val) {
88
+ case Constants.STORED:
89
+ this.version = 10;
90
+ case Constants.DEFLATED:
91
+ default:
92
+ this.version = 20;
93
+ }
94
+ _method = val;
95
+ },
96
+
97
+ get time() {
98
+ return Utils.fromDOS2Date(this.timeval);
99
+ },
100
+ set time(val) {
101
+ val = new Date(val);
102
+ this.timeval = Utils.fromDate2DOS(val);
103
+ },
104
+
105
+ get timeval() {
106
+ return _time;
107
+ },
108
+ set timeval(val) {
109
+ _time = uint32(val);
110
+ },
111
+
112
+ get timeHighByte() {
113
+ return uint8(_time >>> 8);
114
+ },
115
+ get crc() {
116
+ return _crc;
117
+ },
118
+ set crc(val) {
119
+ _crc = uint32(val);
120
+ },
121
+
122
+ get compressedSize() {
123
+ return _compressedSize;
124
+ },
125
+ set compressedSize(val) {
126
+ _compressedSize = uint32(val);
127
+ },
128
+
129
+ get size() {
130
+ return _size;
131
+ },
132
+ set size(val) {
133
+ _size = uint32(val);
134
+ },
135
+
136
+ get fileNameLength() {
137
+ return _fnameLen;
138
+ },
139
+ set fileNameLength(val) {
140
+ _fnameLen = val;
141
+ },
142
+
143
+ get extraLength() {
144
+ return _extraLen;
145
+ },
146
+ set extraLength(val) {
147
+ _extraLen = val;
148
+ },
149
+
150
+ get extraLocalLength() {
151
+ return _localHeader.extraLen;
152
+ },
153
+ set extraLocalLength(val) {
154
+ _localHeader.extraLen = val;
155
+ },
156
+
157
+ get commentLength() {
158
+ return _comLen;
159
+ },
160
+ set commentLength(val) {
161
+ _comLen = val;
162
+ },
163
+
164
+ get diskNumStart() {
165
+ return _diskStart;
166
+ },
167
+ set diskNumStart(val) {
168
+ _diskStart = uint32(val);
169
+ },
170
+
171
+ get inAttr() {
172
+ return _inattr;
173
+ },
174
+ set inAttr(val) {
175
+ _inattr = uint32(val);
176
+ },
177
+
178
+ get attr() {
179
+ return _attr;
180
+ },
181
+ set attr(val) {
182
+ _attr = uint32(val);
183
+ },
184
+
185
+ // get Unix file permissions
186
+ get fileAttr() {
187
+ return (_attr || 0) >> 16 & 0xfff;
188
+ },
189
+
190
+ get offset() {
191
+ return _offset;
192
+ },
193
+ set offset(val) {
194
+ _offset = uint32(val);
195
+ },
196
+
197
+ get encrypted() {
198
+ return (_flags & Constants.FLG_ENC) === Constants.FLG_ENC;
199
+ },
200
+
201
+ get centralHeaderSize() {
202
+ return Constants.CENHDR + _fnameLen + _extraLen + _comLen;
203
+ },
204
+
205
+ get realDataOffset() {
206
+ return _offset + Constants.LOCHDR + _localHeader.fnameLen + _localHeader.extraLen;
207
+ },
208
+
209
+ get localHeader() {
210
+ return _localHeader;
211
+ },
212
+
213
+ loadLocalHeaderFromBinary: function (/*Buffer*/ input) {
214
+ var data = input.slice(_offset, _offset + Constants.LOCHDR);
215
+ // 30 bytes and should start with "PK\003\004"
216
+ if (data.readUInt32LE(0) !== Constants.LOCSIG) {
217
+ throw Utils.Errors.INVALID_LOC();
218
+ }
219
+
220
+ // version needed to extract
221
+ _localHeader.version = data.readUInt16LE(Constants.LOCVER);
222
+ // general purpose bit flag
223
+ _localHeader.flags = data.readUInt16LE(Constants.LOCFLG);
224
+ // desc flag
225
+ _localHeader.flags_desc = (_localHeader.flags & Constants.FLG_DESC) > 0;
226
+ // compression method
227
+ _localHeader.method = data.readUInt16LE(Constants.LOCHOW);
228
+ // modification time (2 bytes time, 2 bytes date)
229
+ _localHeader.time = data.readUInt32LE(Constants.LOCTIM);
230
+ // uncompressed file crc-32 valu
231
+ _localHeader.crc = data.readUInt32LE(Constants.LOCCRC);
232
+ // compressed size
233
+ _localHeader.compressedSize = data.readUInt32LE(Constants.LOCSIZ);
234
+ // uncompressed size
235
+ _localHeader.size = data.readUInt32LE(Constants.LOCLEN);
236
+ // filename length
237
+ _localHeader.fnameLen = data.readUInt16LE(Constants.LOCNAM);
238
+ // extra field length
239
+ _localHeader.extraLen = data.readUInt16LE(Constants.LOCEXT);
240
+
241
+ // read extra data
242
+ const extraStart = _offset + Constants.LOCHDR + _localHeader.fnameLen;
243
+ const extraEnd = extraStart + _localHeader.extraLen;
244
+ return input.slice(extraStart, extraEnd);
245
+ },
246
+
247
+ loadFromBinary: function (/*Buffer*/ data) {
248
+ // data should be 46 bytes and start with "PK 01 02"
249
+ if (data.length !== Constants.CENHDR || data.readUInt32LE(0) !== Constants.CENSIG) {
250
+ throw Utils.Errors.INVALID_CEN();
251
+ }
252
+ // version made by
253
+ _verMade = data.readUInt16LE(Constants.CENVEM);
254
+ // version needed to extract
255
+ _version = data.readUInt16LE(Constants.CENVER);
256
+ // encrypt, decrypt flags
257
+ _flags = data.readUInt16LE(Constants.CENFLG);
258
+ // compression method
259
+ _method = data.readUInt16LE(Constants.CENHOW);
260
+ // modification time (2 bytes time, 2 bytes date)
261
+ _time = data.readUInt32LE(Constants.CENTIM);
262
+ // uncompressed file crc-32 value
263
+ _crc = data.readUInt32LE(Constants.CENCRC);
264
+ // compressed size
265
+ _compressedSize = data.readUInt32LE(Constants.CENSIZ);
266
+ // uncompressed size
267
+ _size = data.readUInt32LE(Constants.CENLEN);
268
+ // filename length
269
+ _fnameLen = data.readUInt16LE(Constants.CENNAM);
270
+ // extra field length
271
+ _extraLen = data.readUInt16LE(Constants.CENEXT);
272
+ // file comment length
273
+ _comLen = data.readUInt16LE(Constants.CENCOM);
274
+ // volume number start
275
+ _diskStart = data.readUInt16LE(Constants.CENDSK);
276
+ // internal file attributes
277
+ _inattr = data.readUInt16LE(Constants.CENATT);
278
+ // external file attributes
279
+ _attr = data.readUInt32LE(Constants.CENATX);
280
+ // LOC header offset
281
+ _offset = data.readUInt32LE(Constants.CENOFF);
282
+ },
283
+
284
+ localHeaderToBinary: function () {
285
+ // LOC header size (30 bytes)
286
+ var data = Buffer.alloc(Constants.LOCHDR);
287
+ // "PK\003\004"
288
+ data.writeUInt32LE(Constants.LOCSIG, 0);
289
+ // version needed to extract
290
+ data.writeUInt16LE(_version, Constants.LOCVER);
291
+ // general purpose bit flag
292
+ data.writeUInt16LE(_flags, Constants.LOCFLG);
293
+ // compression method
294
+ data.writeUInt16LE(_method, Constants.LOCHOW);
295
+ // modification time (2 bytes time, 2 bytes date)
296
+ data.writeUInt32LE(_time, Constants.LOCTIM);
297
+ // uncompressed file crc-32 value
298
+ data.writeUInt32LE(_crc, Constants.LOCCRC);
299
+ // compressed size
300
+ data.writeUInt32LE(_compressedSize, Constants.LOCSIZ);
301
+ // uncompressed size
302
+ data.writeUInt32LE(_size, Constants.LOCLEN);
303
+ // filename length
304
+ data.writeUInt16LE(_fnameLen, Constants.LOCNAM);
305
+ // extra field length
306
+ data.writeUInt16LE(_localHeader.extraLen, Constants.LOCEXT);
307
+ return data;
308
+ },
309
+
310
+ centralHeaderToBinary: function () {
311
+ // CEN header size (46 bytes)
312
+ var data = Buffer.alloc(Constants.CENHDR + _fnameLen + _extraLen + _comLen);
313
+ // "PK\001\002"
314
+ data.writeUInt32LE(Constants.CENSIG, 0);
315
+ // version made by
316
+ data.writeUInt16LE(_verMade, Constants.CENVEM);
317
+ // version needed to extract
318
+ data.writeUInt16LE(_version, Constants.CENVER);
319
+ // encrypt, decrypt flags
320
+ data.writeUInt16LE(_flags, Constants.CENFLG);
321
+ // compression method
322
+ data.writeUInt16LE(_method, Constants.CENHOW);
323
+ // modification time (2 bytes time, 2 bytes date)
324
+ data.writeUInt32LE(_time, Constants.CENTIM);
325
+ // uncompressed file crc-32 value
326
+ data.writeUInt32LE(_crc, Constants.CENCRC);
327
+ // compressed size
328
+ data.writeUInt32LE(_compressedSize, Constants.CENSIZ);
329
+ // uncompressed size
330
+ data.writeUInt32LE(_size, Constants.CENLEN);
331
+ // filename length
332
+ data.writeUInt16LE(_fnameLen, Constants.CENNAM);
333
+ // extra field length
334
+ data.writeUInt16LE(_extraLen, Constants.CENEXT);
335
+ // file comment length
336
+ data.writeUInt16LE(_comLen, Constants.CENCOM);
337
+ // volume number start
338
+ data.writeUInt16LE(_diskStart, Constants.CENDSK);
339
+ // internal file attributes
340
+ data.writeUInt16LE(_inattr, Constants.CENATT);
341
+ // external file attributes
342
+ data.writeUInt32LE(_attr, Constants.CENATX);
343
+ // LOC header offset
344
+ data.writeUInt32LE(_offset, Constants.CENOFF);
345
+ return data;
346
+ },
347
+
348
+ toJSON: function () {
349
+ const bytes = function (nr) {
350
+ return nr + " bytes";
351
+ };
352
+
353
+ return {
354
+ made: _verMade,
355
+ version: _version,
356
+ flags: _flags,
357
+ method: Utils.methodToString(_method),
358
+ time: this.time,
359
+ crc: "0x" + _crc.toString(16).toUpperCase(),
360
+ compressedSize: bytes(_compressedSize),
361
+ size: bytes(_size),
362
+ fileNameLength: bytes(_fnameLen),
363
+ extraLength: bytes(_extraLen),
364
+ commentLength: bytes(_comLen),
365
+ diskNumStart: _diskStart,
366
+ inAttr: _inattr,
367
+ attr: _attr,
368
+ offset: _offset,
369
+ centralHeaderSize: bytes(Constants.CENHDR + _fnameLen + _extraLen + _comLen)
370
+ };
371
+ },
372
+
373
+ toString: function () {
374
+ return JSON.stringify(this.toJSON(), null, "\t");
375
+ }
376
+ };
377
+ };
@@ -0,0 +1,2 @@
1
+ exports.EntryHeader = require("./entryHeader");
2
+ exports.MainHeader = require("./mainHeader");
@@ -0,0 +1,130 @@
1
+ var Utils = require("../util"),
2
+ Constants = Utils.Constants;
3
+
4
+ /* The entries in the end of central directory */
5
+ module.exports = function () {
6
+ var _volumeEntries = 0,
7
+ _totalEntries = 0,
8
+ _size = 0,
9
+ _offset = 0,
10
+ _commentLength = 0;
11
+
12
+ return {
13
+ get diskEntries() {
14
+ return _volumeEntries;
15
+ },
16
+ set diskEntries(/*Number*/ val) {
17
+ _volumeEntries = _totalEntries = val;
18
+ },
19
+
20
+ get totalEntries() {
21
+ return _totalEntries;
22
+ },
23
+ set totalEntries(/*Number*/ val) {
24
+ _totalEntries = _volumeEntries = val;
25
+ },
26
+
27
+ get size() {
28
+ return _size;
29
+ },
30
+ set size(/*Number*/ val) {
31
+ _size = val;
32
+ },
33
+
34
+ get offset() {
35
+ return _offset;
36
+ },
37
+ set offset(/*Number*/ val) {
38
+ _offset = val;
39
+ },
40
+
41
+ get commentLength() {
42
+ return _commentLength;
43
+ },
44
+ set commentLength(/*Number*/ val) {
45
+ _commentLength = val;
46
+ },
47
+
48
+ get mainHeaderSize() {
49
+ return Constants.ENDHDR + _commentLength;
50
+ },
51
+
52
+ loadFromBinary: function (/*Buffer*/ data) {
53
+ // data should be 22 bytes and start with "PK 05 06"
54
+ // or be 56+ bytes and start with "PK 06 06" for Zip64
55
+ if (
56
+ (data.length !== Constants.ENDHDR || data.readUInt32LE(0) !== Constants.ENDSIG) &&
57
+ (data.length < Constants.ZIP64HDR || data.readUInt32LE(0) !== Constants.ZIP64SIG)
58
+ ) {
59
+ throw Utils.Errors.INVALID_END();
60
+ }
61
+
62
+ if (data.readUInt32LE(0) === Constants.ENDSIG) {
63
+ // number of entries on this volume
64
+ _volumeEntries = data.readUInt16LE(Constants.ENDSUB);
65
+ // total number of entries
66
+ _totalEntries = data.readUInt16LE(Constants.ENDTOT);
67
+ // central directory size in bytes
68
+ _size = data.readUInt32LE(Constants.ENDSIZ);
69
+ // offset of first CEN header
70
+ _offset = data.readUInt32LE(Constants.ENDOFF);
71
+ // zip file comment length
72
+ _commentLength = data.readUInt16LE(Constants.ENDCOM);
73
+ } else {
74
+ // number of entries on this volume
75
+ _volumeEntries = Utils.readBigUInt64LE(data, Constants.ZIP64SUB);
76
+ // total number of entries
77
+ _totalEntries = Utils.readBigUInt64LE(data, Constants.ZIP64TOT);
78
+ // central directory size in bytes
79
+ _size = Utils.readBigUInt64LE(data, Constants.ZIP64SIZE);
80
+ // offset of first CEN header
81
+ _offset = Utils.readBigUInt64LE(data, Constants.ZIP64OFF);
82
+
83
+ _commentLength = 0;
84
+ }
85
+ },
86
+
87
+ toBinary: function () {
88
+ var b = Buffer.alloc(Constants.ENDHDR + _commentLength);
89
+ // "PK 05 06" signature
90
+ b.writeUInt32LE(Constants.ENDSIG, 0);
91
+ b.writeUInt32LE(0, 4);
92
+ // number of entries on this volume
93
+ b.writeUInt16LE(_volumeEntries, Constants.ENDSUB);
94
+ // total number of entries
95
+ b.writeUInt16LE(_totalEntries, Constants.ENDTOT);
96
+ // central directory size in bytes
97
+ b.writeUInt32LE(_size, Constants.ENDSIZ);
98
+ // offset of first CEN header
99
+ b.writeUInt32LE(_offset, Constants.ENDOFF);
100
+ // zip file comment length
101
+ b.writeUInt16LE(_commentLength, Constants.ENDCOM);
102
+ // fill comment memory with spaces so no garbage is left there
103
+ b.fill(" ", Constants.ENDHDR);
104
+
105
+ return b;
106
+ },
107
+
108
+ toJSON: function () {
109
+ // creates 0x0000 style output
110
+ const offset = function (nr, len) {
111
+ let offs = nr.toString(16).toUpperCase();
112
+ while (offs.length < len) offs = "0" + offs;
113
+ return "0x" + offs;
114
+ };
115
+
116
+ return {
117
+ diskEntries: _volumeEntries,
118
+ totalEntries: _totalEntries,
119
+ size: _size + " bytes",
120
+ offset: offset(_offset, 4),
121
+ commentLength: _commentLength
122
+ };
123
+ },
124
+
125
+ toString: function () {
126
+ return JSON.stringify(this.toJSON(), null, "\t");
127
+ }
128
+ };
129
+ };
130
+ // Misspelled
@@ -0,0 +1,33 @@
1
+ module.exports = function (/*Buffer*/ inbuf) {
2
+ var zlib = require("zlib");
3
+
4
+ var opts = { chunkSize: (parseInt(inbuf.length / 1024) + 1) * 1024 };
5
+
6
+ return {
7
+ deflate: function () {
8
+ return zlib.deflateRawSync(inbuf, opts);
9
+ },
10
+
11
+ deflateAsync: function (/*Function*/ callback) {
12
+ var tmp = zlib.createDeflateRaw(opts),
13
+ parts = [],
14
+ total = 0;
15
+ tmp.on("data", function (data) {
16
+ parts.push(data);
17
+ total += data.length;
18
+ });
19
+ tmp.on("end", function () {
20
+ var buf = Buffer.alloc(total),
21
+ written = 0;
22
+ buf.fill(0);
23
+ for (var i = 0; i < parts.length; i++) {
24
+ var part = parts[i];
25
+ part.copy(buf, written);
26
+ written += part.length;
27
+ }
28
+ callback && callback(buf);
29
+ });
30
+ tmp.end(inbuf);
31
+ }
32
+ };
33
+ };
@@ -0,0 +1,3 @@
1
+ exports.Deflater = require("./deflater");
2
+ exports.Inflater = require("./inflater");
3
+ exports.ZipCrypto = require("./zipcrypto");
@@ -0,0 +1,34 @@
1
+ const version = +(process.versions ? process.versions.node : "").split(".")[0] || 0;
2
+
3
+ module.exports = function (/*Buffer*/ inbuf, /*number*/ expectedLength) {
4
+ var zlib = require("zlib");
5
+ const option = version >= 15 && expectedLength > 0 ? { maxOutputLength: expectedLength } : {};
6
+
7
+ return {
8
+ inflate: function () {
9
+ return zlib.inflateRawSync(inbuf, option);
10
+ },
11
+
12
+ inflateAsync: function (/*Function*/ callback) {
13
+ var tmp = zlib.createInflateRaw(option),
14
+ parts = [],
15
+ total = 0;
16
+ tmp.on("data", function (data) {
17
+ parts.push(data);
18
+ total += data.length;
19
+ });
20
+ tmp.on("end", function () {
21
+ var buf = Buffer.alloc(total),
22
+ written = 0;
23
+ buf.fill(0);
24
+ for (var i = 0; i < parts.length; i++) {
25
+ var part = parts[i];
26
+ part.copy(buf, written);
27
+ written += part.length;
28
+ }
29
+ callback && callback(buf);
30
+ });
31
+ tmp.end(inbuf);
32
+ }
33
+ };
34
+ };