@duckmind/deepquark-darwin-arm64 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (297) hide show
  1. package/.deepquark/skills/bundled/data-storytelling/SKILL.md +453 -0
  2. package/.deepquark/skills/bundled/docx/LICENSE.txt +30 -0
  3. package/.deepquark/skills/bundled/docx/SKILL.md +481 -0
  4. package/.deepquark/skills/bundled/docx/scripts/__init__.py +1 -0
  5. package/.deepquark/skills/bundled/docx/scripts/accept_changes.py +135 -0
  6. package/.deepquark/skills/bundled/docx/scripts/comment.py +318 -0
  7. package/.deepquark/skills/bundled/docx/scripts/office/helpers/__init__.py +0 -0
  8. package/.deepquark/skills/bundled/docx/scripts/office/helpers/merge_runs.py +199 -0
  9. package/.deepquark/skills/bundled/docx/scripts/office/helpers/simplify_redlines.py +197 -0
  10. package/.deepquark/skills/bundled/docx/scripts/office/pack.py +159 -0
  11. package/.deepquark/skills/bundled/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
  12. package/.deepquark/skills/bundled/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
  13. package/.deepquark/skills/bundled/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
  14. package/.deepquark/skills/bundled/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
  15. package/.deepquark/skills/bundled/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
  16. package/.deepquark/skills/bundled/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
  17. package/.deepquark/skills/bundled/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
  18. package/.deepquark/skills/bundled/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
  19. package/.deepquark/skills/bundled/docx/scripts/office/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
  20. package/.deepquark/skills/bundled/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
  21. package/.deepquark/skills/bundled/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
  22. package/.deepquark/skills/bundled/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
  23. package/.deepquark/skills/bundled/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
  24. package/.deepquark/skills/bundled/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
  25. package/.deepquark/skills/bundled/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
  26. package/.deepquark/skills/bundled/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
  27. package/.deepquark/skills/bundled/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
  28. package/.deepquark/skills/bundled/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
  29. package/.deepquark/skills/bundled/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
  30. package/.deepquark/skills/bundled/docx/scripts/office/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
  31. package/.deepquark/skills/bundled/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
  32. package/.deepquark/skills/bundled/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
  33. package/.deepquark/skills/bundled/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
  34. package/.deepquark/skills/bundled/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
  35. package/.deepquark/skills/bundled/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
  36. package/.deepquark/skills/bundled/docx/scripts/office/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
  37. package/.deepquark/skills/bundled/docx/scripts/office/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
  38. package/.deepquark/skills/bundled/docx/scripts/office/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
  39. package/.deepquark/skills/bundled/docx/scripts/office/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
  40. package/.deepquark/skills/bundled/docx/scripts/office/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
  41. package/.deepquark/skills/bundled/docx/scripts/office/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
  42. package/.deepquark/skills/bundled/docx/scripts/office/schemas/mce/mc.xsd +75 -0
  43. package/.deepquark/skills/bundled/docx/scripts/office/schemas/microsoft/wml-2010.xsd +560 -0
  44. package/.deepquark/skills/bundled/docx/scripts/office/schemas/microsoft/wml-2012.xsd +67 -0
  45. package/.deepquark/skills/bundled/docx/scripts/office/schemas/microsoft/wml-2018.xsd +14 -0
  46. package/.deepquark/skills/bundled/docx/scripts/office/schemas/microsoft/wml-cex-2018.xsd +20 -0
  47. package/.deepquark/skills/bundled/docx/scripts/office/schemas/microsoft/wml-cid-2016.xsd +13 -0
  48. package/.deepquark/skills/bundled/docx/scripts/office/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
  49. package/.deepquark/skills/bundled/docx/scripts/office/schemas/microsoft/wml-symex-2015.xsd +8 -0
  50. package/.deepquark/skills/bundled/docx/scripts/office/soffice.py +183 -0
  51. package/.deepquark/skills/bundled/docx/scripts/office/unpack.py +132 -0
  52. package/.deepquark/skills/bundled/docx/scripts/office/validate.py +111 -0
  53. package/.deepquark/skills/bundled/docx/scripts/office/validators/__init__.py +15 -0
  54. package/.deepquark/skills/bundled/docx/scripts/office/validators/base.py +847 -0
  55. package/.deepquark/skills/bundled/docx/scripts/office/validators/docx.py +446 -0
  56. package/.deepquark/skills/bundled/docx/scripts/office/validators/pptx.py +275 -0
  57. package/.deepquark/skills/bundled/docx/scripts/office/validators/redlining.py +247 -0
  58. package/.deepquark/skills/bundled/docx/scripts/templates/comments.xml +3 -0
  59. package/.deepquark/skills/bundled/docx/scripts/templates/commentsExtended.xml +3 -0
  60. package/.deepquark/skills/bundled/docx/scripts/templates/commentsExtensible.xml +3 -0
  61. package/.deepquark/skills/bundled/docx/scripts/templates/commentsIds.xml +3 -0
  62. package/.deepquark/skills/bundled/docx/scripts/templates/people.xml +3 -0
  63. package/.deepquark/skills/bundled/drawio-architect/SKILL.md +300 -0
  64. package/.deepquark/skills/bundled/drawio-architect/references/architecture-patterns.md +236 -0
  65. package/.deepquark/skills/bundled/drawio-architect/references/branding.md +180 -0
  66. package/.deepquark/skills/bundled/drawio-architect/references/cloud-icons.md +493 -0
  67. package/.deepquark/skills/bundled/drawio-architect/references/style-guide.md +268 -0
  68. package/.deepquark/skills/bundled/duckmind-deep-research/ARCHITECTURE_REVIEW.md +495 -0
  69. package/.deepquark/skills/bundled/duckmind-deep-research/AUTONOMY_VERIFICATION.md +420 -0
  70. package/.deepquark/skills/bundled/duckmind-deep-research/COMPETITIVE_ANALYSIS.md +179 -0
  71. package/.deepquark/skills/bundled/duckmind-deep-research/CONTEXT_OPTIMIZATION.md +293 -0
  72. package/.deepquark/skills/bundled/duckmind-deep-research/QUICK_START.md +167 -0
  73. package/.deepquark/skills/bundled/duckmind-deep-research/README.md +259 -0
  74. package/.deepquark/skills/bundled/duckmind-deep-research/SKILL.md +754 -0
  75. package/.deepquark/skills/bundled/duckmind-deep-research/WORD_PRECISION_AUDIT.md +476 -0
  76. package/.deepquark/skills/bundled/duckmind-deep-research/reference/methodology.md +384 -0
  77. package/.deepquark/skills/bundled/duckmind-deep-research/requirements.txt +10 -0
  78. package/.deepquark/skills/bundled/duckmind-deep-research/scripts/citation_manager.py +177 -0
  79. package/.deepquark/skills/bundled/duckmind-deep-research/scripts/md_to_html.py +330 -0
  80. package/.deepquark/skills/bundled/duckmind-deep-research/scripts/research_engine.py +578 -0
  81. package/.deepquark/skills/bundled/duckmind-deep-research/scripts/source_evaluator.py +292 -0
  82. package/.deepquark/skills/bundled/duckmind-deep-research/scripts/validate_report.py +354 -0
  83. package/.deepquark/skills/bundled/duckmind-deep-research/scripts/verify_citations.py +430 -0
  84. package/.deepquark/skills/bundled/duckmind-deep-research/scripts/verify_html.py +220 -0
  85. package/.deepquark/skills/bundled/duckmind-deep-research/templates/mckinsey_report_template.html +443 -0
  86. package/.deepquark/skills/bundled/duckmind-deep-research/templates/report_template.md +414 -0
  87. package/.deepquark/skills/bundled/duckmind-deep-research/tests/fixtures/invalid_report.md +27 -0
  88. package/.deepquark/skills/bundled/duckmind-deep-research/tests/fixtures/valid_report.md +114 -0
  89. package/.deepquark/skills/bundled/duckmind-multimodal/SKILL.md +171 -0
  90. package/.deepquark/skills/bundled/duckmind-multimodal/references/image-generation.md +131 -0
  91. package/.deepquark/skills/bundled/duckmind-multimodal/references/pdf-processing.md +120 -0
  92. package/.deepquark/skills/bundled/duckmind-transcribe/SKILL.md +70 -0
  93. package/.deepquark/skills/bundled/duckmind-transcribe/scripts/transcribe.sh +134 -0
  94. package/.deepquark/skills/bundled/excel-analysis/SKILL.md +247 -0
  95. package/.deepquark/skills/bundled/knowledge-graph/SKILL.md +385 -0
  96. package/.deepquark/skills/bundled/knowledge-graph/STANDARDS.md +461 -0
  97. package/.deepquark/skills/bundled/knowledge-graph/lib/cli.ts +588 -0
  98. package/.deepquark/skills/bundled/knowledge-graph/lib/config.ts +630 -0
  99. package/.deepquark/skills/bundled/knowledge-graph/lib/connection-profile.ts +629 -0
  100. package/.deepquark/skills/bundled/knowledge-graph/lib/container.ts +756 -0
  101. package/.deepquark/skills/bundled/knowledge-graph/lib/mcp-client.ts +1310 -0
  102. package/.deepquark/skills/bundled/knowledge-graph/lib/output-formatter.ts +997 -0
  103. package/.deepquark/skills/bundled/knowledge-graph/lib/token-metrics.ts +335 -0
  104. package/.deepquark/skills/bundled/knowledge-graph/lib/transformation-log.ts +137 -0
  105. package/.deepquark/skills/bundled/knowledge-graph/lib/wrapper-config.ts +113 -0
  106. package/.deepquark/skills/bundled/knowledge-graph/server/.env.example +129 -0
  107. package/.deepquark/skills/bundled/knowledge-graph/server/compare-embeddings.ts +175 -0
  108. package/.deepquark/skills/bundled/knowledge-graph/server/config-falkordb.yaml +108 -0
  109. package/.deepquark/skills/bundled/knowledge-graph/server/config-neo4j.yaml +111 -0
  110. package/.deepquark/skills/bundled/knowledge-graph/server/diagnose.ts +483 -0
  111. package/.deepquark/skills/bundled/knowledge-graph/server/docker-compose-falkordb-dev.yml +146 -0
  112. package/.deepquark/skills/bundled/knowledge-graph/server/docker-compose-falkordb.yml +151 -0
  113. package/.deepquark/skills/bundled/knowledge-graph/server/docker-compose-neo4j-dev-local.yml +161 -0
  114. package/.deepquark/skills/bundled/knowledge-graph/server/docker-compose-neo4j-dev.yml +161 -0
  115. package/.deepquark/skills/bundled/knowledge-graph/server/docker-compose-neo4j.yml +169 -0
  116. package/.deepquark/skills/bundled/knowledge-graph/server/docker-compose-production.yml +128 -0
  117. package/.deepquark/skills/bundled/knowledge-graph/server/docker-compose-test.yml +10 -0
  118. package/.deepquark/skills/bundled/knowledge-graph/server/docker-compose.yml +84 -0
  119. package/.deepquark/skills/bundled/knowledge-graph/server/entrypoint.sh +40 -0
  120. package/.deepquark/skills/bundled/knowledge-graph/server/install.ts +2054 -0
  121. package/.deepquark/skills/bundled/knowledge-graph/server/podman-compose-falkordb.yml +78 -0
  122. package/.deepquark/skills/bundled/knowledge-graph/server/podman-compose-neo4j.yml +88 -0
  123. package/.deepquark/skills/bundled/knowledge-graph/server/podman-compose.yml +83 -0
  124. package/.deepquark/skills/bundled/knowledge-graph/server/test-all-llms-mcp.ts +387 -0
  125. package/.deepquark/skills/bundled/knowledge-graph/server/test-embedding-models.ts +201 -0
  126. package/.deepquark/skills/bundled/knowledge-graph/server/test-embedding-providers.ts +641 -0
  127. package/.deepquark/skills/bundled/knowledge-graph/server/test-graphiti-model.ts +217 -0
  128. package/.deepquark/skills/bundled/knowledge-graph/server/test-grok-correct.ts +141 -0
  129. package/.deepquark/skills/bundled/knowledge-graph/server/test-grok-llms-mcp.ts +386 -0
  130. package/.deepquark/skills/bundled/knowledge-graph/server/test-grok-models.ts +173 -0
  131. package/.deepquark/skills/bundled/knowledge-graph/server/test-llama-extraction.ts +188 -0
  132. package/.deepquark/skills/bundled/knowledge-graph/server/test-mcp-final.ts +240 -0
  133. package/.deepquark/skills/bundled/knowledge-graph/server/test-mcp-live.ts +187 -0
  134. package/.deepquark/skills/bundled/knowledge-graph/server/test-mcp-session.ts +127 -0
  135. package/.deepquark/skills/bundled/knowledge-graph/server/test-model-combinations.ts +316 -0
  136. package/.deepquark/skills/bundled/knowledge-graph/server/test-ollama-models.ts +228 -0
  137. package/.deepquark/skills/bundled/knowledge-graph/server/test-openrouter-models.ts +460 -0
  138. package/.deepquark/skills/bundled/knowledge-graph/server/test-real-life-mcp.ts +311 -0
  139. package/.deepquark/skills/bundled/knowledge-graph/server/test-search-debug.ts +199 -0
  140. package/.deepquark/skills/bundled/knowledge-graph/tools/Install.md +104 -0
  141. package/.deepquark/skills/bundled/knowledge-graph/tools/README.md +120 -0
  142. package/.deepquark/skills/bundled/knowledge-graph/tools/knowledge-cli.ts +996 -0
  143. package/.deepquark/skills/bundled/knowledge-graph/tools/server-cli.ts +531 -0
  144. package/.deepquark/skills/bundled/knowledge-graph/workflows/BulkImport.md +514 -0
  145. package/.deepquark/skills/bundled/knowledge-graph/workflows/CaptureEpisode.md +242 -0
  146. package/.deepquark/skills/bundled/knowledge-graph/workflows/ClearGraph.md +392 -0
  147. package/.deepquark/skills/bundled/knowledge-graph/workflows/GetRecent.md +352 -0
  148. package/.deepquark/skills/bundled/knowledge-graph/workflows/GetStatus.md +373 -0
  149. package/.deepquark/skills/bundled/knowledge-graph/workflows/HealthReport.md +212 -0
  150. package/.deepquark/skills/bundled/knowledge-graph/workflows/InvestigateEntity.md +142 -0
  151. package/.deepquark/skills/bundled/knowledge-graph/workflows/OntologyManagement.md +201 -0
  152. package/.deepquark/skills/bundled/knowledge-graph/workflows/RunMaintenance.md +302 -0
  153. package/.deepquark/skills/bundled/knowledge-graph/workflows/SearchByDate.md +255 -0
  154. package/.deepquark/skills/bundled/knowledge-graph/workflows/SearchFacts.md +382 -0
  155. package/.deepquark/skills/bundled/knowledge-graph/workflows/SearchKnowledge.md +374 -0
  156. package/.deepquark/skills/bundled/knowledge-graph/workflows/StixImport.md +212 -0
  157. package/.deepquark/skills/bundled/pdf/LICENSE.txt +30 -0
  158. package/.deepquark/skills/bundled/pdf/SKILL.md +314 -0
  159. package/.deepquark/skills/bundled/pdf/forms.md +294 -0
  160. package/.deepquark/skills/bundled/pdf/reference.md +612 -0
  161. package/.deepquark/skills/bundled/pdf/scripts/check_bounding_boxes.py +65 -0
  162. package/.deepquark/skills/bundled/pdf/scripts/check_fillable_fields.py +11 -0
  163. package/.deepquark/skills/bundled/pdf/scripts/convert_pdf_to_images.py +33 -0
  164. package/.deepquark/skills/bundled/pdf/scripts/create_validation_image.py +37 -0
  165. package/.deepquark/skills/bundled/pdf/scripts/extract_form_field_info.py +122 -0
  166. package/.deepquark/skills/bundled/pdf/scripts/extract_form_structure.py +115 -0
  167. package/.deepquark/skills/bundled/pdf/scripts/fill_fillable_fields.py +98 -0
  168. package/.deepquark/skills/bundled/pdf/scripts/fill_pdf_form_with_annotations.py +107 -0
  169. package/.deepquark/skills/bundled/perplexity-search/SKILL.md +447 -0
  170. package/.deepquark/skills/bundled/perplexity-search/assets/.env.example +16 -0
  171. package/.deepquark/skills/bundled/perplexity-search/references/model_comparison.md +386 -0
  172. package/.deepquark/skills/bundled/perplexity-search/references/openrouter_setup.md +454 -0
  173. package/.deepquark/skills/bundled/perplexity-search/references/search_strategies.md +258 -0
  174. package/.deepquark/skills/bundled/perplexity-search/scripts/perplexity_search.py +277 -0
  175. package/.deepquark/skills/bundled/perplexity-search/scripts/setup_env.py +171 -0
  176. package/.deepquark/skills/bundled/pptx/LICENSE.txt +30 -0
  177. package/.deepquark/skills/bundled/pptx/SKILL.md +232 -0
  178. package/.deepquark/skills/bundled/pptx/editing.md +205 -0
  179. package/.deepquark/skills/bundled/pptx/pptxgenjs.md +420 -0
  180. package/.deepquark/skills/bundled/pptx/scripts/__init__.py +0 -0
  181. package/.deepquark/skills/bundled/pptx/scripts/add_slide.py +195 -0
  182. package/.deepquark/skills/bundled/pptx/scripts/clean.py +286 -0
  183. package/.deepquark/skills/bundled/pptx/scripts/office/helpers/__init__.py +0 -0
  184. package/.deepquark/skills/bundled/pptx/scripts/office/helpers/merge_runs.py +199 -0
  185. package/.deepquark/skills/bundled/pptx/scripts/office/helpers/simplify_redlines.py +197 -0
  186. package/.deepquark/skills/bundled/pptx/scripts/office/pack.py +159 -0
  187. package/.deepquark/skills/bundled/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
  188. package/.deepquark/skills/bundled/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
  189. package/.deepquark/skills/bundled/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
  190. package/.deepquark/skills/bundled/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
  191. package/.deepquark/skills/bundled/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
  192. package/.deepquark/skills/bundled/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
  193. package/.deepquark/skills/bundled/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
  194. package/.deepquark/skills/bundled/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
  195. package/.deepquark/skills/bundled/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
  196. package/.deepquark/skills/bundled/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
  197. package/.deepquark/skills/bundled/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
  198. package/.deepquark/skills/bundled/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
  199. package/.deepquark/skills/bundled/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
  200. package/.deepquark/skills/bundled/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
  201. package/.deepquark/skills/bundled/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
  202. package/.deepquark/skills/bundled/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
  203. package/.deepquark/skills/bundled/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
  204. package/.deepquark/skills/bundled/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
  205. package/.deepquark/skills/bundled/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
  206. package/.deepquark/skills/bundled/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
  207. package/.deepquark/skills/bundled/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
  208. package/.deepquark/skills/bundled/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
  209. package/.deepquark/skills/bundled/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
  210. package/.deepquark/skills/bundled/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
  211. package/.deepquark/skills/bundled/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
  212. package/.deepquark/skills/bundled/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
  213. package/.deepquark/skills/bundled/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
  214. package/.deepquark/skills/bundled/pptx/scripts/office/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
  215. package/.deepquark/skills/bundled/pptx/scripts/office/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
  216. package/.deepquark/skills/bundled/pptx/scripts/office/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
  217. package/.deepquark/skills/bundled/pptx/scripts/office/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
  218. package/.deepquark/skills/bundled/pptx/scripts/office/schemas/mce/mc.xsd +75 -0
  219. package/.deepquark/skills/bundled/pptx/scripts/office/schemas/microsoft/wml-2010.xsd +560 -0
  220. package/.deepquark/skills/bundled/pptx/scripts/office/schemas/microsoft/wml-2012.xsd +67 -0
  221. package/.deepquark/skills/bundled/pptx/scripts/office/schemas/microsoft/wml-2018.xsd +14 -0
  222. package/.deepquark/skills/bundled/pptx/scripts/office/schemas/microsoft/wml-cex-2018.xsd +20 -0
  223. package/.deepquark/skills/bundled/pptx/scripts/office/schemas/microsoft/wml-cid-2016.xsd +13 -0
  224. package/.deepquark/skills/bundled/pptx/scripts/office/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
  225. package/.deepquark/skills/bundled/pptx/scripts/office/schemas/microsoft/wml-symex-2015.xsd +8 -0
  226. package/.deepquark/skills/bundled/pptx/scripts/office/soffice.py +183 -0
  227. package/.deepquark/skills/bundled/pptx/scripts/office/unpack.py +132 -0
  228. package/.deepquark/skills/bundled/pptx/scripts/office/validate.py +111 -0
  229. package/.deepquark/skills/bundled/pptx/scripts/office/validators/__init__.py +15 -0
  230. package/.deepquark/skills/bundled/pptx/scripts/office/validators/base.py +847 -0
  231. package/.deepquark/skills/bundled/pptx/scripts/office/validators/docx.py +446 -0
  232. package/.deepquark/skills/bundled/pptx/scripts/office/validators/pptx.py +275 -0
  233. package/.deepquark/skills/bundled/pptx/scripts/office/validators/redlining.py +247 -0
  234. package/.deepquark/skills/bundled/pptx/scripts/thumbnail.py +289 -0
  235. package/.deepquark/skills/bundled/text-to-pdf-automation/SKILL.md +91 -0
  236. package/.deepquark/skills/bundled/web-fetch/SKILL.md +56 -0
  237. package/.deepquark/skills/bundled/web-fetch/scripts/fetch.sh +54 -0
  238. package/.deepquark/skills/bundled/xlsx/LICENSE.txt +30 -0
  239. package/.deepquark/skills/bundled/xlsx/SKILL.md +292 -0
  240. package/.deepquark/skills/bundled/xlsx/scripts/office/helpers/__init__.py +0 -0
  241. package/.deepquark/skills/bundled/xlsx/scripts/office/helpers/merge_runs.py +199 -0
  242. package/.deepquark/skills/bundled/xlsx/scripts/office/helpers/simplify_redlines.py +197 -0
  243. package/.deepquark/skills/bundled/xlsx/scripts/office/pack.py +159 -0
  244. package/.deepquark/skills/bundled/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
  245. package/.deepquark/skills/bundled/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
  246. package/.deepquark/skills/bundled/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
  247. package/.deepquark/skills/bundled/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
  248. package/.deepquark/skills/bundled/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
  249. package/.deepquark/skills/bundled/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
  250. package/.deepquark/skills/bundled/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
  251. package/.deepquark/skills/bundled/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
  252. package/.deepquark/skills/bundled/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
  253. package/.deepquark/skills/bundled/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
  254. package/.deepquark/skills/bundled/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
  255. package/.deepquark/skills/bundled/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
  256. package/.deepquark/skills/bundled/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
  257. package/.deepquark/skills/bundled/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
  258. package/.deepquark/skills/bundled/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
  259. package/.deepquark/skills/bundled/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
  260. package/.deepquark/skills/bundled/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
  261. package/.deepquark/skills/bundled/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
  262. package/.deepquark/skills/bundled/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
  263. package/.deepquark/skills/bundled/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
  264. package/.deepquark/skills/bundled/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
  265. package/.deepquark/skills/bundled/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
  266. package/.deepquark/skills/bundled/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
  267. package/.deepquark/skills/bundled/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
  268. package/.deepquark/skills/bundled/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
  269. package/.deepquark/skills/bundled/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
  270. package/.deepquark/skills/bundled/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
  271. package/.deepquark/skills/bundled/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
  272. package/.deepquark/skills/bundled/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
  273. package/.deepquark/skills/bundled/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
  274. package/.deepquark/skills/bundled/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
  275. package/.deepquark/skills/bundled/xlsx/scripts/office/schemas/mce/mc.xsd +75 -0
  276. package/.deepquark/skills/bundled/xlsx/scripts/office/schemas/microsoft/wml-2010.xsd +560 -0
  277. package/.deepquark/skills/bundled/xlsx/scripts/office/schemas/microsoft/wml-2012.xsd +67 -0
  278. package/.deepquark/skills/bundled/xlsx/scripts/office/schemas/microsoft/wml-2018.xsd +14 -0
  279. package/.deepquark/skills/bundled/xlsx/scripts/office/schemas/microsoft/wml-cex-2018.xsd +20 -0
  280. package/.deepquark/skills/bundled/xlsx/scripts/office/schemas/microsoft/wml-cid-2016.xsd +13 -0
  281. package/.deepquark/skills/bundled/xlsx/scripts/office/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
  282. package/.deepquark/skills/bundled/xlsx/scripts/office/schemas/microsoft/wml-symex-2015.xsd +8 -0
  283. package/.deepquark/skills/bundled/xlsx/scripts/office/soffice.py +183 -0
  284. package/.deepquark/skills/bundled/xlsx/scripts/office/unpack.py +132 -0
  285. package/.deepquark/skills/bundled/xlsx/scripts/office/validate.py +111 -0
  286. package/.deepquark/skills/bundled/xlsx/scripts/office/validators/__init__.py +15 -0
  287. package/.deepquark/skills/bundled/xlsx/scripts/office/validators/base.py +847 -0
  288. package/.deepquark/skills/bundled/xlsx/scripts/office/validators/docx.py +446 -0
  289. package/.deepquark/skills/bundled/xlsx/scripts/office/validators/pptx.py +275 -0
  290. package/.deepquark/skills/bundled/xlsx/scripts/office/validators/redlining.py +247 -0
  291. package/.deepquark/skills/bundled/xlsx/scripts/recalc.py +184 -0
  292. package/.deepquark/skills/bundled/youtube-downloader/SKILL.md +99 -0
  293. package/.deepquark/skills/bundled/youtube-downloader/scripts/download_video.py +145 -0
  294. package/.deepquark/skills/bundled/youtube-transcribe-skill/SKILL.md +116 -0
  295. package/LICENSE +21 -0
  296. package/bin/deepquark +0 -0
  297. package/package.json +16 -0
@@ -0,0 +1,217 @@
1
+ #!/usr/bin/env bun
2
+ /**
3
+ * Test actual Graphiti add_memory with the configured LLM model
4
+ * This tests against real Pydantic schemas, not just basic JSON
5
+ */
6
+
7
+ const MCP_URL = 'http://localhost:8000/mcp';
8
+
9
+ interface MCPRequest {
10
+ jsonrpc: '2.0';
11
+ id: number;
12
+ method: string;
13
+ params?: Record<string, any>;
14
+ }
15
+
16
+ interface MCPResponse {
17
+ jsonrpc: '2.0';
18
+ id: number;
19
+ result?: any;
20
+ error?: { code: number; message: string };
21
+ }
22
+
23
+ let globalSessionId: string | null = null;
24
+
25
+ async function makeRequest(request: MCPRequest): Promise<MCPResponse> {
26
+ const headers: Record<string, string> = {
27
+ 'Content-Type': 'application/json',
28
+ Accept: 'application/json, text/event-stream',
29
+ };
30
+
31
+ if (globalSessionId) {
32
+ // Server returns mcp-session-id, expects Mcp-Session-Id in requests
33
+ headers['Mcp-Session-Id'] = globalSessionId;
34
+ }
35
+
36
+ const res = await fetch(MCP_URL, {
37
+ method: 'POST',
38
+ headers,
39
+ body: JSON.stringify(request),
40
+ });
41
+
42
+ // Debug: print all response headers
43
+ if (!globalSessionId) {
44
+ console.log(' Response headers:');
45
+ res.headers.forEach((value, key) => {
46
+ console.log(` ${key}: ${value}`);
47
+ });
48
+ }
49
+
50
+ // Capture session ID from response headers (note: header is mcp-session-id)
51
+ const newSessionId = res.headers.get('mcp-session-id');
52
+ if (newSessionId) {
53
+ globalSessionId = newSessionId;
54
+ }
55
+
56
+ const text = await res.text();
57
+
58
+ // Parse SSE response
59
+ const lines = text.split('\n');
60
+ for (const line of lines) {
61
+ if (line.startsWith('data: ')) {
62
+ const data = line.slice(6);
63
+ try {
64
+ return JSON.parse(data);
65
+ } catch {}
66
+ }
67
+ }
68
+
69
+ // Try direct JSON parse
70
+ try {
71
+ return JSON.parse(text);
72
+ } catch {
73
+ throw new Error(`Failed to parse response: ${text}`);
74
+ }
75
+ }
76
+
77
+ async function main() {
78
+ console.log('==============================================');
79
+ console.log('Graphiti Model Integration Test');
80
+ console.log('==============================================\n');
81
+
82
+ // Initialize session
83
+ console.log('1. Initializing MCP session...');
84
+ const initResult = await makeRequest({
85
+ jsonrpc: '2.0',
86
+ id: 1,
87
+ method: 'initialize',
88
+ params: {
89
+ protocolVersion: '2024-11-05',
90
+ capabilities: {},
91
+ clientInfo: { name: 'model-test', version: '1.0' },
92
+ },
93
+ });
94
+
95
+ if (initResult.error) {
96
+ console.error(' โŒ Init failed:', initResult.error.message);
97
+ process.exit(1);
98
+ }
99
+
100
+ console.log(` โœ… Session: ${globalSessionId?.slice(0, 8) || 'unknown'}...`);
101
+ console.log(
102
+ ` Server: ${initResult.result.serverInfo.name} v${initResult.result.serverInfo.version}`
103
+ );
104
+
105
+ // Test add_memory
106
+ console.log('\n2. Testing add_memory with real Graphiti schemas...');
107
+ const testContent =
108
+ 'Alice Chen is a software engineer at TechCorp in San Francisco. She collaborated with Bob Martinez on the new authentication system last week.';
109
+ console.log(` Input: "${testContent}"\n`);
110
+
111
+ const startTime = Date.now();
112
+
113
+ const addResult = await makeRequest({
114
+ jsonrpc: '2.0',
115
+ id: 2,
116
+ method: 'tools/call',
117
+ params: {
118
+ name: 'add_memory',
119
+ arguments: {
120
+ name: 'Deepseek Integration Test',
121
+ episode_body: testContent,
122
+ group_id: 'deepseek-integration-test',
123
+ source: 'text',
124
+ source_description: 'LLM model integration test',
125
+ },
126
+ },
127
+ });
128
+
129
+ const duration = Date.now() - startTime;
130
+
131
+ if (addResult.error) {
132
+ console.error(' โŒ add_memory FAILED:', addResult.error.message);
133
+ console.log("\n This model likely has issues with Graphiti's Pydantic schemas.");
134
+ process.exit(1);
135
+ }
136
+
137
+ console.log(` โœ… add_memory SUCCEEDED (${duration}ms)`);
138
+
139
+ // Parse result content
140
+ const resultContent = addResult.result?.content;
141
+ if (resultContent && Array.isArray(resultContent)) {
142
+ for (const item of resultContent) {
143
+ if (item.type === 'text') {
144
+ console.log(` Result: ${item.text}`);
145
+ }
146
+ }
147
+ }
148
+
149
+ // Search for created entities
150
+ console.log('\n3. Verifying entities were extracted...');
151
+
152
+ const searchResult = await makeRequest({
153
+ jsonrpc: '2.0',
154
+ id: 3,
155
+ method: 'tools/call',
156
+ params: {
157
+ name: 'search_nodes',
158
+ arguments: {
159
+ query: 'Alice Chen TechCorp',
160
+ group_ids: ['deepseek-integration-test'],
161
+ max_nodes: 10,
162
+ },
163
+ },
164
+ });
165
+
166
+ if (searchResult.error) {
167
+ console.error(' โš ๏ธ search_nodes failed:', searchResult.error.message);
168
+ } else {
169
+ const searchContent = searchResult.result?.content;
170
+ if (searchContent && Array.isArray(searchContent)) {
171
+ for (const item of searchContent) {
172
+ if (item.type === 'text') {
173
+ try {
174
+ const nodes = JSON.parse(item.text);
175
+ console.log(` Found ${nodes.length} nodes:`);
176
+ for (const node of nodes.slice(0, 5)) {
177
+ console.log(` - ${node.name} (${node.labels?.join(', ') || 'no labels'})`);
178
+ }
179
+ } catch {
180
+ console.log(` Result: ${item.text.slice(0, 200)}...`);
181
+ }
182
+ }
183
+ }
184
+ }
185
+ }
186
+
187
+ // Cleanup
188
+ console.log('\n4. Cleaning up test data...');
189
+
190
+ const clearResult = await makeRequest({
191
+ jsonrpc: '2.0',
192
+ id: 4,
193
+ method: 'tools/call',
194
+ params: {
195
+ name: 'clear_graph',
196
+ arguments: {
197
+ group_ids: ['deepseek-integration-test'],
198
+ },
199
+ },
200
+ });
201
+
202
+ if (clearResult.error) {
203
+ console.error(' โš ๏ธ Cleanup failed:', clearResult.error.message);
204
+ } else {
205
+ console.log(' โœ… Test data cleared');
206
+ }
207
+
208
+ console.log('\n==============================================');
209
+ console.log('TEST PASSED - Model works with Graphiti');
210
+ console.log(`Total time: ${duration}ms`);
211
+ console.log('==============================================');
212
+ }
213
+
214
+ main().catch((err) => {
215
+ console.error('Test failed:', err.message);
216
+ process.exit(1);
217
+ });
@@ -0,0 +1,141 @@
1
+ #!/usr/bin/env bun
2
+ const OPENROUTER_API_KEY = process.env.OPENROUTER_API_KEY;
3
+
4
+ const GROK_MODELS = [
5
+ { id: 'x-ai/grok-4.1-fast', name: 'Grok 4.1 Fast', inputPrice: 0.2, outputPrice: 0.5 },
6
+ { id: 'x-ai/grok-4-fast', name: 'Grok 4 Fast', inputPrice: 0.2, outputPrice: 0.5 },
7
+ { id: 'x-ai/grok-4', name: 'Grok 4', inputPrice: 3.0, outputPrice: 15.0 },
8
+ { id: 'x-ai/grok-3-mini', name: 'Grok 3 Mini', inputPrice: 0.3, outputPrice: 0.5 },
9
+ { id: 'x-ai/grok-3', name: 'Grok 3', inputPrice: 3.0, outputPrice: 15.0 },
10
+ ];
11
+
12
+ const TEST_CASES = [
13
+ {
14
+ name: 'Basic',
15
+ text: 'John Smith works at Acme Corp in New York. He met Sarah Jones yesterday.',
16
+ },
17
+ {
18
+ name: 'Technical',
19
+ text: 'The PAI system uses Neo4j for graph storage. It was created by Daniel Miessler.',
20
+ },
21
+ {
22
+ name: 'Complex',
23
+ text: 'Alice, the CTO of TechStart, acquired DataFlow Inc. Bob now reports to Alice.',
24
+ },
25
+ ];
26
+
27
+ const PROMPT = (text: string) => `Extract entities and relationships. Return ONLY valid JSON.
28
+ Text: "${text}"
29
+ Format: {"entities": [{"name": "string", "type": "PERSON|ORG|LOCATION"}], "relationships": [{"source": "string", "target": "string", "type": "string"}]}`;
30
+
31
+ function extractJSON(text: string): any {
32
+ const clean = text
33
+ .replace(/```json\n?/g, '')
34
+ .replace(/```\n?/g, '')
35
+ .trim();
36
+ try {
37
+ const obj = JSON.parse(clean);
38
+ if (obj.entities) return obj;
39
+ } catch {}
40
+ const match = clean.match(/\{[\s\S]*"entities"[\s\S]*\}/);
41
+ if (match)
42
+ try {
43
+ return JSON.parse(match[0]);
44
+ } catch {}
45
+ return null;
46
+ }
47
+
48
+ async function testModel(model: (typeof GROK_MODELS)[0]) {
49
+ console.log(`\n๐Ÿ”„ ${model.name} (${model.id})`);
50
+ let passed = 0;
51
+ let totalMs = 0;
52
+ let totalIn = 0;
53
+ let totalOut = 0;
54
+
55
+ for (const test of TEST_CASES) {
56
+ const start = Date.now();
57
+ try {
58
+ const res = await fetch('https://openrouter.ai/api/v1/chat/completions', {
59
+ method: 'POST',
60
+ headers: {
61
+ Authorization: `Bearer ${OPENROUTER_API_KEY}`,
62
+ 'Content-Type': 'application/json',
63
+ },
64
+ body: JSON.stringify({
65
+ model: model.id,
66
+ messages: [{ role: 'user', content: PROMPT(test.text) }],
67
+ temperature: 0.1,
68
+ max_tokens: 500,
69
+ }),
70
+ });
71
+ const ms = Date.now() - start;
72
+ totalMs += ms;
73
+ if (!res.ok) {
74
+ console.log(` โŒ ${test.name}: HTTP ${res.status}`);
75
+ continue;
76
+ }
77
+ const data = (await res.json()) as any;
78
+ totalIn += data.usage?.prompt_tokens || 0;
79
+ totalOut += data.usage?.completion_tokens || 0;
80
+ const json = extractJSON(data.choices?.[0]?.message?.content || '');
81
+ if (json) {
82
+ console.log(` โœ… ${test.name}: ${json.entities?.length || 0} entities (${ms}ms)`);
83
+ passed++;
84
+ } else {
85
+ console.log(` โŒ ${test.name}: Invalid JSON`);
86
+ }
87
+ } catch (e: any) {
88
+ console.log(` โŒ ${test.name}: ${e.message}`);
89
+ }
90
+ await new Promise((r) => setTimeout(r, 500));
91
+ }
92
+
93
+ const avgIn = totalIn / TEST_CASES.length;
94
+ const avgOut = totalOut / TEST_CASES.length;
95
+ const cost = ((avgIn / 1e6) * model.inputPrice + (avgOut / 1e6) * model.outputPrice) * 1000;
96
+ return {
97
+ name: model.name,
98
+ passRate: (passed / TEST_CASES.length) * 100,
99
+ avgMs: Math.round(totalMs / TEST_CASES.length),
100
+ cost,
101
+ inputPrice: model.inputPrice,
102
+ outputPrice: model.outputPrice,
103
+ };
104
+ }
105
+
106
+ async function main() {
107
+ console.log('โ•'.repeat(60));
108
+ console.log('๐Ÿงช Grok Models Test (Correct IDs)');
109
+ console.log('โ•'.repeat(60));
110
+
111
+ const results = [];
112
+ for (const m of GROK_MODELS) {
113
+ results.push(await testModel(m));
114
+ await new Promise((r) => setTimeout(r, 1000));
115
+ }
116
+
117
+ console.log(`\n${'โ•'.repeat(90)}`);
118
+ console.log('๐Ÿ“Š GROK MODELS COMPARISON');
119
+ console.log(`${'โ•'.repeat(90)}\n`);
120
+ console.log(
121
+ '| Model | Pass Rate | Avg Time | Input $/M | Output $/M | Cost/1K Calls |'
122
+ );
123
+ console.log(
124
+ '|------------------|-----------|----------|-----------|------------|---------------|'
125
+ );
126
+ for (const r of results) {
127
+ if (r.passRate > 0)
128
+ console.log(
129
+ `| ${r.name.padEnd(16)} | ${r.passRate.toFixed(0).padStart(7)}% | ${(`${r.avgMs}ms`).padStart(8)} | $${r.inputPrice.toFixed(2).padStart(7)} | $${r.outputPrice.toFixed(2).padStart(8)} | $${r.cost.toFixed(4).padStart(11)} |`
130
+ );
131
+ else
132
+ console.log(
133
+ `| ${r.name.padEnd(16)} | FAILED | - | - | - | - |`
134
+ );
135
+ }
136
+ await Bun.write(
137
+ 'grok-results.json',
138
+ JSON.stringify({ results, timestamp: new Date().toISOString() }, null, 2)
139
+ );
140
+ }
141
+ main();