@nocobase/plugin-ai 2.2.18 → 2.2.20

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 (146) hide show
  1. package/dist/ai/tools/knowledge-base-retrieve.js +13 -2
  2. package/dist/ai/tools/subAgentWebSearch.js +10 -6
  3. package/dist/client/index.js +1 -1
  4. package/dist/client-v2/index.js +1 -1
  5. package/dist/externalVersion.js +16 -16
  6. package/dist/node_modules/@langchain/mistralai/dist/index.cjs +2 -2
  7. package/dist/node_modules/@langchain/mistralai/package.json +1 -1
  8. package/dist/node_modules/@langchain/xai/dist/index.cjs +2 -2
  9. package/dist/node_modules/@langchain/xai/package.json +1 -1
  10. package/dist/node_modules/fs-extra/package.json +1 -1
  11. package/dist/node_modules/jsonrepair/package.json +1 -1
  12. package/dist/node_modules/just-bash/dist/bundle/index.cjs +239 -239
  13. package/dist/node_modules/just-bash/node_modules/sprintf-js/dist/.gitattributes +4 -0
  14. package/dist/node_modules/just-bash/node_modules/sprintf-js/dist/angular-sprintf.min.js +3 -0
  15. package/dist/node_modules/just-bash/node_modules/sprintf-js/dist/sprintf.min.js +3 -0
  16. package/dist/node_modules/just-bash/node_modules/sprintf-js/package.json +35 -0
  17. package/dist/node_modules/just-bash/node_modules/sprintf-js/src/angular-sprintf.js +24 -0
  18. package/dist/node_modules/just-bash/node_modules/sprintf-js/src/sprintf.js +231 -0
  19. package/dist/node_modules/just-bash/package.json +1 -1
  20. package/dist/node_modules/nodejs-snowflake/package.json +1 -1
  21. package/dist/node_modules/openai/package.json +1 -1
  22. package/dist/node_modules/zod/package.json +1 -1
  23. package/dist/server/ai-employees/ai-employee.d.ts +15 -1
  24. package/dist/server/ai-employees/ai-employee.js +125 -47
  25. package/dist/server/ai-employees/ai-knowledge-base.d.ts +7 -1
  26. package/dist/server/ai-employees/ai-knowledge-base.js +30 -7
  27. package/dist/server/features/knowledge-base.d.ts +2 -1
  28. package/dist/server/index.d.ts +1 -1
  29. package/dist/server/index.js +2 -0
  30. package/dist/server/llm-providers/anthropic.js +4 -0
  31. package/dist/server/llm-providers/dashscope.js +2 -1
  32. package/dist/server/llm-providers/deepseek/provider.d.ts +2 -1
  33. package/dist/server/llm-providers/deepseek/provider.js +16 -6
  34. package/dist/server/llm-providers/deepseek/reasoning.d.ts +36 -1
  35. package/dist/server/llm-providers/deepseek/reasoning.js +41 -4
  36. package/dist/server/llm-providers/google-genai.js +4 -2
  37. package/dist/server/llm-providers/kimi/provider.js +2 -1
  38. package/dist/server/llm-providers/mimo.js +2 -1
  39. package/dist/server/llm-providers/mistral.d.ts +1 -0
  40. package/dist/server/llm-providers/mistral.js +17 -1
  41. package/dist/server/llm-providers/ollama.js +3 -1
  42. package/dist/server/llm-providers/openai/completions.js +2 -1
  43. package/dist/server/llm-providers/openai/responses.js +2 -1
  44. package/dist/server/llm-providers/orcarouter.js +2 -2
  45. package/dist/server/llm-providers/provider.d.ts +10 -0
  46. package/dist/server/llm-providers/provider.js +34 -1
  47. package/dist/server/llm-providers/shengsuanyun.js +5 -1
  48. package/dist/server/llm-providers/xai.js +6 -1
  49. package/dist/server/manager/ai-manager.d.ts +2 -2
  50. package/dist/server/manager/ai-manager.js +3 -2
  51. package/dist/server/resource/ai.js +4 -0
  52. package/dist/server/types/knowledge-base.type.d.ts +6 -0
  53. package/dist/server/workflow/nodes/llm/index.d.ts +2 -2
  54. package/dist/server/workflow/nodes/llm/index.js +10 -3
  55. package/package.json +2 -2
  56. package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/bin/uuid +0 -2
  57. package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/commonjs-browser/index.js +0 -104
  58. package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/commonjs-browser/max.js +0 -7
  59. package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/commonjs-browser/md5.js +0 -200
  60. package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/commonjs-browser/native.js +0 -10
  61. package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/commonjs-browser/nil.js +0 -7
  62. package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/commonjs-browser/parse.js +0 -44
  63. package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/commonjs-browser/regex.js +0 -7
  64. package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/commonjs-browser/rng.js +0 -23
  65. package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/commonjs-browser/sha1.js +0 -82
  66. package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/commonjs-browser/stringify.js +0 -38
  67. package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/commonjs-browser/v1.js +0 -131
  68. package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/commonjs-browser/v1ToV6.js +0 -26
  69. package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/commonjs-browser/v3.js +0 -11
  70. package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/commonjs-browser/v35.js +0 -63
  71. package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/commonjs-browser/v4.js +0 -32
  72. package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/commonjs-browser/v5.js +0 -11
  73. package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/commonjs-browser/v6.js +0 -42
  74. package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/commonjs-browser/v6ToV1.js +0 -26
  75. package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/commonjs-browser/v7.js +0 -152
  76. package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/commonjs-browser/validate.js +0 -12
  77. package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/commonjs-browser/version.js +0 -15
  78. package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/esm-browser/index.js +0 -14
  79. package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/esm-browser/max.js +0 -1
  80. package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/esm-browser/md5.js +0 -194
  81. package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/esm-browser/native.js +0 -4
  82. package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/esm-browser/nil.js +0 -1
  83. package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/esm-browser/parse.js +0 -37
  84. package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/esm-browser/regex.js +0 -1
  85. package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/esm-browser/rng.js +0 -17
  86. package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/esm-browser/sha1.js +0 -76
  87. package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/esm-browser/stringify.js +0 -31
  88. package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/esm-browser/v1.js +0 -125
  89. package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/esm-browser/v1ToV6.js +0 -20
  90. package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/esm-browser/v3.js +0 -4
  91. package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/esm-browser/v35.js +0 -55
  92. package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/esm-browser/v4.js +0 -25
  93. package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/esm-browser/v5.js +0 -4
  94. package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/esm-browser/v6.js +0 -36
  95. package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/esm-browser/v6ToV1.js +0 -20
  96. package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/esm-browser/v7.js +0 -146
  97. package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/esm-browser/validate.js +0 -5
  98. package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/esm-browser/version.js +0 -8
  99. package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/esm-node/index.js +0 -14
  100. package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/esm-node/max.js +0 -1
  101. package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/esm-node/md5.js +0 -10
  102. package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/esm-node/native.js +0 -4
  103. package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/esm-node/nil.js +0 -1
  104. package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/esm-node/parse.js +0 -37
  105. package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/esm-node/regex.js +0 -1
  106. package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/esm-node/rng.js +0 -10
  107. package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/esm-node/sha1.js +0 -10
  108. package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/esm-node/stringify.js +0 -31
  109. package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/esm-node/v1.js +0 -125
  110. package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/esm-node/v1ToV6.js +0 -20
  111. package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/esm-node/v3.js +0 -4
  112. package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/esm-node/v35.js +0 -55
  113. package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/esm-node/v4.js +0 -25
  114. package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/esm-node/v5.js +0 -4
  115. package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/esm-node/v6.js +0 -32
  116. package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/esm-node/v6ToV1.js +0 -20
  117. package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/esm-node/v7.js +0 -146
  118. package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/esm-node/validate.js +0 -5
  119. package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/esm-node/version.js +0 -8
  120. package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/index.js +0 -104
  121. package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/max.js +0 -7
  122. package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/md5-browser.js +0 -200
  123. package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/md5.js +0 -17
  124. package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/native-browser.js +0 -10
  125. package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/native.js +0 -11
  126. package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/nil.js +0 -7
  127. package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/parse.js +0 -44
  128. package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/regex.js +0 -7
  129. package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/rng-browser.js +0 -23
  130. package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/rng.js +0 -17
  131. package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/sha1-browser.js +0 -82
  132. package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/sha1.js +0 -17
  133. package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/stringify.js +0 -38
  134. package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/uuid-bin.js +0 -75
  135. package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/v1.js +0 -131
  136. package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/v1ToV6.js +0 -26
  137. package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/v3.js +0 -11
  138. package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/v35.js +0 -63
  139. package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/v4.js +0 -32
  140. package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/v5.js +0 -11
  141. package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/v6.js +0 -38
  142. package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/v6ToV1.js +0 -26
  143. package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/v7.js +0 -152
  144. package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/validate.js +0 -12
  145. package/dist/node_modules/@langchain/mistralai/node_modules/uuid/dist/version.js +0 -15
  146. package/dist/node_modules/@langchain/mistralai/node_modules/uuid/package.json +0 -142
@@ -1 +1 @@
1
- {"name":"@langchain/xai","version":"1.3.19","description":"xAI integration for LangChain.js","author":"LangChain","license":"MIT","type":"module","engines":{"node":">=20"},"repository":{"type":"git","url":"git@github.com:langchain-ai/langchainjs.git"},"homepage":"https://github.com/langchain-ai/langchainjs/tree/main/libs/providers/langchain-xai/","dependencies":{"@langchain/openai":"1.4.7"},"peerDependencies":{"@langchain/core":"^1.0.0"},"devDependencies":{"@tsconfig/recommended":"^1.0.3","@vitest/coverage-v8":"^3.2.4","dotenv":"^17.4.0","dpdm":"^3.14.0","typescript":"~5.8.3","vitest":"^4.1.2","zod":"^3.25.76","@langchain/openai":"^1.4.7","@langchain/core":"^1.1.48","@langchain/standard-tests":"0.0.23","@langchain/tsconfig":"0.0.1"},"publishConfig":{"access":"public"},"main":"./dist/index.cjs","types":"./dist/index.d.cts","exports":{".":{"input":"./src/index.ts","require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"},"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"./package.json":"./package.json"},"files":["dist/","CHANGELOG.md","README.md","LICENSE"],"module":"./dist/index.js","scripts":{"build":"turbo build:compile --filter @langchain/xai --output-logs new-only","build:compile":"tsdown","clean":"rm -rf .turbo dist/","test":"vitest run","test:watch":"vitest --watch","test:int":"vitest --mode int","test:standard:unit":"vitest --mode standard-unit","test:standard:int":"vitest --mode standard-int","test:standard":"pnpm test:standard:unit && pnpm test:standard:int","typegen":"pnpm run typegen:profiles","typegen:profiles":"pnpm --filter @langchain/model-profiles make --config profiles.toml"},"_lastModified":"2026-09-25T14:54:03.175Z"}
1
+ {"name":"@langchain/xai","version":"1.3.19","description":"xAI integration for LangChain.js","author":"LangChain","license":"MIT","type":"module","engines":{"node":">=20"},"repository":{"type":"git","url":"git@github.com:langchain-ai/langchainjs.git"},"homepage":"https://github.com/langchain-ai/langchainjs/tree/main/libs/providers/langchain-xai/","dependencies":{"@langchain/openai":"1.4.7"},"peerDependencies":{"@langchain/core":"^1.0.0"},"devDependencies":{"@tsconfig/recommended":"^1.0.3","@vitest/coverage-v8":"^3.2.4","dotenv":"^17.4.0","dpdm":"^3.14.0","typescript":"~5.8.3","vitest":"^4.1.2","zod":"^3.25.76","@langchain/openai":"^1.4.7","@langchain/core":"^1.1.48","@langchain/standard-tests":"0.0.23","@langchain/tsconfig":"0.0.1"},"publishConfig":{"access":"public"},"main":"./dist/index.cjs","types":"./dist/index.d.cts","exports":{".":{"input":"./src/index.ts","require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"},"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"./package.json":"./package.json"},"files":["dist/","CHANGELOG.md","README.md","LICENSE"],"module":"./dist/index.js","scripts":{"build":"turbo build:compile --filter @langchain/xai --output-logs new-only","build:compile":"tsdown","clean":"rm -rf .turbo dist/","test":"vitest run","test:watch":"vitest --watch","test:int":"vitest --mode int","test:standard:unit":"vitest --mode standard-unit","test:standard:int":"vitest --mode standard-int","test:standard":"pnpm test:standard:unit && pnpm test:standard:int","typegen":"pnpm run typegen:profiles","typegen:profiles":"pnpm --filter @langchain/model-profiles make --config profiles.toml"},"_lastModified":"2026-09-30T14:03:46.205Z"}
@@ -1 +1 @@
1
- {"name":"fs-extra","version":"9.1.0","description":"fs-extra contains methods that aren't included in the vanilla Node.js fs package. Such as recursive mkdir, copy, and remove.","engines":{"node":">=10"},"homepage":"https://github.com/jprichardson/node-fs-extra","repository":{"type":"git","url":"https://github.com/jprichardson/node-fs-extra"},"keywords":["fs","file","file system","copy","directory","extra","mkdirp","mkdir","mkdirs","recursive","json","read","write","extra","delete","remove","touch","create","text","output","move","promise"],"author":"JP Richardson <jprichardson@gmail.com>","license":"MIT","dependencies":{"at-least-node":"^1.0.0","graceful-fs":"^4.2.0","jsonfile":"^6.0.1","universalify":"^2.0.0"},"devDependencies":{"coveralls":"^3.0.0","klaw":"^2.1.1","klaw-sync":"^3.0.2","minimist":"^1.1.1","mocha":"^5.0.5","nyc":"^15.0.0","proxyquire":"^2.0.1","read-dir-files":"^0.1.1","standard":"^14.1.0"},"main":"./lib/index.js","files":["lib/","!lib/**/__tests__/"],"scripts":{"full-ci":"npm run lint && npm run coverage","coverage":"nyc -r lcovonly npm run unit","coveralls":"coveralls < coverage/lcov.info","lint":"standard","test-find":"find ./lib/**/__tests__ -name *.test.js | xargs mocha","test":"npm run lint && npm run unit","unit":"node test.js"},"_lastModified":"2026-09-25T14:54:03.351Z"}
1
+ {"name":"fs-extra","version":"9.1.0","description":"fs-extra contains methods that aren't included in the vanilla Node.js fs package. Such as recursive mkdir, copy, and remove.","engines":{"node":">=10"},"homepage":"https://github.com/jprichardson/node-fs-extra","repository":{"type":"git","url":"https://github.com/jprichardson/node-fs-extra"},"keywords":["fs","file","file system","copy","directory","extra","mkdirp","mkdir","mkdirs","recursive","json","read","write","extra","delete","remove","touch","create","text","output","move","promise"],"author":"JP Richardson <jprichardson@gmail.com>","license":"MIT","dependencies":{"at-least-node":"^1.0.0","graceful-fs":"^4.2.0","jsonfile":"^6.0.1","universalify":"^2.0.0"},"devDependencies":{"coveralls":"^3.0.0","klaw":"^2.1.1","klaw-sync":"^3.0.2","minimist":"^1.1.1","mocha":"^5.0.5","nyc":"^15.0.0","proxyquire":"^2.0.1","read-dir-files":"^0.1.1","standard":"^14.1.0"},"main":"./lib/index.js","files":["lib/","!lib/**/__tests__/"],"scripts":{"full-ci":"npm run lint && npm run coverage","coverage":"nyc -r lcovonly npm run unit","coveralls":"coveralls < coverage/lcov.info","lint":"standard","test-find":"find ./lib/**/__tests__ -name *.test.js | xargs mocha","test":"npm run lint && npm run unit","unit":"node test.js"},"_lastModified":"2026-09-30T14:03:46.354Z"}
@@ -1 +1 @@
1
- {"name":"jsonrepair","version":"3.13.1","description":"Repair broken JSON documents","repository":{"type":"git","url":"https://github.com/josdejong/jsonrepair.git"},"type":"module","main":"lib/cjs/index.js","module":"lib/esm/index.js","browser":"lib/umd/jsonrepair.min.js","types":"lib/types/index.d.ts","sideEffects":false,"exports":{".":{"import":"./lib/esm/index.js","require":"./lib/cjs/index.js","types":"./lib/types/index.d.ts"},"./stream":{"import":"./lib/esm/stream.js","require":"./lib/cjs/stream.js","types":"./lib/types/stream.d.ts"}},"keywords":["simple","json","repair","fix","invalid","stream","streaming"],"bin":{"jsonrepair":"./bin/cli.js"},"scripts":{"test":"vitest watch src","test:it":"vitest run src","build":"npm-run-all build:**","build:clean":"del-cli lib","build:esm":"babel src --out-dir lib/esm --extensions \".ts\" --source-maps --config-file ./babel.config.json","build:cjs":"babel src --out-dir lib/cjs --extensions \".ts\" --source-maps --config-file ./babel-cjs.config.json && cpy tools/cjs lib/cjs --flat","build:umd":"rollup lib/esm/index.js --format umd --name JSONRepair --sourcemap --output.file lib/umd/jsonrepair.js && cpy tools/cjs/package.json lib/umd --flat","build:umd:min":"uglifyjs --compress --mangle --source-map --comments --output lib/umd/jsonrepair.min.js -- lib/umd/jsonrepair.js","build:types":"tsc --project tsconfig-types.json","build:validate":"vitest run test-lib","lint":"biome check","format":"biome check --write","benchmark":"npm run build:esm && node tools/benchmark/run.mjs","build-and-test":"npm run lint && npm run test:it && npm run build","release":"npm-run-all release:**","release:build-and-test":"npm run build-and-test","release:version":"standard-version","release:push":"git push && git push --tag","release:publish":"npm publish","release-dry-run":"npm run build-and-test && standard-version --dry-run","prepare":"husky"},"files":["README.md","LICENSE.md","lib"],"author":"Jos de Jong","license":"ISC","devDependencies":{"@babel/cli":"7.28.3","@babel/core":"7.28.4","@babel/plugin-transform-typescript":"7.28.0","@babel/preset-env":"7.28.3","@babel/preset-typescript":"7.27.1","@biomejs/biome":"2.2.4","@commitlint/cli":"19.8.1","@commitlint/config-conventional":"19.8.1","@types/node":"24.5.2","cpy-cli":"6.0.0","del-cli":"7.0.0","husky":"9.1.7","npm-run-all":"4.1.5","rollup":"4.51.0","standard-version":"9.5.0","tinybench":"5.0.1","ts-node":"10.9.2","typescript":"5.9.2","uglify-js":"3.19.3","vitest":"3.2.4"},"_lastModified":"2026-09-25T14:54:08.411Z"}
1
+ {"name":"jsonrepair","version":"3.13.1","description":"Repair broken JSON documents","repository":{"type":"git","url":"https://github.com/josdejong/jsonrepair.git"},"type":"module","main":"lib/cjs/index.js","module":"lib/esm/index.js","browser":"lib/umd/jsonrepair.min.js","types":"lib/types/index.d.ts","sideEffects":false,"exports":{".":{"import":"./lib/esm/index.js","require":"./lib/cjs/index.js","types":"./lib/types/index.d.ts"},"./stream":{"import":"./lib/esm/stream.js","require":"./lib/cjs/stream.js","types":"./lib/types/stream.d.ts"}},"keywords":["simple","json","repair","fix","invalid","stream","streaming"],"bin":{"jsonrepair":"./bin/cli.js"},"scripts":{"test":"vitest watch src","test:it":"vitest run src","build":"npm-run-all build:**","build:clean":"del-cli lib","build:esm":"babel src --out-dir lib/esm --extensions \".ts\" --source-maps --config-file ./babel.config.json","build:cjs":"babel src --out-dir lib/cjs --extensions \".ts\" --source-maps --config-file ./babel-cjs.config.json && cpy tools/cjs lib/cjs --flat","build:umd":"rollup lib/esm/index.js --format umd --name JSONRepair --sourcemap --output.file lib/umd/jsonrepair.js && cpy tools/cjs/package.json lib/umd --flat","build:umd:min":"uglifyjs --compress --mangle --source-map --comments --output lib/umd/jsonrepair.min.js -- lib/umd/jsonrepair.js","build:types":"tsc --project tsconfig-types.json","build:validate":"vitest run test-lib","lint":"biome check","format":"biome check --write","benchmark":"npm run build:esm && node tools/benchmark/run.mjs","build-and-test":"npm run lint && npm run test:it && npm run build","release":"npm-run-all release:**","release:build-and-test":"npm run build-and-test","release:version":"standard-version","release:push":"git push && git push --tag","release:publish":"npm publish","release-dry-run":"npm run build-and-test && standard-version --dry-run","prepare":"husky"},"files":["README.md","LICENSE.md","lib"],"author":"Jos de Jong","license":"ISC","devDependencies":{"@babel/cli":"7.28.3","@babel/core":"7.28.4","@babel/plugin-transform-typescript":"7.28.0","@babel/preset-env":"7.28.3","@babel/preset-typescript":"7.27.1","@biomejs/biome":"2.2.4","@commitlint/cli":"19.8.1","@commitlint/config-conventional":"19.8.1","@types/node":"24.5.2","cpy-cli":"6.0.0","del-cli":"7.0.0","husky":"9.1.7","npm-run-all":"4.1.5","rollup":"4.51.0","standard-version":"9.5.0","tinybench":"5.0.1","ts-node":"10.9.2","typescript":"5.9.2","uglify-js":"3.19.3","vitest":"3.2.4"},"_lastModified":"2026-09-30T14:03:50.790Z"}
@@ -17129,6 +17129,244 @@ function isValidQName(s) {
17129
17129
  }
17130
17130
 
17131
17131
 
17132
+ /***/ }),
17133
+
17134
+ /***/ 7525:
17135
+ /***/ ((__unused_webpack_module, exports) => {
17136
+
17137
+ /* global window, exports, define */
17138
+
17139
+ !function() {
17140
+ 'use strict'
17141
+
17142
+ var re = {
17143
+ not_string: /[^s]/,
17144
+ not_bool: /[^t]/,
17145
+ not_type: /[^T]/,
17146
+ not_primitive: /[^v]/,
17147
+ number: /[diefg]/,
17148
+ numeric_arg: /[bcdiefguxX]/,
17149
+ json: /[j]/,
17150
+ not_json: /[^j]/,
17151
+ text: /^[^\x25]+/,
17152
+ modulo: /^\x25{2}/,
17153
+ placeholder: /^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,
17154
+ key: /^([a-z_][a-z_\d]*)/i,
17155
+ key_access: /^\.([a-z_][a-z_\d]*)/i,
17156
+ index_access: /^\[(\d+)\]/,
17157
+ sign: /^[+-]/
17158
+ }
17159
+
17160
+ function sprintf(key) {
17161
+ // `arguments` is not an array, but should be fine for this call
17162
+ return sprintf_format(sprintf_parse(key), arguments)
17163
+ }
17164
+
17165
+ function vsprintf(fmt, argv) {
17166
+ return sprintf.apply(null, [fmt].concat(argv || []))
17167
+ }
17168
+
17169
+ function sprintf_format(parse_tree, argv) {
17170
+ var cursor = 1, tree_length = parse_tree.length, arg, output = '', i, k, ph, pad, pad_character, pad_length, is_positive, sign
17171
+ for (i = 0; i < tree_length; i++) {
17172
+ if (typeof parse_tree[i] === 'string') {
17173
+ output += parse_tree[i]
17174
+ }
17175
+ else if (typeof parse_tree[i] === 'object') {
17176
+ ph = parse_tree[i] // convenience purposes only
17177
+ if (ph.keys) { // keyword argument
17178
+ arg = argv[cursor]
17179
+ for (k = 0; k < ph.keys.length; k++) {
17180
+ if (arg == undefined) {
17181
+ throw new Error(sprintf('[sprintf] Cannot access property "%s" of undefined value "%s"', ph.keys[k], ph.keys[k-1]))
17182
+ }
17183
+ arg = arg[ph.keys[k]]
17184
+ }
17185
+ }
17186
+ else if (ph.param_no) { // positional argument (explicit)
17187
+ arg = argv[ph.param_no]
17188
+ }
17189
+ else { // positional argument (implicit)
17190
+ arg = argv[cursor++]
17191
+ }
17192
+
17193
+ if (re.not_type.test(ph.type) && re.not_primitive.test(ph.type) && arg instanceof Function) {
17194
+ arg = arg()
17195
+ }
17196
+
17197
+ if (re.numeric_arg.test(ph.type) && (typeof arg !== 'number' && isNaN(arg))) {
17198
+ throw new TypeError(sprintf('[sprintf] expecting number but found %T', arg))
17199
+ }
17200
+
17201
+ if (re.number.test(ph.type)) {
17202
+ is_positive = arg >= 0
17203
+ }
17204
+
17205
+ switch (ph.type) {
17206
+ case 'b':
17207
+ arg = parseInt(arg, 10).toString(2)
17208
+ break
17209
+ case 'c':
17210
+ arg = String.fromCharCode(parseInt(arg, 10))
17211
+ break
17212
+ case 'd':
17213
+ case 'i':
17214
+ arg = parseInt(arg, 10)
17215
+ break
17216
+ case 'j':
17217
+ arg = JSON.stringify(arg, null, ph.width ? parseInt(ph.width) : 0)
17218
+ break
17219
+ case 'e':
17220
+ arg = ph.precision ? parseFloat(arg).toExponential(ph.precision) : parseFloat(arg).toExponential()
17221
+ break
17222
+ case 'f':
17223
+ arg = ph.precision ? parseFloat(arg).toFixed(ph.precision) : parseFloat(arg)
17224
+ break
17225
+ case 'g':
17226
+ arg = ph.precision ? String(Number(arg.toPrecision(ph.precision))) : parseFloat(arg)
17227
+ break
17228
+ case 'o':
17229
+ arg = (parseInt(arg, 10) >>> 0).toString(8)
17230
+ break
17231
+ case 's':
17232
+ arg = String(arg)
17233
+ arg = (ph.precision ? arg.substring(0, ph.precision) : arg)
17234
+ break
17235
+ case 't':
17236
+ arg = String(!!arg)
17237
+ arg = (ph.precision ? arg.substring(0, ph.precision) : arg)
17238
+ break
17239
+ case 'T':
17240
+ arg = Object.prototype.toString.call(arg).slice(8, -1).toLowerCase()
17241
+ arg = (ph.precision ? arg.substring(0, ph.precision) : arg)
17242
+ break
17243
+ case 'u':
17244
+ arg = parseInt(arg, 10) >>> 0
17245
+ break
17246
+ case 'v':
17247
+ arg = arg.valueOf()
17248
+ arg = (ph.precision ? arg.substring(0, ph.precision) : arg)
17249
+ break
17250
+ case 'x':
17251
+ arg = (parseInt(arg, 10) >>> 0).toString(16)
17252
+ break
17253
+ case 'X':
17254
+ arg = (parseInt(arg, 10) >>> 0).toString(16).toUpperCase()
17255
+ break
17256
+ }
17257
+ if (re.json.test(ph.type)) {
17258
+ output += arg
17259
+ }
17260
+ else {
17261
+ if (re.number.test(ph.type) && (!is_positive || ph.sign)) {
17262
+ sign = is_positive ? '+' : '-'
17263
+ arg = arg.toString().replace(re.sign, '')
17264
+ }
17265
+ else {
17266
+ sign = ''
17267
+ }
17268
+ pad_character = ph.pad_char ? ph.pad_char === '0' ? '0' : ph.pad_char.charAt(1) : ' '
17269
+ pad_length = ph.width - (sign + arg).length
17270
+ pad = ph.width ? (pad_length > 0 ? pad_character.repeat(pad_length) : '') : ''
17271
+ output += ph.align ? sign + arg + pad : (pad_character === '0' ? sign + pad + arg : pad + sign + arg)
17272
+ }
17273
+ }
17274
+ }
17275
+ return output
17276
+ }
17277
+
17278
+ var sprintf_cache = Object.create(null)
17279
+
17280
+ function sprintf_parse(fmt) {
17281
+ if (sprintf_cache[fmt]) {
17282
+ return sprintf_cache[fmt]
17283
+ }
17284
+
17285
+ var _fmt = fmt, match, parse_tree = [], arg_names = 0
17286
+ while (_fmt) {
17287
+ if ((match = re.text.exec(_fmt)) !== null) {
17288
+ parse_tree.push(match[0])
17289
+ }
17290
+ else if ((match = re.modulo.exec(_fmt)) !== null) {
17291
+ parse_tree.push('%')
17292
+ }
17293
+ else if ((match = re.placeholder.exec(_fmt)) !== null) {
17294
+ if (match[2]) {
17295
+ arg_names |= 1
17296
+ var field_list = [], replacement_field = match[2], field_match = []
17297
+ if ((field_match = re.key.exec(replacement_field)) !== null) {
17298
+ field_list.push(field_match[1])
17299
+ while ((replacement_field = replacement_field.substring(field_match[0].length)) !== '') {
17300
+ if ((field_match = re.key_access.exec(replacement_field)) !== null) {
17301
+ field_list.push(field_match[1])
17302
+ }
17303
+ else if ((field_match = re.index_access.exec(replacement_field)) !== null) {
17304
+ field_list.push(field_match[1])
17305
+ }
17306
+ else {
17307
+ throw new SyntaxError('[sprintf] failed to parse named argument key')
17308
+ }
17309
+ }
17310
+ }
17311
+ else {
17312
+ throw new SyntaxError('[sprintf] failed to parse named argument key')
17313
+ }
17314
+ match[2] = field_list
17315
+ }
17316
+ else {
17317
+ arg_names |= 2
17318
+ }
17319
+ if (arg_names === 3) {
17320
+ throw new Error('[sprintf] mixing positional and named placeholders is not (yet) supported')
17321
+ }
17322
+
17323
+ parse_tree.push(
17324
+ {
17325
+ placeholder: match[0],
17326
+ param_no: match[1],
17327
+ keys: match[2],
17328
+ sign: match[3],
17329
+ pad_char: match[4],
17330
+ align: match[5],
17331
+ width: match[6],
17332
+ precision: match[7],
17333
+ type: match[8]
17334
+ }
17335
+ )
17336
+ }
17337
+ else {
17338
+ throw new SyntaxError('[sprintf] unexpected placeholder')
17339
+ }
17340
+ _fmt = _fmt.substring(match[0].length)
17341
+ }
17342
+ return sprintf_cache[fmt] = parse_tree
17343
+ }
17344
+
17345
+ /**
17346
+ * export to either browser or node.js
17347
+ */
17348
+ /* eslint-disable quote-props */
17349
+ if (true) {
17350
+ exports.sprintf = sprintf
17351
+ exports.vsprintf = vsprintf
17352
+ }
17353
+ if (typeof window !== 'undefined') {
17354
+ window['sprintf'] = sprintf
17355
+ window['vsprintf'] = vsprintf
17356
+
17357
+ if (typeof define === 'function' && define['amd']) {
17358
+ define(function() {
17359
+ return {
17360
+ 'sprintf': sprintf,
17361
+ 'vsprintf': vsprintf
17362
+ }
17363
+ })
17364
+ }
17365
+ }
17366
+ /* eslint-enable quote-props */
17367
+ }(); // eslint-disable-line
17368
+
17369
+
17132
17370
  /***/ }),
17133
17371
 
17134
17372
  /***/ 8982:
@@ -18002,244 +18240,6 @@ Stream.prototype.flush = function() {
18002
18240
  module.exports = Stream;
18003
18241
 
18004
18242
 
18005
- /***/ }),
18006
-
18007
- /***/ 3988:
18008
- /***/ ((__unused_webpack_module, exports) => {
18009
-
18010
- /* global window, exports, define */
18011
-
18012
- !function() {
18013
- 'use strict'
18014
-
18015
- var re = {
18016
- not_string: /[^s]/,
18017
- not_bool: /[^t]/,
18018
- not_type: /[^T]/,
18019
- not_primitive: /[^v]/,
18020
- number: /[diefg]/,
18021
- numeric_arg: /[bcdiefguxX]/,
18022
- json: /[j]/,
18023
- not_json: /[^j]/,
18024
- text: /^[^\x25]+/,
18025
- modulo: /^\x25{2}/,
18026
- placeholder: /^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,
18027
- key: /^([a-z_][a-z_\d]*)/i,
18028
- key_access: /^\.([a-z_][a-z_\d]*)/i,
18029
- index_access: /^\[(\d+)\]/,
18030
- sign: /^[+-]/
18031
- }
18032
-
18033
- function sprintf(key) {
18034
- // `arguments` is not an array, but should be fine for this call
18035
- return sprintf_format(sprintf_parse(key), arguments)
18036
- }
18037
-
18038
- function vsprintf(fmt, argv) {
18039
- return sprintf.apply(null, [fmt].concat(argv || []))
18040
- }
18041
-
18042
- function sprintf_format(parse_tree, argv) {
18043
- var cursor = 1, tree_length = parse_tree.length, arg, output = '', i, k, ph, pad, pad_character, pad_length, is_positive, sign
18044
- for (i = 0; i < tree_length; i++) {
18045
- if (typeof parse_tree[i] === 'string') {
18046
- output += parse_tree[i]
18047
- }
18048
- else if (typeof parse_tree[i] === 'object') {
18049
- ph = parse_tree[i] // convenience purposes only
18050
- if (ph.keys) { // keyword argument
18051
- arg = argv[cursor]
18052
- for (k = 0; k < ph.keys.length; k++) {
18053
- if (arg == undefined) {
18054
- throw new Error(sprintf('[sprintf] Cannot access property "%s" of undefined value "%s"', ph.keys[k], ph.keys[k-1]))
18055
- }
18056
- arg = arg[ph.keys[k]]
18057
- }
18058
- }
18059
- else if (ph.param_no) { // positional argument (explicit)
18060
- arg = argv[ph.param_no]
18061
- }
18062
- else { // positional argument (implicit)
18063
- arg = argv[cursor++]
18064
- }
18065
-
18066
- if (re.not_type.test(ph.type) && re.not_primitive.test(ph.type) && arg instanceof Function) {
18067
- arg = arg()
18068
- }
18069
-
18070
- if (re.numeric_arg.test(ph.type) && (typeof arg !== 'number' && isNaN(arg))) {
18071
- throw new TypeError(sprintf('[sprintf] expecting number but found %T', arg))
18072
- }
18073
-
18074
- if (re.number.test(ph.type)) {
18075
- is_positive = arg >= 0
18076
- }
18077
-
18078
- switch (ph.type) {
18079
- case 'b':
18080
- arg = parseInt(arg, 10).toString(2)
18081
- break
18082
- case 'c':
18083
- arg = String.fromCharCode(parseInt(arg, 10))
18084
- break
18085
- case 'd':
18086
- case 'i':
18087
- arg = parseInt(arg, 10)
18088
- break
18089
- case 'j':
18090
- arg = JSON.stringify(arg, null, ph.width ? parseInt(ph.width) : 0)
18091
- break
18092
- case 'e':
18093
- arg = ph.precision ? parseFloat(arg).toExponential(ph.precision) : parseFloat(arg).toExponential()
18094
- break
18095
- case 'f':
18096
- arg = ph.precision ? parseFloat(arg).toFixed(ph.precision) : parseFloat(arg)
18097
- break
18098
- case 'g':
18099
- arg = ph.precision ? String(Number(arg.toPrecision(ph.precision))) : parseFloat(arg)
18100
- break
18101
- case 'o':
18102
- arg = (parseInt(arg, 10) >>> 0).toString(8)
18103
- break
18104
- case 's':
18105
- arg = String(arg)
18106
- arg = (ph.precision ? arg.substring(0, ph.precision) : arg)
18107
- break
18108
- case 't':
18109
- arg = String(!!arg)
18110
- arg = (ph.precision ? arg.substring(0, ph.precision) : arg)
18111
- break
18112
- case 'T':
18113
- arg = Object.prototype.toString.call(arg).slice(8, -1).toLowerCase()
18114
- arg = (ph.precision ? arg.substring(0, ph.precision) : arg)
18115
- break
18116
- case 'u':
18117
- arg = parseInt(arg, 10) >>> 0
18118
- break
18119
- case 'v':
18120
- arg = arg.valueOf()
18121
- arg = (ph.precision ? arg.substring(0, ph.precision) : arg)
18122
- break
18123
- case 'x':
18124
- arg = (parseInt(arg, 10) >>> 0).toString(16)
18125
- break
18126
- case 'X':
18127
- arg = (parseInt(arg, 10) >>> 0).toString(16).toUpperCase()
18128
- break
18129
- }
18130
- if (re.json.test(ph.type)) {
18131
- output += arg
18132
- }
18133
- else {
18134
- if (re.number.test(ph.type) && (!is_positive || ph.sign)) {
18135
- sign = is_positive ? '+' : '-'
18136
- arg = arg.toString().replace(re.sign, '')
18137
- }
18138
- else {
18139
- sign = ''
18140
- }
18141
- pad_character = ph.pad_char ? ph.pad_char === '0' ? '0' : ph.pad_char.charAt(1) : ' '
18142
- pad_length = ph.width - (sign + arg).length
18143
- pad = ph.width ? (pad_length > 0 ? pad_character.repeat(pad_length) : '') : ''
18144
- output += ph.align ? sign + arg + pad : (pad_character === '0' ? sign + pad + arg : pad + sign + arg)
18145
- }
18146
- }
18147
- }
18148
- return output
18149
- }
18150
-
18151
- var sprintf_cache = Object.create(null)
18152
-
18153
- function sprintf_parse(fmt) {
18154
- if (sprintf_cache[fmt]) {
18155
- return sprintf_cache[fmt]
18156
- }
18157
-
18158
- var _fmt = fmt, match, parse_tree = [], arg_names = 0
18159
- while (_fmt) {
18160
- if ((match = re.text.exec(_fmt)) !== null) {
18161
- parse_tree.push(match[0])
18162
- }
18163
- else if ((match = re.modulo.exec(_fmt)) !== null) {
18164
- parse_tree.push('%')
18165
- }
18166
- else if ((match = re.placeholder.exec(_fmt)) !== null) {
18167
- if (match[2]) {
18168
- arg_names |= 1
18169
- var field_list = [], replacement_field = match[2], field_match = []
18170
- if ((field_match = re.key.exec(replacement_field)) !== null) {
18171
- field_list.push(field_match[1])
18172
- while ((replacement_field = replacement_field.substring(field_match[0].length)) !== '') {
18173
- if ((field_match = re.key_access.exec(replacement_field)) !== null) {
18174
- field_list.push(field_match[1])
18175
- }
18176
- else if ((field_match = re.index_access.exec(replacement_field)) !== null) {
18177
- field_list.push(field_match[1])
18178
- }
18179
- else {
18180
- throw new SyntaxError('[sprintf] failed to parse named argument key')
18181
- }
18182
- }
18183
- }
18184
- else {
18185
- throw new SyntaxError('[sprintf] failed to parse named argument key')
18186
- }
18187
- match[2] = field_list
18188
- }
18189
- else {
18190
- arg_names |= 2
18191
- }
18192
- if (arg_names === 3) {
18193
- throw new Error('[sprintf] mixing positional and named placeholders is not (yet) supported')
18194
- }
18195
-
18196
- parse_tree.push(
18197
- {
18198
- placeholder: match[0],
18199
- param_no: match[1],
18200
- keys: match[2],
18201
- sign: match[3],
18202
- pad_char: match[4],
18203
- align: match[5],
18204
- width: match[6],
18205
- precision: match[7],
18206
- type: match[8]
18207
- }
18208
- )
18209
- }
18210
- else {
18211
- throw new SyntaxError('[sprintf] unexpected placeholder')
18212
- }
18213
- _fmt = _fmt.substring(match[0].length)
18214
- }
18215
- return sprintf_cache[fmt] = parse_tree
18216
- }
18217
-
18218
- /**
18219
- * export to either browser or node.js
18220
- */
18221
- /* eslint-disable quote-props */
18222
- if (true) {
18223
- exports.sprintf = sprintf
18224
- exports.vsprintf = vsprintf
18225
- }
18226
- if (typeof window !== 'undefined') {
18227
- window['sprintf'] = sprintf
18228
- window['vsprintf'] = vsprintf
18229
-
18230
- if (typeof define === 'function' && define['amd']) {
18231
- define(function() {
18232
- return {
18233
- 'sprintf': sprintf,
18234
- 'vsprintf': vsprintf
18235
- }
18236
- })
18237
- }
18238
- }
18239
- /* eslint-enable quote-props */
18240
- }(); // eslint-disable-line
18241
-
18242
-
18243
18243
  /***/ }),
18244
18244
 
18245
18245
  /***/ 4552:
@@ -24415,7 +24415,7 @@ Notes:
24415
24415
  `}}}}function Ite(t,e){let r=t.match(/^%[-+0 #' ]*(\d*)(?:\.(\d*))?/);if(!r)return;let n=r[1]?Number(r[1]):0,s=r[2]!==void 0?Number(r[2]):-1;ii(n,e,"width"),s!==-1&&ii(s,e,"precision")}function Ag(t){Mi=!1;let e=t.trimStart(),r=e!==e.trimEnd();if(t=e.trimEnd(),t.startsWith("'")&&t.length>=2||t.startsWith('"')&&t.length>=2)return t.charCodeAt(1);if(t.startsWith("\\'")&&t.length>=3||t.startsWith('\\"')&&t.length>=3)return t.charCodeAt(2);if(t.startsWith("+")&&(t=t.slice(1)),t.startsWith("0x")||t.startsWith("0X")){let n=parseInt(t,16);return Number.isNaN(n)?(Mi=!0,0):(r&&(Mi=!0),n)}if(t.startsWith("0")&&t.length>1&&/^-?0[0-7]+$/.test(t))return r&&(Mi=!0),parseInt(t,8)||0;if(/^\d+#/.test(t)){Mi=!0;let n=t.match(/^(\d+)#/);return n?parseInt(n[1],10):0}if(t!==""&&!/^-?\d+$/.test(t)){Mi=!0;let n=parseInt(t,10);return Number.isNaN(n)?0:n}return r&&(Mi=!0),parseInt(t,10)||0}function O3(t,e){let r=t.match(/^%([- +#0']*)(\d*)(\.(\d*))?[diu]$/);if(!r)return(0,Zl.sprintf)(t.replace(/\.\d*/,""),e);let n=r[1]||"",s=r[2]?parseInt(r[2],10):0,i=r[3]!==void 0?r[4]?parseInt(r[4],10):0:-1,o=e<0,a=Math.abs(e),l=String(a);i>=0&&(l=l.padStart(i,"0"));let c="";o?c="-":n.includes("+")?c="+":n.includes(" ")&&(c=" ");let u=c+l;return s>u.length&&(n.includes("-")?u=u.padEnd(s," "):n.includes("0")&&i<0?u=c+l.padStart(s-c.length,"0"):u=u.padStart(s," ")),u}function bte(t,e){let r=t.match(/^%([- +#0']*)(\d*)(\.(\d*))?o$/);if(!r)return(0,Zl.sprintf)(t,e);let n=r[1]||"",s=r[2]?parseInt(r[2],10):0,i=r[3]!==void 0?r[4]?parseInt(r[4],10):0:-1,o=Math.abs(e).toString(8);i>=0&&(o=o.padStart(i,"0")),n.includes("#")&&!o.startsWith("0")&&(o=`0${o}`);let a=o;return s>a.length&&(n.includes("-")?a=a.padEnd(s," "):n.includes("0")&&i<0?a=a.padStart(s,"0"):a=a.padStart(s," ")),a}function Bte(t,e){let r=t.includes("X"),n=t.match(/^%([- +#0']*)(\d*)(\.(\d*))?[xX]$/);if(!n)return(0,Zl.sprintf)(t,e);let s=n[1]||"",i=n[2]?parseInt(n[2],10):0,o=n[3]!==void 0?n[4]?parseInt(n[4],10):0:-1,a=Math.abs(e).toString(16);r&&(a=a.toUpperCase()),o>=0&&(a=a.padStart(o,"0"));let l="";s.includes("#")&&e!==0&&(l=r?"0X":"0x");let c=l+a;return i>c.length&&(s.includes("-")?c=c.padEnd(i," "):s.includes("0")&&o<0?c=l+a.padStart(i-l.length,"0"):c=c.padStart(i," ")),c}function Ste(t,e){if(t===""){if(e<2)throw new B(`printf: output size limit exceeded (${e} bytes)`,"string_length");return"''"}if(/^[a-zA-Z0-9_./-]+$/.test(t)){if(W(t)>e)throw new B(`printf: output size limit exceeded (${e} bytes)`,"string_length");return t}let r=/[\x00-\x1f\x7f-\xff]/.test(t),n=r?3:0;for(let i of t){let o=i.charCodeAt(0);if(r?i==="'"||i==="\\"||i===`
24416
24416
  `||i===" "||i==="\r"||i==="\x07"||i==="\b"||i==="\f"||i==="\v"||i==="\x1B"||i==='"'?n+=2:o<32||o>=127&&o<=255?n+=4:n+=W(i):n+=W(i)+(" |&;<>()$`\\\"'*?[#~=%!{}".includes(i)?1:0),n>e)throw new B(`printf: output size limit exceeded (${e} bytes)`,"string_length")}if(r){let i="$'";for(let o of t){let a=o.charCodeAt(0);o==="'"?i+="\\'":o==="\\"?i+="\\\\":o===`
24417
24417
  `?i+="\\n":o===" "?i+="\\t":o==="\r"?i+="\\r":o==="\x07"?i+="\\a":o==="\b"?i+="\\b":o==="\f"?i+="\\f":o==="\v"?i+="\\v":o==="\x1B"?i+="\\E":a<32||a>=127&&a<=255?i+=`\\${a.toString(8).padStart(3,"0")}`:o==='"'?i+='\\"':i+=o}return i+="'",i}let s="";for(let i of t)" |&;<>()$`\\\"'*?[#~=%!{}".includes(i)?s+=`\\${i}`:s+=i;return s}function xte(t,e,r){let n=t.match(/^%(-?)(\d*)(\.(\d*))?s$/);if(!n)return(0,Zl.sprintf)(t.replace(/0+(?=\d)/,""),e);let s=n[1]==="-",i=n[2]?parseInt(n[2],10):0,o=n[3]!==void 0?n[4]?parseInt(n[4],10):0:-1,a=s?-i:i;return Pu(e,a,o,r)}function Qte(t,e,r){let n=Ste(e,r),s=t.match(/^%(-?)(\d*)q$/);if(!s)return n;let i=s[1]==="-",o=s[2]?parseInt(s[2],10):0;return Pu(n,i?-o:o,-1,r)}function Nte(t,e,r){let n=t.match(/^%([- +#0']*)(\d*)(\.(\d*))?[eEfFgG]$/);if(!n)return(0,Zl.sprintf)(t,r);let s=n[1]||"",i=n[2]?parseInt(n[2],10):0,o=n[3]!==void 0?n[4]?parseInt(n[4],10):0:6,a,l=e.toLowerCase();if(l==="e"?(a=r.toExponential(o),a=a.replace(/e([+-])(\d)$/,"e$10$2"),e==="E"&&(a=a.toUpperCase())):l==="f"?(a=r.toFixed(o),s.includes("#")&&o===0&&!a.includes(".")&&(a+=".")):l==="g"?(a=r.toPrecision(o||1),s.includes("#")||(a=a.replace(/\.?0+$/,""),a=a.replace(/\.?0+e/,"e")),a=a.replace(/e([+-])(\d)$/,"e$10$2"),e==="G"&&(a=a.toUpperCase())):a=r.toString(),r>=0&&(s.includes("+")?a=`+${a}`:s.includes(" ")&&(a=` ${a}`)),i>a.length)if(s.includes("-"))a=a.padEnd(i," ");else if(s.includes("0")){let c=a.match(/^[+ -]/)?.[0]||"",u=c?a.slice(1):a;a=c+u.padStart(i-c.length,"0")}else a=a.padStart(i," ");return a}function kte(t,e){if(W(t)>e)throw new B(`printf: output size limit exceeded (${e} bytes)`,"string_length");let r="",n=0;for(;n<t.length;)if(t[n]==="\\"&&n+1<t.length)switch(t[n+1]){case"n":r+=`
24418
- `,n+=2;break;case"t":r+=" ",n+=2;break;case"r":r+="\r",n+=2;break;case"\\":r+="\\",n+=2;break;case"a":r+="\x07",n+=2;break;case"b":r+="\b",n+=2;break;case"f":r+="\f",n+=2;break;case"v":r+="\v",n+=2;break;case"c":return{value:r,stopped:!0};case"x":{let i=[],o=n;for(;o+1<t.length&&t[o]==="\\"&&t[o+1]==="x";){let a="",l=o+2;for(;l<t.length&&l<o+4&&/[0-9a-fA-F]/.test(t[l]);)a+=t[l],l++;if(a)i.push(parseInt(a,16)),o=l;else break}i.length>0?(r+=mte(i),n=o):(r+="\\x",n+=2);break}case"u":{let i="",o=n+2;for(;o<t.length&&o<n+6&&/[0-9a-fA-F]/.test(t[o]);)i+=t[o],o++;i?(r+=String.fromCodePoint(parseInt(i,16)),n=o):(r+="\\u",n+=2);break}case"0":{let i="",o=n+2;for(;o<t.length&&o<n+5&&/[0-7]/.test(t[o]);)i+=t[o],o++;i?r+=String.fromCharCode(parseInt(i,8)):r+="\0",n=o;break}case"1":case"2":case"3":case"4":case"5":case"6":case"7":{let i="",o=n+1;for(;o<t.length&&o<n+4&&/[0-7]/.test(t[o]);)i+=t[o],o++;r+=String.fromCharCode(parseInt(i,8)),n=o;break}default:r+=t[n],n++}else r+=t[n],n++;return{value:r,stopped:!1}}var Zl,yte,Ete,Mi,jC,JC=M(()=>{"use strict";Zl=__nccwpck_require__(3988);K();Rn();Ie();mr();YC();yte={name:"printf",summary:"format and print data",usage:"printf [-v var] FORMAT [ARGUMENT...]",options:[" -v var assign the output to shell variable VAR rather than display it"," --help display this help and exit"],notes:["FORMAT controls the output like in C printf.","Escape sequences: \\n (newline), \\t (tab), \\\\ (backslash)","Format specifiers: %s (string), %d (integer), %f (float), %x (hex), %o (octal), %% (literal %)","Width and precision: %10s (width 10), %.2f (2 decimal places), %010d (zero-padded)","Flags: %- (left-justify), %+ (show sign), %0 (zero-pad)"]},Ete={name:"printf",async execute(t,e){if(Z(t))return j(yte);if(t.length===0)return{stdout:"",stderr:`printf: usage: printf format [arguments]
24418
+ `,n+=2;break;case"t":r+=" ",n+=2;break;case"r":r+="\r",n+=2;break;case"\\":r+="\\",n+=2;break;case"a":r+="\x07",n+=2;break;case"b":r+="\b",n+=2;break;case"f":r+="\f",n+=2;break;case"v":r+="\v",n+=2;break;case"c":return{value:r,stopped:!0};case"x":{let i=[],o=n;for(;o+1<t.length&&t[o]==="\\"&&t[o+1]==="x";){let a="",l=o+2;for(;l<t.length&&l<o+4&&/[0-9a-fA-F]/.test(t[l]);)a+=t[l],l++;if(a)i.push(parseInt(a,16)),o=l;else break}i.length>0?(r+=mte(i),n=o):(r+="\\x",n+=2);break}case"u":{let i="",o=n+2;for(;o<t.length&&o<n+6&&/[0-9a-fA-F]/.test(t[o]);)i+=t[o],o++;i?(r+=String.fromCodePoint(parseInt(i,16)),n=o):(r+="\\u",n+=2);break}case"0":{let i="",o=n+2;for(;o<t.length&&o<n+5&&/[0-7]/.test(t[o]);)i+=t[o],o++;i?r+=String.fromCharCode(parseInt(i,8)):r+="\0",n=o;break}case"1":case"2":case"3":case"4":case"5":case"6":case"7":{let i="",o=n+1;for(;o<t.length&&o<n+4&&/[0-7]/.test(t[o]);)i+=t[o],o++;r+=String.fromCharCode(parseInt(i,8)),n=o;break}default:r+=t[n],n++}else r+=t[n],n++;return{value:r,stopped:!1}}var Zl,yte,Ete,Mi,jC,JC=M(()=>{"use strict";Zl=__nccwpck_require__(7525);K();Rn();Ie();mr();YC();yte={name:"printf",summary:"format and print data",usage:"printf [-v var] FORMAT [ARGUMENT...]",options:[" -v var assign the output to shell variable VAR rather than display it"," --help display this help and exit"],notes:["FORMAT controls the output like in C printf.","Escape sequences: \\n (newline), \\t (tab), \\\\ (backslash)","Format specifiers: %s (string), %d (integer), %f (float), %x (hex), %o (octal), %% (literal %)","Width and precision: %10s (width 10), %.2f (2 decimal places), %010d (zero-padded)","Flags: %- (left-justify), %+ (show sign), %0 (zero-pad)"]},Ete={name:"printf",async execute(t,e){if(Z(t))return j(yte);if(t.length===0)return{stdout:"",stderr:`printf: usage: printf format [arguments]
24419
24419
  `,exitCode:2,internalStdinConsumed:0};let r=null,n=0;for(;n<t.length;){let o=t[n];if(o==="--"){n++;break}if(o==="-v"){if(n+1>=t.length)return{stdout:"",stderr:`printf: -v: option requires an argument
24420
24420
  `,exitCode:1,internalStdinConsumed:0};if(r=t[n+1],!/^[a-zA-Z_][a-zA-Z0-9_]*(?:\[[^\]\n]+\])?$/.test(r)||/[;\r\\]/.test(r)||r.includes(".."))return{stdout:"",stderr:`printf: \`${r}': not a valid identifier
24421
24421
  `,exitCode:2,internalStdinConsumed:0};n+=2}else{if(o.startsWith("-")&&o!=="-")break;break}}if(n>=t.length)return{stdout:"",stderr:`printf: usage: printf format [arguments]
@@ -0,0 +1,4 @@
1
+ #ignore all generated files from diff
2
+ #also skip line ending check
3
+ *.js -diff -text
4
+ *.map -diff -text
@@ -0,0 +1,3 @@
1
+ /*! sprintf-js v1.1.3 | Copyright (c) 2007-present, Alexandru Mărășteanu <hello@alexei.ro> | BSD-3-Clause */
2
+ !function(){"use strict";angular.module("sprintf",[]).filter("sprintf",function(){return function(){return sprintf.apply(null,arguments)}}).filter("fmt",["$filter",function(t){return t("sprintf")}]).filter("vsprintf",function(){return function(t,n){return vsprintf(t,n)}}).filter("vfmt",["$filter",function(t){return t("vsprintf")}])}();
3
+ //# sourceMappingURL=angular-sprintf.min.js.map
@@ -0,0 +1,3 @@
1
+ /*! sprintf-js v1.1.3 | Copyright (c) 2007-present, Alexandru Mărășteanu <hello@alexei.ro> | BSD-3-Clause */
2
+ !function(){"use strict";var g={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\x25]+/,modulo:/^\x25{2}/,placeholder:/^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\d]*)/i,key_access:/^\.([a-z_][a-z_\d]*)/i,index_access:/^\[(\d+)\]/,sign:/^[+-]/};function y(e){return function(e,t){var r,n,i,s,a,o,p,c,l,u=1,f=e.length,d="";for(n=0;n<f;n++)if("string"==typeof e[n])d+=e[n];else if("object"==typeof e[n]){if((s=e[n]).keys)for(r=t[u],i=0;i<s.keys.length;i++){if(null==r)throw new Error(y('[sprintf] Cannot access property "%s" of undefined value "%s"',s.keys[i],s.keys[i-1]));r=r[s.keys[i]]}else r=s.param_no?t[s.param_no]:t[u++];if(g.not_type.test(s.type)&&g.not_primitive.test(s.type)&&r instanceof Function&&(r=r()),g.numeric_arg.test(s.type)&&"number"!=typeof r&&isNaN(r))throw new TypeError(y("[sprintf] expecting number but found %T",r));switch(g.number.test(s.type)&&(c=0<=r),s.type){case"b":r=parseInt(r,10).toString(2);break;case"c":r=String.fromCharCode(parseInt(r,10));break;case"d":case"i":r=parseInt(r,10);break;case"j":r=JSON.stringify(r,null,s.width?parseInt(s.width):0);break;case"e":r=s.precision?parseFloat(r).toExponential(s.precision):parseFloat(r).toExponential();break;case"f":r=s.precision?parseFloat(r).toFixed(s.precision):parseFloat(r);break;case"g":r=s.precision?String(Number(r.toPrecision(s.precision))):parseFloat(r);break;case"o":r=(parseInt(r,10)>>>0).toString(8);break;case"s":r=String(r),r=s.precision?r.substring(0,s.precision):r;break;case"t":r=String(!!r),r=s.precision?r.substring(0,s.precision):r;break;case"T":r=Object.prototype.toString.call(r).slice(8,-1).toLowerCase(),r=s.precision?r.substring(0,s.precision):r;break;case"u":r=parseInt(r,10)>>>0;break;case"v":r=r.valueOf(),r=s.precision?r.substring(0,s.precision):r;break;case"x":r=(parseInt(r,10)>>>0).toString(16);break;case"X":r=(parseInt(r,10)>>>0).toString(16).toUpperCase()}g.json.test(s.type)?d+=r:(!g.number.test(s.type)||c&&!s.sign?l="":(l=c?"+":"-",r=r.toString().replace(g.sign,"")),o=s.pad_char?"0"===s.pad_char?"0":s.pad_char.charAt(1):" ",p=s.width-(l+r).length,a=s.width&&0<p?o.repeat(p):"",d+=s.align?l+r+a:"0"===o?l+a+r:a+l+r)}return d}(function(e){if(p[e])return p[e];var t,r=e,n=[],i=0;for(;r;){if(null!==(t=g.text.exec(r)))n.push(t[0]);else if(null!==(t=g.modulo.exec(r)))n.push("%");else{if(null===(t=g.placeholder.exec(r)))throw new SyntaxError("[sprintf] unexpected placeholder");if(t[2]){i|=1;var s=[],a=t[2],o=[];if(null===(o=g.key.exec(a)))throw new SyntaxError("[sprintf] failed to parse named argument key");for(s.push(o[1]);""!==(a=a.substring(o[0].length));)if(null!==(o=g.key_access.exec(a)))s.push(o[1]);else{if(null===(o=g.index_access.exec(a)))throw new SyntaxError("[sprintf] failed to parse named argument key");s.push(o[1])}t[2]=s}else i|=2;if(3===i)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");n.push({placeholder:t[0],param_no:t[1],keys:t[2],sign:t[3],pad_char:t[4],align:t[5],width:t[6],precision:t[7],type:t[8]})}r=r.substring(t[0].length)}return p[e]=n}(e),arguments)}function e(e,t){return y.apply(null,[e].concat(t||[]))}var p=Object.create(null);"undefined"!=typeof exports&&(exports.sprintf=y,exports.vsprintf=e),"undefined"!=typeof window&&(window.sprintf=y,window.vsprintf=e,"function"==typeof define&&define.amd&&define(function(){return{sprintf:y,vsprintf:e}}))}();
3
+ //# sourceMappingURL=sprintf.min.js.map
@@ -0,0 +1,35 @@
1
+ {
2
+ "name": "sprintf-js",
3
+ "version": "1.1.3",
4
+ "description": "JavaScript sprintf implementation",
5
+ "author": "Alexandru Mărășteanu <hello@alexei.ro>",
6
+ "main": "src/sprintf.js",
7
+ "scripts": {
8
+ "test": "mocha test/*.js",
9
+ "pretest": "npm run lint",
10
+ "lint": "eslint .",
11
+ "lint:fix": "eslint --fix ."
12
+ },
13
+ "repository": {
14
+ "type": "git",
15
+ "url": "https://github.com/alexei/sprintf.js.git"
16
+ },
17
+ "license": "BSD-3-Clause",
18
+ "readmeFilename": "README.md",
19
+ "devDependencies": {
20
+ "benchmark": "^2.1.4",
21
+ "eslint": "^5.10.0",
22
+ "gulp": "^3.9.1",
23
+ "gulp-benchmark": "^1.1.1",
24
+ "gulp-eslint": "^5.0.0",
25
+ "gulp-header": "^2.0.5",
26
+ "gulp-mocha": "^6.0.0",
27
+ "gulp-rename": "^1.4.0",
28
+ "gulp-sourcemaps": "^2.6.4",
29
+ "gulp-uglify": "^3.0.1",
30
+ "mocha": "^5.2.0"
31
+ },
32
+ "overrides": {
33
+ "graceful-fs": "^4.2.11"
34
+ }
35
+ }
@@ -0,0 +1,24 @@
1
+ /* global angular, sprintf, vsprintf */
2
+
3
+ !function() {
4
+ 'use strict'
5
+
6
+ angular.
7
+ module('sprintf', []).
8
+ filter('sprintf', function() {
9
+ return function() {
10
+ return sprintf.apply(null, arguments)
11
+ }
12
+ }).
13
+ filter('fmt', ['$filter', function($filter) {
14
+ return $filter('sprintf')
15
+ }]).
16
+ filter('vsprintf', function() {
17
+ return function(format, argv) {
18
+ return vsprintf(format, argv)
19
+ }
20
+ }).
21
+ filter('vfmt', ['$filter', function($filter) {
22
+ return $filter('vsprintf')
23
+ }])
24
+ }(); // eslint-disable-line