@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,277 @@
1
+ #!/usr/bin/env python3
2
+ """
3
+ Perplexity Search via LitLLM and OpenRouter
4
+
5
+ This script performs AI-powered web searches using Perplexity models through
6
+ LiteLLM and OpenRouter. It provides real-time, grounded answers with source citations.
7
+
8
+ Usage:
9
+ python perplexity_search.py "search query" [options]
10
+
11
+ Requirements:
12
+ - OpenRouter API key set in OPENROUTER_API_KEY environment variable
13
+ - LiteLLM installed: uv pip install litellm
14
+
15
+ Author: Scientific Skills
16
+ License: MIT
17
+ """
18
+
19
+ import os
20
+ import sys
21
+ import json
22
+ import argparse
23
+ from typing import Optional, Dict, Any, List
24
+
25
+
26
+ def check_dependencies():
27
+ """Check if required packages are installed."""
28
+ try:
29
+ import litellm
30
+ return True
31
+ except ImportError:
32
+ print("Error: LiteLLM is not installed.", file=sys.stderr)
33
+ print("Install it with: uv pip install litellm", file=sys.stderr)
34
+ return False
35
+
36
+
37
+ def check_api_key() -> Optional[str]:
38
+ """Check if OpenRouter API key is configured."""
39
+ api_key = os.environ.get("OPENROUTER_API_KEY")
40
+ if not api_key:
41
+ print("Error: OPENROUTER_API_KEY environment variable is not set.", file=sys.stderr)
42
+ print("\nTo set up your API key:", file=sys.stderr)
43
+ print("1. Get an API key from https://openrouter.ai/keys", file=sys.stderr)
44
+ print("2. Set the environment variable:", file=sys.stderr)
45
+ print(" export OPENROUTER_API_KEY='your-api-key-here'", file=sys.stderr)
46
+ print("\nOr create a .env file with:", file=sys.stderr)
47
+ print(" OPENROUTER_API_KEY=your-api-key-here", file=sys.stderr)
48
+ return None
49
+ return api_key
50
+
51
+
52
+ def search_with_perplexity(
53
+ query: str,
54
+ model: str = "openrouter/perplexity/sonar-pro",
55
+ max_tokens: int = 4000,
56
+ temperature: float = 0.2,
57
+ verbose: bool = False
58
+ ) -> Dict[str, Any]:
59
+ """
60
+ Perform a search using Perplexity models via LiteLLM and OpenRouter.
61
+
62
+ Args:
63
+ query: The search query
64
+ model: Model to use (default: sonar-pro)
65
+ max_tokens: Maximum tokens in response
66
+ temperature: Response temperature (0.0-1.0)
67
+ verbose: Print detailed information
68
+
69
+ Returns:
70
+ Dictionary containing the search results and metadata
71
+ """
72
+ try:
73
+ from litellm import completion
74
+ except ImportError:
75
+ return {
76
+ "success": False,
77
+ "error": "LiteLLM not installed. Run: uv pip install litellm"
78
+ }
79
+
80
+ # Check API key
81
+ api_key = check_api_key()
82
+ if not api_key:
83
+ return {
84
+ "success": False,
85
+ "error": "OpenRouter API key not configured"
86
+ }
87
+
88
+ if verbose:
89
+ print(f"Model: {model}", file=sys.stderr)
90
+ print(f"Query: {query}", file=sys.stderr)
91
+ print(f"Max tokens: {max_tokens}", file=sys.stderr)
92
+ print(f"Temperature: {temperature}", file=sys.stderr)
93
+ print("", file=sys.stderr)
94
+
95
+ try:
96
+ # Perform the search using LiteLLM
97
+ response = completion(
98
+ model=model,
99
+ messages=[{
100
+ "role": "user",
101
+ "content": query
102
+ }],
103
+ max_tokens=max_tokens,
104
+ temperature=temperature
105
+ )
106
+
107
+ # Extract the response
108
+ result = {
109
+ "success": True,
110
+ "query": query,
111
+ "model": model,
112
+ "answer": response.choices[0].message.content,
113
+ "usage": {
114
+ "prompt_tokens": response.usage.prompt_tokens,
115
+ "completion_tokens": response.usage.completion_tokens,
116
+ "total_tokens": response.usage.total_tokens
117
+ }
118
+ }
119
+
120
+ # Check if citations are available in the response
121
+ if hasattr(response.choices[0].message, 'citations'):
122
+ result["citations"] = response.choices[0].message.citations
123
+
124
+ return result
125
+
126
+ except Exception as e:
127
+ return {
128
+ "success": False,
129
+ "error": str(e),
130
+ "query": query,
131
+ "model": model
132
+ }
133
+
134
+
135
+ def main():
136
+ """Main entry point for the script."""
137
+ parser = argparse.ArgumentParser(
138
+ description="Perform AI-powered web searches using Perplexity via LiteLLM and OpenRouter",
139
+ formatter_class=argparse.RawDescriptionHelpFormatter,
140
+ epilog="""
141
+ Examples:
142
+ # Basic search
143
+ python perplexity_search.py "What are the latest developments in CRISPR?"
144
+
145
+ # Use Sonar Pro Search for deeper analysis
146
+ python perplexity_search.py "Compare mRNA and viral vector vaccines" --model sonar-pro-search
147
+
148
+ # Use Sonar Reasoning for complex queries
149
+ python perplexity_search.py "Explain quantum entanglement" --model sonar-reasoning-pro
150
+
151
+ # Save output to file
152
+ python perplexity_search.py "COVID-19 vaccine efficacy studies" --output results.json
153
+
154
+ # Verbose mode
155
+ python perplexity_search.py "Machine learning trends 2024" --verbose
156
+
157
+ Available Models:
158
+ - sonar-pro (default): General-purpose search with good balance
159
+ - sonar-pro-search: Most advanced agentic search with multi-step reasoning
160
+ - sonar: Standard model for basic searches
161
+ - sonar-reasoning-pro: Advanced reasoning capabilities
162
+ - sonar-reasoning: Basic reasoning model
163
+ """
164
+ )
165
+
166
+ parser.add_argument(
167
+ "query",
168
+ help="The search query"
169
+ )
170
+
171
+ parser.add_argument(
172
+ "--model",
173
+ default="sonar-pro",
174
+ choices=[
175
+ "sonar-pro",
176
+ "sonar-pro-search",
177
+ "sonar",
178
+ "sonar-reasoning-pro",
179
+ "sonar-reasoning"
180
+ ],
181
+ help="Perplexity model to use (default: sonar-pro)"
182
+ )
183
+
184
+ parser.add_argument(
185
+ "--max-tokens",
186
+ type=int,
187
+ default=4000,
188
+ help="Maximum tokens in response (default: 4000)"
189
+ )
190
+
191
+ parser.add_argument(
192
+ "--temperature",
193
+ type=float,
194
+ default=0.2,
195
+ help="Response temperature 0.0-1.0 (default: 0.2)"
196
+ )
197
+
198
+ parser.add_argument(
199
+ "--output",
200
+ help="Save results to JSON file"
201
+ )
202
+
203
+ parser.add_argument(
204
+ "--verbose",
205
+ action="store_true",
206
+ help="Print detailed information"
207
+ )
208
+
209
+ parser.add_argument(
210
+ "--check-setup",
211
+ action="store_true",
212
+ help="Check if dependencies and API key are configured"
213
+ )
214
+
215
+ args = parser.parse_args()
216
+
217
+ # Check setup if requested
218
+ if args.check_setup:
219
+ print("Checking setup...")
220
+ deps_ok = check_dependencies()
221
+ api_key_ok = check_api_key() is not None
222
+
223
+ if deps_ok and api_key_ok:
224
+ print("\n✓ Setup complete! Ready to search.")
225
+ return 0
226
+ else:
227
+ print("\n✗ Setup incomplete. Please fix the issues above.")
228
+ return 1
229
+
230
+ # Check dependencies
231
+ if not check_dependencies():
232
+ return 1
233
+
234
+ # Prepend openrouter/ to model name if not already present
235
+ model = args.model
236
+ if not model.startswith("openrouter/"):
237
+ model = f"openrouter/perplexity/{model}"
238
+
239
+ # Perform the search
240
+ result = search_with_perplexity(
241
+ query=args.query,
242
+ model=model,
243
+ max_tokens=args.max_tokens,
244
+ temperature=args.temperature,
245
+ verbose=args.verbose
246
+ )
247
+
248
+ # Handle results
249
+ if not result["success"]:
250
+ print(f"Error: {result['error']}", file=sys.stderr)
251
+ return 1
252
+
253
+ # Print answer
254
+ print("\n" + "="*80)
255
+ print("ANSWER")
256
+ print("="*80)
257
+ print(result["answer"])
258
+ print("="*80)
259
+
260
+ # Print usage stats if verbose
261
+ if args.verbose:
262
+ print(f"\nUsage:", file=sys.stderr)
263
+ print(f" Prompt tokens: {result['usage']['prompt_tokens']}", file=sys.stderr)
264
+ print(f" Completion tokens: {result['usage']['completion_tokens']}", file=sys.stderr)
265
+ print(f" Total tokens: {result['usage']['total_tokens']}", file=sys.stderr)
266
+
267
+ # Save to file if requested
268
+ if args.output:
269
+ with open(args.output, 'w') as f:
270
+ json.dump(result, f, indent=2)
271
+ print(f"\n✓ Results saved to {args.output}", file=sys.stderr)
272
+
273
+ return 0
274
+
275
+
276
+ if __name__ == "__main__":
277
+ sys.exit(main())
@@ -0,0 +1,171 @@
1
+ #!/usr/bin/env python3
2
+ """
3
+ Setup script for Perplexity Search environment configuration.
4
+
5
+ This script helps users configure their OpenRouter API key and validates the setup.
6
+
7
+ Usage:
8
+ python setup_env.py [--api-key YOUR_KEY] [--env-file .env]
9
+
10
+ Author: Scientific Skills
11
+ License: MIT
12
+ """
13
+
14
+ import os
15
+ import sys
16
+ import argparse
17
+ from pathlib import Path
18
+
19
+
20
+ def create_env_file(api_key: str, env_file: str = ".env") -> bool:
21
+ """
22
+ Create or update .env file with OpenRouter API key.
23
+
24
+ Args:
25
+ api_key: The OpenRouter API key
26
+ env_file: Path to .env file (default: .env)
27
+
28
+ Returns:
29
+ True if successful, False otherwise
30
+ """
31
+ try:
32
+ env_path = Path(env_file)
33
+
34
+ # Read existing content if file exists
35
+ existing_content = []
36
+ if env_path.exists():
37
+ with open(env_path, 'r') as f:
38
+ existing_content = [
39
+ line for line in f.readlines()
40
+ if not line.startswith('OPENROUTER_API_KEY=')
41
+ ]
42
+
43
+ # Write new content
44
+ with open(env_path, 'w') as f:
45
+ # Write existing content (excluding old OPENROUTER_API_KEY)
46
+ f.writelines(existing_content)
47
+
48
+ # Add new API key
49
+ if existing_content and not existing_content[-1].endswith('\n'):
50
+ f.write('\n')
51
+ f.write(f'OPENROUTER_API_KEY={api_key}\n')
52
+
53
+ print(f"✓ API key saved to {env_file}")
54
+ return True
55
+
56
+ except Exception as e:
57
+ print(f"Error creating .env file: {e}", file=sys.stderr)
58
+ return False
59
+
60
+
61
+ def validate_setup() -> bool:
62
+ """
63
+ Validate that the environment is properly configured.
64
+
65
+ Returns:
66
+ True if setup is valid, False otherwise
67
+ """
68
+ print("Validating setup...")
69
+ print()
70
+
71
+ # Check for API key
72
+ api_key = os.environ.get("OPENROUTER_API_KEY")
73
+ if not api_key:
74
+ print("✗ OPENROUTER_API_KEY environment variable not set")
75
+ print()
76
+ print("To set up your API key:")
77
+ print("1. Get an API key from https://openrouter.ai/keys")
78
+ print("2. Run this script with --api-key flag:")
79
+ print(" python setup_env.py --api-key YOUR_KEY")
80
+ print()
81
+ return False
82
+ else:
83
+ # Mask the key for display
84
+ masked_key = api_key[:8] + "..." + api_key[-4:] if len(api_key) > 12 else "***"
85
+ print(f"✓ OPENROUTER_API_KEY is set ({masked_key})")
86
+
87
+ # Check for LiteLLM
88
+ try:
89
+ import litellm
90
+ print(f"✓ LiteLLM is installed (version {litellm.__version__})")
91
+ except ImportError:
92
+ print("✗ LiteLLM is not installed")
93
+ print()
94
+ print("Install LiteLLM with:")
95
+ print(" uv pip install litellm")
96
+ print()
97
+ return False
98
+
99
+ print()
100
+ print("✓ Setup is complete! You're ready to use Perplexity Search.")
101
+ return True
102
+
103
+
104
+ def main():
105
+ """Main entry point for the setup script."""
106
+ parser = argparse.ArgumentParser(
107
+ description="Setup Perplexity Search environment configuration",
108
+ formatter_class=argparse.RawDescriptionHelpFormatter,
109
+ epilog="""
110
+ Examples:
111
+ # Set up API key
112
+ python setup_env.py --api-key sk-or-v1-xxxxx
113
+
114
+ # Validate existing setup
115
+ python setup_env.py --validate
116
+
117
+ # Use custom .env file location
118
+ python setup_env.py --api-key sk-or-v1-xxxxx --env-file /path/to/.env
119
+
120
+ Get your OpenRouter API key from:
121
+ https://openrouter.ai/keys
122
+ """
123
+ )
124
+
125
+ parser.add_argument(
126
+ "--api-key",
127
+ help="Your OpenRouter API key"
128
+ )
129
+
130
+ parser.add_argument(
131
+ "--env-file",
132
+ default=".env",
133
+ help="Path to .env file (default: .env)"
134
+ )
135
+
136
+ parser.add_argument(
137
+ "--validate",
138
+ action="store_true",
139
+ help="Validate existing setup"
140
+ )
141
+
142
+ args = parser.parse_args()
143
+
144
+ # If no arguments, show validation
145
+ if not args.api_key and not args.validate:
146
+ args.validate = True
147
+
148
+ # Handle API key setup
149
+ if args.api_key:
150
+ print("Setting up OpenRouter API key...")
151
+ if create_env_file(args.api_key, args.env_file):
152
+ print()
153
+ print("Next steps:")
154
+ print(f"1. Load the environment variables:")
155
+ print(f" source {args.env_file}")
156
+ print("2. Or export directly:")
157
+ print(f" export OPENROUTER_API_KEY={args.api_key}")
158
+ print("3. Test the setup:")
159
+ print(" python perplexity_search.py --check-setup")
160
+ print()
161
+
162
+ # Validate setup
163
+ if args.validate:
164
+ if not validate_setup():
165
+ return 1
166
+
167
+ return 0
168
+
169
+
170
+ if __name__ == "__main__":
171
+ sys.exit(main())
@@ -0,0 +1,30 @@
1
+ © 2025 Anthropic, PBC. All rights reserved.
2
+
3
+ LICENSE: Use of these materials (including all code, prompts, assets, files,
4
+ and other components of this Skill) is governed by your agreement with
5
+ Anthropic regarding use of Anthropic's services. If no separate agreement
6
+ exists, use is governed by Anthropic's Consumer Terms of Service or
7
+ Commercial Terms of Service, as applicable:
8
+ https://www.anthropic.com/legal/consumer-terms
9
+ https://www.anthropic.com/legal/commercial-terms
10
+ Your applicable agreement is referred to as the "Agreement." "Services" are
11
+ as defined in the Agreement.
12
+
13
+ ADDITIONAL RESTRICTIONS: Notwithstanding anything in the Agreement to the
14
+ contrary, users may not:
15
+
16
+ - Extract these materials from the Services or retain copies of these
17
+ materials outside the Services
18
+ - Reproduce or copy these materials, except for temporary copies created
19
+ automatically during authorized use of the Services
20
+ - Create derivative works based on these materials
21
+ - Distribute, sublicense, or transfer these materials to any third party
22
+ - Make, offer to sell, sell, or import any inventions embodied in these
23
+ materials
24
+ - Reverse engineer, decompile, or disassemble these materials
25
+
26
+ The receipt, viewing, or possession of these materials does not convey or
27
+ imply any license or right beyond those expressly granted above.
28
+
29
+ Anthropic retains all right, title, and interest in these materials,
30
+ including all copyrights, patents, and other intellectual property rights.