cline 1.0.0-nightly.5 → 1.0.0-nightly.7

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 (378) hide show
  1. package/bin/cline +0 -0
  2. package/bin/cline-host +0 -0
  3. package/node_modules/base64-js/LICENSE +21 -0
  4. package/node_modules/base64-js/README.md +34 -0
  5. package/node_modules/base64-js/base64js.min.js +1 -0
  6. package/node_modules/base64-js/index.d.ts +3 -0
  7. package/node_modules/base64-js/index.js +150 -0
  8. package/node_modules/base64-js/package.json +47 -0
  9. package/node_modules/better-sqlite3/LICENSE +21 -0
  10. package/node_modules/better-sqlite3/README.md +99 -0
  11. package/node_modules/better-sqlite3/binding.gyp +38 -0
  12. package/node_modules/better-sqlite3/deps/common.gypi +68 -0
  13. package/node_modules/better-sqlite3/deps/copy.js +31 -0
  14. package/node_modules/better-sqlite3/deps/defines.gypi +41 -0
  15. package/node_modules/better-sqlite3/deps/download.sh +122 -0
  16. package/node_modules/better-sqlite3/deps/patches/1208.patch +15 -0
  17. package/node_modules/better-sqlite3/deps/sqlite3/sqlite3.c +262875 -0
  18. package/node_modules/better-sqlite3/deps/sqlite3/sqlite3.h +13775 -0
  19. package/node_modules/better-sqlite3/deps/sqlite3/sqlite3ext.h +723 -0
  20. package/node_modules/better-sqlite3/deps/sqlite3.gyp +80 -0
  21. package/node_modules/better-sqlite3/deps/test_extension.c +21 -0
  22. package/node_modules/better-sqlite3/lib/database.js +90 -0
  23. package/node_modules/better-sqlite3/lib/index.js +3 -0
  24. package/node_modules/better-sqlite3/lib/methods/aggregate.js +43 -0
  25. package/node_modules/better-sqlite3/lib/methods/backup.js +67 -0
  26. package/node_modules/better-sqlite3/lib/methods/function.js +31 -0
  27. package/node_modules/better-sqlite3/lib/methods/inspect.js +7 -0
  28. package/node_modules/better-sqlite3/lib/methods/pragma.js +12 -0
  29. package/node_modules/better-sqlite3/lib/methods/serialize.js +16 -0
  30. package/node_modules/better-sqlite3/lib/methods/table.js +189 -0
  31. package/node_modules/better-sqlite3/lib/methods/transaction.js +78 -0
  32. package/node_modules/better-sqlite3/lib/methods/wrappers.js +54 -0
  33. package/node_modules/better-sqlite3/lib/sqlite-error.js +20 -0
  34. package/node_modules/better-sqlite3/lib/util.js +12 -0
  35. package/node_modules/better-sqlite3/package.json +62 -0
  36. package/node_modules/better-sqlite3/src/better_sqlite3.cpp +2189 -0
  37. package/node_modules/better-sqlite3/src/better_sqlite3.hpp +1036 -0
  38. package/node_modules/bindings/LICENSE.md +22 -0
  39. package/node_modules/bindings/README.md +98 -0
  40. package/node_modules/bindings/bindings.js +221 -0
  41. package/node_modules/bindings/package.json +28 -0
  42. package/node_modules/bl/.travis.yml +17 -0
  43. package/node_modules/bl/BufferList.js +396 -0
  44. package/node_modules/bl/LICENSE.md +13 -0
  45. package/node_modules/bl/README.md +247 -0
  46. package/node_modules/bl/bl.js +84 -0
  47. package/node_modules/bl/package.json +37 -0
  48. package/node_modules/bl/test/convert.js +21 -0
  49. package/node_modules/bl/test/indexOf.js +492 -0
  50. package/node_modules/bl/test/isBufferList.js +32 -0
  51. package/node_modules/bl/test/test.js +869 -0
  52. package/node_modules/buffer/AUTHORS.md +70 -0
  53. package/node_modules/buffer/LICENSE +21 -0
  54. package/node_modules/buffer/README.md +410 -0
  55. package/node_modules/buffer/index.d.ts +186 -0
  56. package/node_modules/buffer/index.js +1817 -0
  57. package/node_modules/buffer/package.json +96 -0
  58. package/node_modules/chownr/LICENSE +15 -0
  59. package/node_modules/chownr/README.md +3 -0
  60. package/node_modules/chownr/chownr.js +167 -0
  61. package/node_modules/chownr/package.json +29 -0
  62. package/node_modules/decompress-response/index.d.ts +22 -0
  63. package/node_modules/decompress-response/index.js +58 -0
  64. package/node_modules/decompress-response/license +9 -0
  65. package/node_modules/decompress-response/package.json +56 -0
  66. package/node_modules/decompress-response/readme.md +48 -0
  67. package/node_modules/deep-extend/LICENSE +20 -0
  68. package/node_modules/deep-extend/README.md +91 -0
  69. package/node_modules/deep-extend/index.js +1 -0
  70. package/node_modules/deep-extend/lib/deep-extend.js +150 -0
  71. package/node_modules/deep-extend/package.json +62 -0
  72. package/node_modules/detect-libc/LICENSE +201 -0
  73. package/node_modules/detect-libc/README.md +163 -0
  74. package/node_modules/detect-libc/index.d.ts +14 -0
  75. package/node_modules/detect-libc/lib/detect-libc.js +267 -0
  76. package/node_modules/detect-libc/lib/filesystem.js +41 -0
  77. package/node_modules/detect-libc/lib/process.js +24 -0
  78. package/node_modules/detect-libc/package.json +41 -0
  79. package/node_modules/end-of-stream/LICENSE +21 -0
  80. package/node_modules/end-of-stream/README.md +54 -0
  81. package/node_modules/end-of-stream/index.js +96 -0
  82. package/node_modules/end-of-stream/package.json +37 -0
  83. package/node_modules/expand-template/.travis.yml +6 -0
  84. package/node_modules/expand-template/LICENSE +21 -0
  85. package/node_modules/expand-template/README.md +43 -0
  86. package/node_modules/expand-template/index.js +26 -0
  87. package/node_modules/expand-template/package.json +29 -0
  88. package/node_modules/expand-template/test.js +67 -0
  89. package/node_modules/file-uri-to-path/.npmignore +1 -0
  90. package/node_modules/file-uri-to-path/.travis.yml +30 -0
  91. package/node_modules/file-uri-to-path/History.md +21 -0
  92. package/node_modules/file-uri-to-path/LICENSE +20 -0
  93. package/node_modules/file-uri-to-path/README.md +74 -0
  94. package/node_modules/file-uri-to-path/index.d.ts +2 -0
  95. package/node_modules/file-uri-to-path/index.js +66 -0
  96. package/node_modules/file-uri-to-path/package.json +32 -0
  97. package/node_modules/file-uri-to-path/test/test.js +24 -0
  98. package/node_modules/file-uri-to-path/test/tests.json +13 -0
  99. package/node_modules/fs-constants/LICENSE +21 -0
  100. package/node_modules/fs-constants/README.md +26 -0
  101. package/node_modules/fs-constants/browser.js +1 -0
  102. package/node_modules/fs-constants/index.js +1 -0
  103. package/node_modules/fs-constants/package.json +19 -0
  104. package/node_modules/github-from-package/.travis.yml +4 -0
  105. package/node_modules/github-from-package/LICENSE +18 -0
  106. package/node_modules/github-from-package/example/package.json +8 -0
  107. package/node_modules/github-from-package/example/url.js +3 -0
  108. package/node_modules/github-from-package/index.js +17 -0
  109. package/node_modules/github-from-package/package.json +30 -0
  110. package/node_modules/github-from-package/readme.markdown +53 -0
  111. package/node_modules/github-from-package/test/a.json +8 -0
  112. package/node_modules/github-from-package/test/b.json +5 -0
  113. package/node_modules/github-from-package/test/c.json +5 -0
  114. package/node_modules/github-from-package/test/d.json +7 -0
  115. package/node_modules/github-from-package/test/e.json +5 -0
  116. package/node_modules/github-from-package/test/url.js +19 -0
  117. package/node_modules/ieee754/LICENSE +11 -0
  118. package/node_modules/ieee754/README.md +51 -0
  119. package/node_modules/ieee754/index.d.ts +10 -0
  120. package/node_modules/ieee754/index.js +85 -0
  121. package/node_modules/ieee754/package.json +52 -0
  122. package/node_modules/inherits/LICENSE +16 -0
  123. package/node_modules/inherits/README.md +42 -0
  124. package/node_modules/inherits/inherits.js +9 -0
  125. package/node_modules/inherits/inherits_browser.js +27 -0
  126. package/node_modules/inherits/package.json +29 -0
  127. package/node_modules/ini/LICENSE +15 -0
  128. package/node_modules/ini/README.md +102 -0
  129. package/node_modules/ini/ini.js +206 -0
  130. package/node_modules/ini/package.json +33 -0
  131. package/node_modules/mimic-response/index.d.ts +17 -0
  132. package/node_modules/mimic-response/index.js +77 -0
  133. package/node_modules/mimic-response/license +9 -0
  134. package/node_modules/mimic-response/package.json +42 -0
  135. package/node_modules/mimic-response/readme.md +78 -0
  136. package/node_modules/minimist/.eslintrc +29 -0
  137. package/node_modules/minimist/.github/FUNDING.yml +12 -0
  138. package/node_modules/minimist/.nycrc +14 -0
  139. package/node_modules/minimist/CHANGELOG.md +298 -0
  140. package/node_modules/minimist/LICENSE +18 -0
  141. package/node_modules/minimist/README.md +121 -0
  142. package/node_modules/minimist/example/parse.js +4 -0
  143. package/node_modules/minimist/index.js +263 -0
  144. package/node_modules/minimist/package.json +75 -0
  145. package/node_modules/minimist/test/all_bool.js +34 -0
  146. package/node_modules/minimist/test/bool.js +177 -0
  147. package/node_modules/minimist/test/dash.js +43 -0
  148. package/node_modules/minimist/test/default_bool.js +37 -0
  149. package/node_modules/minimist/test/dotted.js +24 -0
  150. package/node_modules/minimist/test/kv_short.js +32 -0
  151. package/node_modules/minimist/test/long.js +33 -0
  152. package/node_modules/minimist/test/num.js +38 -0
  153. package/node_modules/minimist/test/parse.js +209 -0
  154. package/node_modules/minimist/test/parse_modified.js +11 -0
  155. package/node_modules/minimist/test/proto.js +64 -0
  156. package/node_modules/minimist/test/short.js +69 -0
  157. package/node_modules/minimist/test/stop_early.js +17 -0
  158. package/node_modules/minimist/test/unknown.js +104 -0
  159. package/node_modules/minimist/test/whitespace.js +10 -0
  160. package/node_modules/mkdirp-classic/LICENSE +21 -0
  161. package/node_modules/mkdirp-classic/README.md +18 -0
  162. package/node_modules/mkdirp-classic/index.js +98 -0
  163. package/node_modules/mkdirp-classic/package.json +18 -0
  164. package/node_modules/napi-build-utils/.github/workflows/run-npm-tests.yml +31 -0
  165. package/node_modules/napi-build-utils/LICENSE +21 -0
  166. package/node_modules/napi-build-utils/README.md +52 -0
  167. package/node_modules/napi-build-utils/index.js +214 -0
  168. package/node_modules/napi-build-utils/index.md +0 -0
  169. package/node_modules/napi-build-utils/package.json +42 -0
  170. package/node_modules/node-abi/LICENSE +21 -0
  171. package/node_modules/node-abi/README.md +54 -0
  172. package/node_modules/node-abi/abi_registry.json +408 -0
  173. package/node_modules/node-abi/index.js +179 -0
  174. package/node_modules/node-abi/package.json +45 -0
  175. package/node_modules/once/LICENSE +15 -0
  176. package/node_modules/once/README.md +79 -0
  177. package/node_modules/once/once.js +42 -0
  178. package/node_modules/once/package.json +33 -0
  179. package/node_modules/prebuild-install/CHANGELOG.md +131 -0
  180. package/node_modules/prebuild-install/CONTRIBUTING.md +6 -0
  181. package/node_modules/prebuild-install/LICENSE +21 -0
  182. package/node_modules/prebuild-install/README.md +163 -0
  183. package/node_modules/prebuild-install/asset.js +44 -0
  184. package/node_modules/prebuild-install/bin.js +78 -0
  185. package/node_modules/prebuild-install/download.js +142 -0
  186. package/node_modules/prebuild-install/error.js +14 -0
  187. package/node_modules/prebuild-install/help.txt +16 -0
  188. package/node_modules/prebuild-install/index.js +1 -0
  189. package/node_modules/prebuild-install/log.js +33 -0
  190. package/node_modules/prebuild-install/package.json +67 -0
  191. package/node_modules/prebuild-install/proxy.js +35 -0
  192. package/node_modules/prebuild-install/rc.js +64 -0
  193. package/node_modules/prebuild-install/util.js +143 -0
  194. package/node_modules/pump/.github/FUNDING.yml +2 -0
  195. package/node_modules/pump/.travis.yml +5 -0
  196. package/node_modules/pump/LICENSE +21 -0
  197. package/node_modules/pump/README.md +74 -0
  198. package/node_modules/pump/SECURITY.md +5 -0
  199. package/node_modules/pump/index.js +86 -0
  200. package/node_modules/pump/package.json +24 -0
  201. package/node_modules/pump/test-browser.js +66 -0
  202. package/node_modules/pump/test-node.js +53 -0
  203. package/node_modules/rc/LICENSE.APACHE2 +15 -0
  204. package/node_modules/rc/LICENSE.BSD +26 -0
  205. package/node_modules/rc/LICENSE.MIT +24 -0
  206. package/node_modules/rc/README.md +227 -0
  207. package/node_modules/rc/browser.js +7 -0
  208. package/node_modules/rc/cli.js +4 -0
  209. package/node_modules/rc/index.js +53 -0
  210. package/node_modules/rc/lib/utils.js +104 -0
  211. package/node_modules/rc/package.json +29 -0
  212. package/node_modules/rc/test/ini.js +16 -0
  213. package/node_modules/rc/test/nested-env-vars.js +50 -0
  214. package/node_modules/rc/test/test.js +59 -0
  215. package/node_modules/readable-stream/CONTRIBUTING.md +38 -0
  216. package/node_modules/readable-stream/GOVERNANCE.md +136 -0
  217. package/node_modules/readable-stream/LICENSE +47 -0
  218. package/node_modules/readable-stream/README.md +106 -0
  219. package/node_modules/readable-stream/errors-browser.js +127 -0
  220. package/node_modules/readable-stream/errors.js +116 -0
  221. package/node_modules/readable-stream/experimentalWarning.js +17 -0
  222. package/node_modules/readable-stream/lib/_stream_duplex.js +126 -0
  223. package/node_modules/readable-stream/lib/_stream_passthrough.js +37 -0
  224. package/node_modules/readable-stream/lib/_stream_readable.js +1027 -0
  225. package/node_modules/readable-stream/lib/_stream_transform.js +190 -0
  226. package/node_modules/readable-stream/lib/_stream_writable.js +641 -0
  227. package/node_modules/readable-stream/lib/internal/streams/async_iterator.js +180 -0
  228. package/node_modules/readable-stream/lib/internal/streams/buffer_list.js +183 -0
  229. package/node_modules/readable-stream/lib/internal/streams/destroy.js +96 -0
  230. package/node_modules/readable-stream/lib/internal/streams/end-of-stream.js +86 -0
  231. package/node_modules/readable-stream/lib/internal/streams/from-browser.js +3 -0
  232. package/node_modules/readable-stream/lib/internal/streams/from.js +52 -0
  233. package/node_modules/readable-stream/lib/internal/streams/pipeline.js +86 -0
  234. package/node_modules/readable-stream/lib/internal/streams/state.js +22 -0
  235. package/node_modules/readable-stream/lib/internal/streams/stream-browser.js +1 -0
  236. package/node_modules/readable-stream/lib/internal/streams/stream.js +1 -0
  237. package/node_modules/readable-stream/package.json +68 -0
  238. package/node_modules/readable-stream/readable-browser.js +9 -0
  239. package/node_modules/readable-stream/readable.js +16 -0
  240. package/node_modules/safe-buffer/LICENSE +21 -0
  241. package/node_modules/safe-buffer/README.md +584 -0
  242. package/node_modules/safe-buffer/index.d.ts +187 -0
  243. package/node_modules/safe-buffer/index.js +65 -0
  244. package/node_modules/safe-buffer/package.json +51 -0
  245. package/node_modules/semver/LICENSE +15 -0
  246. package/node_modules/semver/README.md +664 -0
  247. package/node_modules/semver/bin/semver.js +191 -0
  248. package/node_modules/semver/classes/comparator.js +143 -0
  249. package/node_modules/semver/classes/index.js +7 -0
  250. package/node_modules/semver/classes/range.js +556 -0
  251. package/node_modules/semver/classes/semver.js +319 -0
  252. package/node_modules/semver/functions/clean.js +8 -0
  253. package/node_modules/semver/functions/cmp.js +54 -0
  254. package/node_modules/semver/functions/coerce.js +62 -0
  255. package/node_modules/semver/functions/compare-build.js +9 -0
  256. package/node_modules/semver/functions/compare-loose.js +5 -0
  257. package/node_modules/semver/functions/compare.js +7 -0
  258. package/node_modules/semver/functions/diff.js +60 -0
  259. package/node_modules/semver/functions/eq.js +5 -0
  260. package/node_modules/semver/functions/gt.js +5 -0
  261. package/node_modules/semver/functions/gte.js +5 -0
  262. package/node_modules/semver/functions/inc.js +21 -0
  263. package/node_modules/semver/functions/lt.js +5 -0
  264. package/node_modules/semver/functions/lte.js +5 -0
  265. package/node_modules/semver/functions/major.js +5 -0
  266. package/node_modules/semver/functions/minor.js +5 -0
  267. package/node_modules/semver/functions/neq.js +5 -0
  268. package/node_modules/semver/functions/parse.js +18 -0
  269. package/node_modules/semver/functions/patch.js +5 -0
  270. package/node_modules/semver/functions/prerelease.js +8 -0
  271. package/node_modules/semver/functions/rcompare.js +5 -0
  272. package/node_modules/semver/functions/rsort.js +5 -0
  273. package/node_modules/semver/functions/satisfies.js +12 -0
  274. package/node_modules/semver/functions/sort.js +5 -0
  275. package/node_modules/semver/functions/valid.js +8 -0
  276. package/node_modules/semver/index.js +91 -0
  277. package/node_modules/semver/internal/constants.js +37 -0
  278. package/node_modules/semver/internal/debug.js +11 -0
  279. package/node_modules/semver/internal/identifiers.js +25 -0
  280. package/node_modules/semver/internal/lrucache.js +42 -0
  281. package/node_modules/semver/internal/parse-options.js +17 -0
  282. package/node_modules/semver/internal/re.js +223 -0
  283. package/node_modules/semver/package.json +78 -0
  284. package/node_modules/semver/preload.js +4 -0
  285. package/node_modules/semver/range.bnf +16 -0
  286. package/node_modules/semver/ranges/gtr.js +6 -0
  287. package/node_modules/semver/ranges/intersects.js +9 -0
  288. package/node_modules/semver/ranges/ltr.js +6 -0
  289. package/node_modules/semver/ranges/max-satisfying.js +27 -0
  290. package/node_modules/semver/ranges/min-satisfying.js +26 -0
  291. package/node_modules/semver/ranges/min-version.js +63 -0
  292. package/node_modules/semver/ranges/outside.js +82 -0
  293. package/node_modules/semver/ranges/simplify.js +49 -0
  294. package/node_modules/semver/ranges/subset.js +249 -0
  295. package/node_modules/semver/ranges/to-comparators.js +10 -0
  296. package/node_modules/semver/ranges/valid.js +13 -0
  297. package/node_modules/simple-concat/.travis.yml +3 -0
  298. package/node_modules/simple-concat/LICENSE +20 -0
  299. package/node_modules/simple-concat/README.md +44 -0
  300. package/node_modules/simple-concat/index.js +15 -0
  301. package/node_modules/simple-concat/package.json +47 -0
  302. package/node_modules/simple-concat/test/basic.js +41 -0
  303. package/node_modules/simple-get/.github/dependabot.yml +15 -0
  304. package/node_modules/simple-get/.github/workflows/ci.yml +23 -0
  305. package/node_modules/simple-get/LICENSE +20 -0
  306. package/node_modules/simple-get/README.md +333 -0
  307. package/node_modules/simple-get/index.js +108 -0
  308. package/node_modules/simple-get/package.json +67 -0
  309. package/node_modules/string_decoder/LICENSE +48 -0
  310. package/node_modules/string_decoder/README.md +47 -0
  311. package/node_modules/string_decoder/lib/string_decoder.js +296 -0
  312. package/node_modules/string_decoder/package.json +34 -0
  313. package/node_modules/strip-json-comments/index.js +70 -0
  314. package/node_modules/strip-json-comments/license +21 -0
  315. package/node_modules/strip-json-comments/package.json +42 -0
  316. package/node_modules/strip-json-comments/readme.md +64 -0
  317. package/node_modules/tar-fs/.travis.yml +6 -0
  318. package/node_modules/tar-fs/LICENSE +21 -0
  319. package/node_modules/tar-fs/README.md +165 -0
  320. package/node_modules/tar-fs/index.js +358 -0
  321. package/node_modules/tar-fs/package.json +41 -0
  322. package/node_modules/tar-fs/test/fixtures/a/hello.txt +1 -0
  323. package/node_modules/tar-fs/test/fixtures/b/a/test.txt +1 -0
  324. package/node_modules/tar-fs/test/fixtures/d/file1 +0 -0
  325. package/node_modules/tar-fs/test/fixtures/d/file2 +0 -0
  326. package/node_modules/tar-fs/test/fixtures/d/sub-dir/file5 +0 -0
  327. package/node_modules/tar-fs/test/fixtures/d/sub-files/file3 +0 -0
  328. package/node_modules/tar-fs/test/fixtures/d/sub-files/file4 +0 -0
  329. package/node_modules/tar-fs/test/fixtures/e/directory/.ignore +0 -0
  330. package/node_modules/tar-fs/test/fixtures/e/file +0 -0
  331. package/node_modules/tar-fs/test/fixtures/invalid.tar +0 -0
  332. package/node_modules/tar-fs/test/index.js +346 -0
  333. package/node_modules/tar-stream/LICENSE +21 -0
  334. package/node_modules/tar-stream/README.md +168 -0
  335. package/node_modules/tar-stream/extract.js +257 -0
  336. package/node_modules/tar-stream/headers.js +295 -0
  337. package/node_modules/tar-stream/index.js +2 -0
  338. package/node_modules/tar-stream/pack.js +255 -0
  339. package/node_modules/tar-stream/package.json +58 -0
  340. package/node_modules/tar-stream/sandbox.js +11 -0
  341. package/node_modules/tunnel-agent/LICENSE +55 -0
  342. package/node_modules/tunnel-agent/README.md +4 -0
  343. package/node_modules/tunnel-agent/index.js +244 -0
  344. package/node_modules/tunnel-agent/package.json +22 -0
  345. package/node_modules/util-deprecate/History.md +16 -0
  346. package/node_modules/util-deprecate/LICENSE +24 -0
  347. package/node_modules/util-deprecate/README.md +53 -0
  348. package/node_modules/util-deprecate/browser.js +67 -0
  349. package/node_modules/util-deprecate/node.js +6 -0
  350. package/node_modules/util-deprecate/package.json +27 -0
  351. package/node_modules/wrappy/LICENSE +15 -0
  352. package/node_modules/wrappy/README.md +36 -0
  353. package/node_modules/wrappy/package.json +29 -0
  354. package/node_modules/wrappy/wrappy.js +33 -0
  355. package/package.json +1 -1
  356. package/proto/cline/account.proto +136 -0
  357. package/proto/cline/browser.proto +56 -0
  358. package/proto/cline/checkpoints.proto +45 -0
  359. package/proto/cline/commands.proto +30 -0
  360. package/proto/cline/common.proto +99 -0
  361. package/proto/cline/dictation.proto +42 -0
  362. package/proto/cline/file.proto +189 -0
  363. package/proto/cline/hooks.proto +49 -0
  364. package/proto/cline/mcp.proto +133 -0
  365. package/proto/cline/models.proto +419 -0
  366. package/proto/cline/oca_account.proto +37 -0
  367. package/proto/cline/slash.proto +14 -0
  368. package/proto/cline/state.proto +505 -0
  369. package/proto/cline/task.proto +119 -0
  370. package/proto/cline/ui.proto +262 -0
  371. package/proto/cline/web.proto +27 -0
  372. package/proto/descriptor_set.pb +0 -0
  373. package/proto/host/diff.proto +108 -0
  374. package/proto/host/env.proto +61 -0
  375. package/proto/host/testing.proto +18 -0
  376. package/proto/host/window.proto +164 -0
  377. package/proto/host/workspace.proto +96 -0
  378. package/cline-1.0.0-nightly.5.tgz +0 -0
@@ -0,0 +1,19 @@
1
+ var test = require('tape');
2
+ var github = require('../');
3
+ var packages = {
4
+ a : require('./a.json'),
5
+ b : require('./b.json'),
6
+ c : require('./c.json'),
7
+ d : require('./d.json'),
8
+ e : require('./e.json')
9
+ };
10
+
11
+ test(function (t) {
12
+ t.plan(5);
13
+ var url = 'https://github.com/substack/beep-boop';
14
+ t.equal(url, github(packages.a), 'a.json comparison');
15
+ t.equal(url, github(packages.b), 'b.json comparison');
16
+ t.equal(url, github(packages.c), 'c.json comparison');
17
+ t.equal(url, github(packages.d), 'd.json comparison');
18
+ t.equal(url, github(packages.e), 'e.json comparison');
19
+ });
@@ -0,0 +1,11 @@
1
+ Copyright 2008 Fair Oaks Labs, Inc.
2
+
3
+ Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
4
+
5
+ 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
6
+
7
+ 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
8
+
9
+ 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
10
+
11
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
@@ -0,0 +1,51 @@
1
+ # ieee754 [![travis][travis-image]][travis-url] [![npm][npm-image]][npm-url] [![downloads][downloads-image]][downloads-url] [![javascript style guide][standard-image]][standard-url]
2
+
3
+ [travis-image]: https://img.shields.io/travis/feross/ieee754/master.svg
4
+ [travis-url]: https://travis-ci.org/feross/ieee754
5
+ [npm-image]: https://img.shields.io/npm/v/ieee754.svg
6
+ [npm-url]: https://npmjs.org/package/ieee754
7
+ [downloads-image]: https://img.shields.io/npm/dm/ieee754.svg
8
+ [downloads-url]: https://npmjs.org/package/ieee754
9
+ [standard-image]: https://img.shields.io/badge/code_style-standard-brightgreen.svg
10
+ [standard-url]: https://standardjs.com
11
+
12
+ [![saucelabs][saucelabs-image]][saucelabs-url]
13
+
14
+ [saucelabs-image]: https://saucelabs.com/browser-matrix/ieee754.svg
15
+ [saucelabs-url]: https://saucelabs.com/u/ieee754
16
+
17
+ ### Read/write IEEE754 floating point numbers from/to a Buffer or array-like object.
18
+
19
+ ## install
20
+
21
+ ```
22
+ npm install ieee754
23
+ ```
24
+
25
+ ## methods
26
+
27
+ `var ieee754 = require('ieee754')`
28
+
29
+ The `ieee754` object has the following functions:
30
+
31
+ ```
32
+ ieee754.read = function (buffer, offset, isLE, mLen, nBytes)
33
+ ieee754.write = function (buffer, value, offset, isLE, mLen, nBytes)
34
+ ```
35
+
36
+ The arguments mean the following:
37
+
38
+ - buffer = the buffer
39
+ - offset = offset into the buffer
40
+ - value = value to set (only for `write`)
41
+ - isLe = is little endian?
42
+ - mLen = mantissa length
43
+ - nBytes = number of bytes
44
+
45
+ ## what is ieee754?
46
+
47
+ The IEEE Standard for Floating-Point Arithmetic (IEEE 754) is a technical standard for floating-point computation. [Read more](http://en.wikipedia.org/wiki/IEEE_floating_point).
48
+
49
+ ## license
50
+
51
+ BSD 3 Clause. Copyright (c) 2008, Fair Oaks Labs, Inc.
@@ -0,0 +1,10 @@
1
+ declare namespace ieee754 {
2
+ export function read(
3
+ buffer: Uint8Array, offset: number, isLE: boolean, mLen: number,
4
+ nBytes: number): number;
5
+ export function write(
6
+ buffer: Uint8Array, value: number, offset: number, isLE: boolean,
7
+ mLen: number, nBytes: number): void;
8
+ }
9
+
10
+ export = ieee754;
@@ -0,0 +1,85 @@
1
+ /*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */
2
+ exports.read = function (buffer, offset, isLE, mLen, nBytes) {
3
+ var e, m
4
+ var eLen = (nBytes * 8) - mLen - 1
5
+ var eMax = (1 << eLen) - 1
6
+ var eBias = eMax >> 1
7
+ var nBits = -7
8
+ var i = isLE ? (nBytes - 1) : 0
9
+ var d = isLE ? -1 : 1
10
+ var s = buffer[offset + i]
11
+
12
+ i += d
13
+
14
+ e = s & ((1 << (-nBits)) - 1)
15
+ s >>= (-nBits)
16
+ nBits += eLen
17
+ for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}
18
+
19
+ m = e & ((1 << (-nBits)) - 1)
20
+ e >>= (-nBits)
21
+ nBits += mLen
22
+ for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}
23
+
24
+ if (e === 0) {
25
+ e = 1 - eBias
26
+ } else if (e === eMax) {
27
+ return m ? NaN : ((s ? -1 : 1) * Infinity)
28
+ } else {
29
+ m = m + Math.pow(2, mLen)
30
+ e = e - eBias
31
+ }
32
+ return (s ? -1 : 1) * m * Math.pow(2, e - mLen)
33
+ }
34
+
35
+ exports.write = function (buffer, value, offset, isLE, mLen, nBytes) {
36
+ var e, m, c
37
+ var eLen = (nBytes * 8) - mLen - 1
38
+ var eMax = (1 << eLen) - 1
39
+ var eBias = eMax >> 1
40
+ var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)
41
+ var i = isLE ? 0 : (nBytes - 1)
42
+ var d = isLE ? 1 : -1
43
+ var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0
44
+
45
+ value = Math.abs(value)
46
+
47
+ if (isNaN(value) || value === Infinity) {
48
+ m = isNaN(value) ? 1 : 0
49
+ e = eMax
50
+ } else {
51
+ e = Math.floor(Math.log(value) / Math.LN2)
52
+ if (value * (c = Math.pow(2, -e)) < 1) {
53
+ e--
54
+ c *= 2
55
+ }
56
+ if (e + eBias >= 1) {
57
+ value += rt / c
58
+ } else {
59
+ value += rt * Math.pow(2, 1 - eBias)
60
+ }
61
+ if (value * c >= 2) {
62
+ e++
63
+ c /= 2
64
+ }
65
+
66
+ if (e + eBias >= eMax) {
67
+ m = 0
68
+ e = eMax
69
+ } else if (e + eBias >= 1) {
70
+ m = ((value * c) - 1) * Math.pow(2, mLen)
71
+ e = e + eBias
72
+ } else {
73
+ m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)
74
+ e = 0
75
+ }
76
+ }
77
+
78
+ for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}
79
+
80
+ e = (e << mLen) | m
81
+ eLen += mLen
82
+ for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}
83
+
84
+ buffer[offset + i - d] |= s * 128
85
+ }
@@ -0,0 +1,52 @@
1
+ {
2
+ "name": "ieee754",
3
+ "description": "Read/write IEEE754 floating point numbers from/to a Buffer or array-like object",
4
+ "version": "1.2.1",
5
+ "author": {
6
+ "name": "Feross Aboukhadijeh",
7
+ "email": "feross@feross.org",
8
+ "url": "https://feross.org"
9
+ },
10
+ "contributors": [
11
+ "Romain Beauxis <toots@rastageeks.org>"
12
+ ],
13
+ "devDependencies": {
14
+ "airtap": "^3.0.0",
15
+ "standard": "*",
16
+ "tape": "^5.0.1"
17
+ },
18
+ "keywords": [
19
+ "IEEE 754",
20
+ "buffer",
21
+ "convert",
22
+ "floating point",
23
+ "ieee754"
24
+ ],
25
+ "license": "BSD-3-Clause",
26
+ "main": "index.js",
27
+ "types": "index.d.ts",
28
+ "repository": {
29
+ "type": "git",
30
+ "url": "git://github.com/feross/ieee754.git"
31
+ },
32
+ "scripts": {
33
+ "test": "standard && npm run test-node && npm run test-browser",
34
+ "test-browser": "airtap -- test/*.js",
35
+ "test-browser-local": "airtap --local -- test/*.js",
36
+ "test-node": "tape test/*.js"
37
+ },
38
+ "funding": [
39
+ {
40
+ "type": "github",
41
+ "url": "https://github.com/sponsors/feross"
42
+ },
43
+ {
44
+ "type": "patreon",
45
+ "url": "https://www.patreon.com/feross"
46
+ },
47
+ {
48
+ "type": "consulting",
49
+ "url": "https://feross.org/support"
50
+ }
51
+ ]
52
+ }
@@ -0,0 +1,16 @@
1
+ The ISC License
2
+
3
+ Copyright (c) Isaac Z. Schlueter
4
+
5
+ Permission to use, copy, modify, and/or distribute this software for any
6
+ purpose with or without fee is hereby granted, provided that the above
7
+ copyright notice and this permission notice appear in all copies.
8
+
9
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
10
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
11
+ FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
12
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
13
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
14
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
15
+ PERFORMANCE OF THIS SOFTWARE.
16
+
@@ -0,0 +1,42 @@
1
+ Browser-friendly inheritance fully compatible with standard node.js
2
+ [inherits](http://nodejs.org/api/util.html#util_util_inherits_constructor_superconstructor).
3
+
4
+ This package exports standard `inherits` from node.js `util` module in
5
+ node environment, but also provides alternative browser-friendly
6
+ implementation through [browser
7
+ field](https://gist.github.com/shtylman/4339901). Alternative
8
+ implementation is a literal copy of standard one located in standalone
9
+ module to avoid requiring of `util`. It also has a shim for old
10
+ browsers with no `Object.create` support.
11
+
12
+ While keeping you sure you are using standard `inherits`
13
+ implementation in node.js environment, it allows bundlers such as
14
+ [browserify](https://github.com/substack/node-browserify) to not
15
+ include full `util` package to your client code if all you need is
16
+ just `inherits` function. It worth, because browser shim for `util`
17
+ package is large and `inherits` is often the single function you need
18
+ from it.
19
+
20
+ It's recommended to use this package instead of
21
+ `require('util').inherits` for any code that has chances to be used
22
+ not only in node.js but in browser too.
23
+
24
+ ## usage
25
+
26
+ ```js
27
+ var inherits = require('inherits');
28
+ // then use exactly as the standard one
29
+ ```
30
+
31
+ ## note on version ~1.0
32
+
33
+ Version ~1.0 had completely different motivation and is not compatible
34
+ neither with 2.0 nor with standard node.js `inherits`.
35
+
36
+ If you are using version ~1.0 and planning to switch to ~2.0, be
37
+ careful:
38
+
39
+ * new version uses `super_` instead of `super` for referencing
40
+ superclass
41
+ * new version overwrites current prototype while old one preserves any
42
+ existing fields on it
@@ -0,0 +1,9 @@
1
+ try {
2
+ var util = require('util');
3
+ /* istanbul ignore next */
4
+ if (typeof util.inherits !== 'function') throw '';
5
+ module.exports = util.inherits;
6
+ } catch (e) {
7
+ /* istanbul ignore next */
8
+ module.exports = require('./inherits_browser.js');
9
+ }
@@ -0,0 +1,27 @@
1
+ if (typeof Object.create === 'function') {
2
+ // implementation from standard node.js 'util' module
3
+ module.exports = function inherits(ctor, superCtor) {
4
+ if (superCtor) {
5
+ ctor.super_ = superCtor
6
+ ctor.prototype = Object.create(superCtor.prototype, {
7
+ constructor: {
8
+ value: ctor,
9
+ enumerable: false,
10
+ writable: true,
11
+ configurable: true
12
+ }
13
+ })
14
+ }
15
+ };
16
+ } else {
17
+ // old school shim for old browsers
18
+ module.exports = function inherits(ctor, superCtor) {
19
+ if (superCtor) {
20
+ ctor.super_ = superCtor
21
+ var TempCtor = function () {}
22
+ TempCtor.prototype = superCtor.prototype
23
+ ctor.prototype = new TempCtor()
24
+ ctor.prototype.constructor = ctor
25
+ }
26
+ }
27
+ }
@@ -0,0 +1,29 @@
1
+ {
2
+ "name": "inherits",
3
+ "description": "Browser-friendly inheritance fully compatible with standard node.js inherits()",
4
+ "version": "2.0.4",
5
+ "keywords": [
6
+ "inheritance",
7
+ "class",
8
+ "klass",
9
+ "oop",
10
+ "object-oriented",
11
+ "inherits",
12
+ "browser",
13
+ "browserify"
14
+ ],
15
+ "main": "./inherits.js",
16
+ "browser": "./inherits_browser.js",
17
+ "repository": "git://github.com/isaacs/inherits",
18
+ "license": "ISC",
19
+ "scripts": {
20
+ "test": "tap"
21
+ },
22
+ "devDependencies": {
23
+ "tap": "^14.2.4"
24
+ },
25
+ "files": [
26
+ "inherits.js",
27
+ "inherits_browser.js"
28
+ ]
29
+ }
@@ -0,0 +1,15 @@
1
+ The ISC License
2
+
3
+ Copyright (c) Isaac Z. Schlueter and Contributors
4
+
5
+ Permission to use, copy, modify, and/or distribute this software for any
6
+ purpose with or without fee is hereby granted, provided that the above
7
+ copyright notice and this permission notice appear in all copies.
8
+
9
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10
+ WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11
+ MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12
+ ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13
+ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14
+ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
15
+ IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
@@ -0,0 +1,102 @@
1
+ An ini format parser and serializer for node.
2
+
3
+ Sections are treated as nested objects. Items before the first
4
+ heading are saved on the object directly.
5
+
6
+ ## Usage
7
+
8
+ Consider an ini-file `config.ini` that looks like this:
9
+
10
+ ; this comment is being ignored
11
+ scope = global
12
+
13
+ [database]
14
+ user = dbuser
15
+ password = dbpassword
16
+ database = use_this_database
17
+
18
+ [paths.default]
19
+ datadir = /var/lib/data
20
+ array[] = first value
21
+ array[] = second value
22
+ array[] = third value
23
+
24
+ You can read, manipulate and write the ini-file like so:
25
+
26
+ var fs = require('fs')
27
+ , ini = require('ini')
28
+
29
+ var config = ini.parse(fs.readFileSync('./config.ini', 'utf-8'))
30
+
31
+ config.scope = 'local'
32
+ config.database.database = 'use_another_database'
33
+ config.paths.default.tmpdir = '/tmp'
34
+ delete config.paths.default.datadir
35
+ config.paths.default.array.push('fourth value')
36
+
37
+ fs.writeFileSync('./config_modified.ini', ini.stringify(config, { section: 'section' }))
38
+
39
+ This will result in a file called `config_modified.ini` being written
40
+ to the filesystem with the following content:
41
+
42
+ [section]
43
+ scope=local
44
+ [section.database]
45
+ user=dbuser
46
+ password=dbpassword
47
+ database=use_another_database
48
+ [section.paths.default]
49
+ tmpdir=/tmp
50
+ array[]=first value
51
+ array[]=second value
52
+ array[]=third value
53
+ array[]=fourth value
54
+
55
+
56
+ ## API
57
+
58
+ ### decode(inistring)
59
+
60
+ Decode the ini-style formatted `inistring` into a nested object.
61
+
62
+ ### parse(inistring)
63
+
64
+ Alias for `decode(inistring)`
65
+
66
+ ### encode(object, [options])
67
+
68
+ Encode the object `object` into an ini-style formatted string. If the
69
+ optional parameter `section` is given, then all top-level properties
70
+ of the object are put into this section and the `section`-string is
71
+ prepended to all sub-sections, see the usage example above.
72
+
73
+ The `options` object may contain the following:
74
+
75
+ * `section` A string which will be the first `section` in the encoded
76
+ ini data. Defaults to none.
77
+ * `whitespace` Boolean to specify whether to put whitespace around the
78
+ `=` character. By default, whitespace is omitted, to be friendly to
79
+ some persnickety old parsers that don't tolerate it well. But some
80
+ find that it's more human-readable and pretty with the whitespace.
81
+
82
+ For backwards compatibility reasons, if a `string` options is passed
83
+ in, then it is assumed to be the `section` value.
84
+
85
+ ### stringify(object, [options])
86
+
87
+ Alias for `encode(object, [options])`
88
+
89
+ ### safe(val)
90
+
91
+ Escapes the string `val` such that it is safe to be used as a key or
92
+ value in an ini-file. Basically escapes quotes. For example
93
+
94
+ ini.safe('"unsafe string"')
95
+
96
+ would result in
97
+
98
+ "\"unsafe string\""
99
+
100
+ ### unsafe(val)
101
+
102
+ Unescapes the string `val`
@@ -0,0 +1,206 @@
1
+ exports.parse = exports.decode = decode
2
+
3
+ exports.stringify = exports.encode = encode
4
+
5
+ exports.safe = safe
6
+ exports.unsafe = unsafe
7
+
8
+ var eol = typeof process !== 'undefined' &&
9
+ process.platform === 'win32' ? '\r\n' : '\n'
10
+
11
+ function encode (obj, opt) {
12
+ var children = []
13
+ var out = ''
14
+
15
+ if (typeof opt === 'string') {
16
+ opt = {
17
+ section: opt,
18
+ whitespace: false,
19
+ }
20
+ } else {
21
+ opt = opt || {}
22
+ opt.whitespace = opt.whitespace === true
23
+ }
24
+
25
+ var separator = opt.whitespace ? ' = ' : '='
26
+
27
+ Object.keys(obj).forEach(function (k, _, __) {
28
+ var val = obj[k]
29
+ if (val && Array.isArray(val)) {
30
+ val.forEach(function (item) {
31
+ out += safe(k + '[]') + separator + safe(item) + '\n'
32
+ })
33
+ } else if (val && typeof val === 'object')
34
+ children.push(k)
35
+ else
36
+ out += safe(k) + separator + safe(val) + eol
37
+ })
38
+
39
+ if (opt.section && out.length)
40
+ out = '[' + safe(opt.section) + ']' + eol + out
41
+
42
+ children.forEach(function (k, _, __) {
43
+ var nk = dotSplit(k).join('\\.')
44
+ var section = (opt.section ? opt.section + '.' : '') + nk
45
+ var child = encode(obj[k], {
46
+ section: section,
47
+ whitespace: opt.whitespace,
48
+ })
49
+ if (out.length && child.length)
50
+ out += eol
51
+
52
+ out += child
53
+ })
54
+
55
+ return out
56
+ }
57
+
58
+ function dotSplit (str) {
59
+ return str.replace(/\1/g, '\u0002LITERAL\\1LITERAL\u0002')
60
+ .replace(/\\\./g, '\u0001')
61
+ .split(/\./).map(function (part) {
62
+ return part.replace(/\1/g, '\\.')
63
+ .replace(/\2LITERAL\\1LITERAL\2/g, '\u0001')
64
+ })
65
+ }
66
+
67
+ function decode (str) {
68
+ var out = {}
69
+ var p = out
70
+ var section = null
71
+ // section |key = value
72
+ var re = /^\[([^\]]*)\]$|^([^=]+)(=(.*))?$/i
73
+ var lines = str.split(/[\r\n]+/g)
74
+
75
+ lines.forEach(function (line, _, __) {
76
+ if (!line || line.match(/^\s*[;#]/))
77
+ return
78
+ var match = line.match(re)
79
+ if (!match)
80
+ return
81
+ if (match[1] !== undefined) {
82
+ section = unsafe(match[1])
83
+ if (section === '__proto__') {
84
+ // not allowed
85
+ // keep parsing the section, but don't attach it.
86
+ p = {}
87
+ return
88
+ }
89
+ p = out[section] = out[section] || {}
90
+ return
91
+ }
92
+ var key = unsafe(match[2])
93
+ if (key === '__proto__')
94
+ return
95
+ var value = match[3] ? unsafe(match[4]) : true
96
+ switch (value) {
97
+ case 'true':
98
+ case 'false':
99
+ case 'null': value = JSON.parse(value)
100
+ }
101
+
102
+ // Convert keys with '[]' suffix to an array
103
+ if (key.length > 2 && key.slice(-2) === '[]') {
104
+ key = key.substring(0, key.length - 2)
105
+ if (key === '__proto__')
106
+ return
107
+ if (!p[key])
108
+ p[key] = []
109
+ else if (!Array.isArray(p[key]))
110
+ p[key] = [p[key]]
111
+ }
112
+
113
+ // safeguard against resetting a previously defined
114
+ // array by accidentally forgetting the brackets
115
+ if (Array.isArray(p[key]))
116
+ p[key].push(value)
117
+ else
118
+ p[key] = value
119
+ })
120
+
121
+ // {a:{y:1},"a.b":{x:2}} --> {a:{y:1,b:{x:2}}}
122
+ // use a filter to return the keys that have to be deleted.
123
+ Object.keys(out).filter(function (k, _, __) {
124
+ if (!out[k] ||
125
+ typeof out[k] !== 'object' ||
126
+ Array.isArray(out[k]))
127
+ return false
128
+
129
+ // see if the parent section is also an object.
130
+ // if so, add it to that, and mark this one for deletion
131
+ var parts = dotSplit(k)
132
+ var p = out
133
+ var l = parts.pop()
134
+ var nl = l.replace(/\\\./g, '.')
135
+ parts.forEach(function (part, _, __) {
136
+ if (part === '__proto__')
137
+ return
138
+ if (!p[part] || typeof p[part] !== 'object')
139
+ p[part] = {}
140
+ p = p[part]
141
+ })
142
+ if (p === out && nl === l)
143
+ return false
144
+
145
+ p[nl] = out[k]
146
+ return true
147
+ }).forEach(function (del, _, __) {
148
+ delete out[del]
149
+ })
150
+
151
+ return out
152
+ }
153
+
154
+ function isQuoted (val) {
155
+ return (val.charAt(0) === '"' && val.slice(-1) === '"') ||
156
+ (val.charAt(0) === "'" && val.slice(-1) === "'")
157
+ }
158
+
159
+ function safe (val) {
160
+ return (typeof val !== 'string' ||
161
+ val.match(/[=\r\n]/) ||
162
+ val.match(/^\[/) ||
163
+ (val.length > 1 &&
164
+ isQuoted(val)) ||
165
+ val !== val.trim())
166
+ ? JSON.stringify(val)
167
+ : val.replace(/;/g, '\\;').replace(/#/g, '\\#')
168
+ }
169
+
170
+ function unsafe (val, doUnesc) {
171
+ val = (val || '').trim()
172
+ if (isQuoted(val)) {
173
+ // remove the single quotes before calling JSON.parse
174
+ if (val.charAt(0) === "'")
175
+ val = val.substr(1, val.length - 2)
176
+
177
+ try {
178
+ val = JSON.parse(val)
179
+ } catch (_) {}
180
+ } else {
181
+ // walk the val to find the first not-escaped ; character
182
+ var esc = false
183
+ var unesc = ''
184
+ for (var i = 0, l = val.length; i < l; i++) {
185
+ var c = val.charAt(i)
186
+ if (esc) {
187
+ if ('\\;#'.indexOf(c) !== -1)
188
+ unesc += c
189
+ else
190
+ unesc += '\\' + c
191
+
192
+ esc = false
193
+ } else if (';#'.indexOf(c) !== -1)
194
+ break
195
+ else if (c === '\\')
196
+ esc = true
197
+ else
198
+ unesc += c
199
+ }
200
+ if (esc)
201
+ unesc += '\\'
202
+
203
+ return unesc.trim()
204
+ }
205
+ return val
206
+ }