research experiments

This commit is contained in:
lovebird 2025-04-01 20:21:08 +02:00
parent b64d48e454
commit 2eac7ecda1
13 changed files with 707 additions and 238 deletions

View File

@ -458,6 +458,60 @@
"outputCapture": "std",
"console": "integratedTerminal"
},
{
"type": "node",
"request": "launch",
"name": "response-format:research",
"skipFiles": [],
"program": "${workspaceFolder}\\dist-in\\main.js",
"outFiles": [
"${workspaceFolder}/**/*.js"
],
"cwd": "${workspaceFolder}",
"args": [
"'return a list of at least 10 african countries'",
"--disable='npm,terminal,interact,git,search'",
"--router2=openai",
"--format=./tests/response-format/countries.json",
"--model=openai/gpt-4o-search-preview",
"--mode=completion",
"--filters=JSONParse",
"--dst=./tests/response-format/africa-countries-research.json",
],
"resolveSourceMapLocations": [
"${workspaceFolder}/**",
"!**/node_modules/**"
],
"outputCapture": "std",
"console": "integratedTerminal"
},
{
"type": "node",
"request": "launch",
"name": "response-format:hardware",
"skipFiles": [],
"program": "${workspaceFolder}\\dist-in\\main.js",
"outFiles": [
"${workspaceFolder}/**/*.js"
],
"cwd": "${workspaceFolder}",
"args": [
"'return a list of hardware and software resources: This tutorial demonstrates the process of cutting HDPE sheets using an X-Carve CNC.\n\nFor a complete video in Spanish with subtitles, visit: [YouTube Video](https://www.youtube.com/watch?v=4LrrFz802To)\n\n\nUser Location: Mexico City, Mexico\n\nTo proceed, measure your plastic sheet: height, width, and thickness. Our X-Carve machine operates with the CAM software Easel, which I find to be user-friendly for CNC milling.\n\nEasel allows you to simulate the material, and it includes HDPE in its cutting material list.\n\n## Instructions for Securing a Sheet with CNC Clamps\n\nTo secure the sheet to the table, use the CNC clamps from the X-Carve.\n\nOpen a vector design program like Inkscape to create or download a vector file from [The Noun Project](https://thenounproject.com).\n\nDownload the SVG file and import it into Easel.\n\nWith the file ready, select the desired cutting width and proceed to cut using the wizard:\n- Ensure the sheet is secured.\n- Specify the cutting bit; a 1/8 inch (3.175 mm) flat flute bit is used.\n- Set the machine's 0-0 coordinate, typically the lower left corner.\n- Raise the bit, and start the CNC Router.\n\n### Tutorial Step: Showcasing Your Finished Object\n\nNow, finish post-processing your glasses or object, and share it with others.\n\nYou can attempt this project using various CNC machines, including manual routers or saws, as demonstrated in this [video](https://youtu.be/gxkcffQD3eQ). Sharing your work contributes to community development.\n\nShare your ideas and comments.'",
"--disable='npm,terminal,interact,git,search'",
"--router2=openai",
"--format=./tests/response-format/tools.json",
"--model=perplexity/sonar-deep-research",
"--mode=completion",
"--filters=JSONParse",
"--dst=./tests/response-format/tools-research.json",
],
"resolveSourceMapLocations": [
"${workspaceFolder}/**",
"!**/node_modules/**"
],
"outputCapture": "std",
"console": "integratedTerminal"
},
{
"type": "node",
"request": "launch",

File diff suppressed because one or more lines are too long

View File

@ -8,7 +8,6 @@
"name": "@polymech/kbot-d",
"version": "0.3.5",
"dependencies": {
"@gradio/client": "1.12.0",
"@polymech/ai-tools": "file:../ai-tools",
"@polymech/commons": "file:../commons",
"@polymech/core": "file:../core",
@ -288,7 +287,10 @@
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/@bundled-es-modules/cookie/-/cookie-2.0.1.tgz",
"integrity": "sha512-8o+5fRPLNbjbdGRRmJj3h6Hh1AQJf2dk3qQ/5ZFb+PXkRNiSoMGGUKlsgLfrxneb72axVJyIYji64E2+nNfYyw==",
"dev": true,
"license": "ISC",
"optional": true,
"peer": true,
"dependencies": {
"cookie": "^0.7.2"
}
@ -297,7 +299,10 @@
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/@bundled-es-modules/statuses/-/statuses-1.0.1.tgz",
"integrity": "sha512-yn7BklA5acgcBr+7w064fGV+SGIFySjCKpqjcWgBAIfrAkY+4GQTJJHQMeT3V/sgz23VTEVV8TtOmkvJAhFVfg==",
"dev": true,
"license": "ISC",
"optional": true,
"peer": true,
"dependencies": {
"statuses": "^2.0.1"
}
@ -306,7 +311,10 @@
"version": "0.1.6",
"resolved": "https://registry.npmjs.org/@bundled-es-modules/tough-cookie/-/tough-cookie-0.1.6.tgz",
"integrity": "sha512-dvMHbL464C0zI+Yqxbz6kZ5TOEp7GLW+pry/RWndAR8MJQAXZ2rPmIs8tziTZjeIyhSNZgZbCePtfSbdWqStJw==",
"dev": true,
"license": "ISC",
"optional": true,
"peer": true,
"dependencies": {
"@types/tough-cookie": "^4.0.5",
"tough-cookie": "^4.1.4"
@ -820,26 +828,6 @@
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
}
},
"node_modules/@gradio/client": {
"version": "1.12.0",
"resolved": "https://registry.npmjs.org/@gradio/client/-/client-1.12.0.tgz",
"integrity": "sha512-YMF4MEXnFlQxxzpTuXuvd4g3IUOFN3tk1kgGWkOKj+J0g9NTXDoqpOvbfxHKv2Brz84e+lBgX2e0zCgMCvs91A==",
"license": "ISC",
"dependencies": {
"@types/eventsource": "^1.1.15",
"bufferutil": "^4.0.7",
"eventsource": "^2.0.2",
"fetch-event-stream": "^0.1.5",
"msw": "^2.2.1",
"semiver": "^1.1.0",
"textlinestream": "^1.1.1",
"typescript": "^5.0.0",
"ws": "^8.13.0"
},
"engines": {
"node": ">=18.0.0"
}
},
"node_modules/@humanwhocodes/config-array": {
"version": "0.13.0",
"resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.13.0.tgz",
@ -882,7 +870,10 @@
"version": "5.1.6",
"resolved": "https://registry.npmjs.org/@inquirer/confirm/-/confirm-5.1.6.tgz",
"integrity": "sha512-6ZXYK3M1XmaVBZX6FCfChgtponnL0R6I7k8Nu+kaoNkT828FVZTcca1MqmWQipaW2oNREQl5AaPCUOOCVNdRMw==",
"dev": true,
"license": "MIT",
"optional": true,
"peer": true,
"dependencies": {
"@inquirer/core": "^10.1.7",
"@inquirer/type": "^3.0.4"
@ -903,7 +894,10 @@
"version": "10.1.7",
"resolved": "https://registry.npmjs.org/@inquirer/core/-/core-10.1.7.tgz",
"integrity": "sha512-AA9CQhlrt6ZgiSy6qoAigiA1izOa751ugX6ioSjqgJ+/Gd+tEN/TORk5sUYNjXuHWfW0r1n/a6ak4u/NqHHrtA==",
"dev": true,
"license": "MIT",
"optional": true,
"peer": true,
"dependencies": {
"@inquirer/figures": "^1.0.10",
"@inquirer/type": "^3.0.4",
@ -930,7 +924,10 @@
"version": "4.3.2",
"resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz",
"integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==",
"dev": true,
"license": "MIT",
"optional": true,
"peer": true,
"dependencies": {
"type-fest": "^0.21.3"
},
@ -945,13 +942,19 @@
"version": "8.0.0",
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
"integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
"license": "MIT"
"dev": true,
"license": "MIT",
"optional": true,
"peer": true
},
"node_modules/@inquirer/core/node_modules/string-width": {
"version": "4.2.3",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
"integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
"dev": true,
"license": "MIT",
"optional": true,
"peer": true,
"dependencies": {
"emoji-regex": "^8.0.0",
"is-fullwidth-code-point": "^3.0.0",
@ -965,7 +968,10 @@
"version": "0.21.3",
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz",
"integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==",
"dev": true,
"license": "(MIT OR CC0-1.0)",
"optional": true,
"peer": true,
"engines": {
"node": ">=10"
},
@ -977,7 +983,10 @@
"version": "6.2.0",
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz",
"integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==",
"dev": true,
"license": "MIT",
"optional": true,
"peer": true,
"dependencies": {
"ansi-styles": "^4.0.0",
"string-width": "^4.1.0",
@ -991,7 +1000,10 @@
"version": "1.0.10",
"resolved": "https://registry.npmjs.org/@inquirer/figures/-/figures-1.0.10.tgz",
"integrity": "sha512-Ey6176gZmeqZuY/W/nZiUyvmb1/qInjcpiZjXWi6nON+nxJpD1bxtSoBxNliGISae32n6OwbY+TSXPZ1CfS4bw==",
"dev": true,
"license": "MIT",
"optional": true,
"peer": true,
"engines": {
"node": ">=18"
}
@ -1000,7 +1012,10 @@
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/@inquirer/type/-/type-3.0.4.tgz",
"integrity": "sha512-2MNFrDY8jkFYc9Il9DgLsHhMzuHnOYM1+CUYVWbzu9oT0hC7V7EcYvdCKeoll/Fcci04A+ERZ9wcc7cQ8lTkIA==",
"dev": true,
"license": "MIT",
"optional": true,
"peer": true,
"engines": {
"node": ">=18"
},
@ -1175,7 +1190,10 @@
"version": "0.37.6",
"resolved": "https://registry.npmjs.org/@mswjs/interceptors/-/interceptors-0.37.6.tgz",
"integrity": "sha512-wK+5pLK5XFmgtH3aQ2YVvA3HohS3xqV/OxuVOdNx9Wpnz7VE/fnC+e1A7ln6LFYeck7gOJ/dsZV6OLplOtAJ2w==",
"dev": true,
"license": "MIT",
"optional": true,
"peer": true,
"dependencies": {
"@open-draft/deferred-promise": "^2.2.0",
"@open-draft/logger": "^0.3.0",
@ -1230,13 +1248,19 @@
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/@open-draft/deferred-promise/-/deferred-promise-2.2.0.tgz",
"integrity": "sha512-CecwLWx3rhxVQF6V4bAgPS5t+So2sTbPgAzafKkVizyi7tlwpcFpdFqq+wqF2OwNBmqFuu6tOyouTuxgpMfzmA==",
"license": "MIT"
"dev": true,
"license": "MIT",
"optional": true,
"peer": true
},
"node_modules/@open-draft/logger": {
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/@open-draft/logger/-/logger-0.3.0.tgz",
"integrity": "sha512-X2g45fzhxH238HKO4xbSr7+wBS8Fvw6ixhTDuvLd5mqh6bJJCFAPwU9mPDxbcrRtfxv4u5IHCEH77BmxvXmmxQ==",
"dev": true,
"license": "MIT",
"optional": true,
"peer": true,
"dependencies": {
"is-node-process": "^1.2.0",
"outvariant": "^1.4.0"
@ -1246,7 +1270,10 @@
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/@open-draft/until/-/until-2.1.0.tgz",
"integrity": "sha512-U69T3ItWHvLwGg5eJ0n3I62nWuE6ilHlmz7zM0npLBRvPRd7e6NYmg54vvRtP5mZG7kZqZCFVdsTWo7BPtBujg==",
"license": "MIT"
"dev": true,
"license": "MIT",
"optional": true,
"peer": true
},
"node_modules/@pkgjs/parseargs": {
"version": "0.11.0",
@ -1565,7 +1592,10 @@
"version": "0.6.0",
"resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.6.0.tgz",
"integrity": "sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==",
"license": "MIT"
"dev": true,
"license": "MIT",
"optional": true,
"peer": true
},
"node_modules/@types/eslint": {
"version": "9.6.1",
@ -1596,12 +1626,6 @@
"dev": true,
"license": "MIT"
},
"node_modules/@types/eventsource": {
"version": "1.1.15",
"resolved": "https://registry.npmjs.org/@types/eventsource/-/eventsource-1.1.15.tgz",
"integrity": "sha512-XQmGcbnxUNa06HR3VBVkc9+A2Vpi9ZyLJcdS5dwaQQ/4ZMWFO+5c90FnMUpbtMZwB/FChoYHwuVg8TvkECacTA==",
"license": "MIT"
},
"node_modules/@types/json-schema": {
"version": "7.0.15",
"resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz",
@ -1639,13 +1663,19 @@
"version": "2.0.5",
"resolved": "https://registry.npmjs.org/@types/statuses/-/statuses-2.0.5.tgz",
"integrity": "sha512-jmIUGWrAiwu3dZpxntxieC+1n/5c3mjrImkmOSQ2NC5uP6cYO4aAZDdSmRcI5C1oiTmqlZGHC+/NmJrKogbP5A==",
"license": "MIT"
"dev": true,
"license": "MIT",
"optional": true,
"peer": true
},
"node_modules/@types/tough-cookie": {
"version": "4.0.5",
"resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.5.tgz",
"integrity": "sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==",
"license": "MIT"
"dev": true,
"license": "MIT",
"optional": true,
"peer": true
},
"node_modules/@typescript-eslint/eslint-plugin": {
"version": "6.21.0",
@ -2530,6 +2560,8 @@
"integrity": "sha512-WDtdLmJvAuNNPzByAYpRo2rF1Mmradw6gvWsQKf63476DDXmomT9zUiGypLcG4ibIM67vhAj8jJRdbmEws2Aqw==",
"hasInstallScript": true,
"license": "MIT",
"optional": true,
"peer": true,
"dependencies": {
"node-gyp-build": "^4.3.0"
},
@ -2794,7 +2826,10 @@
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/cli-width/-/cli-width-4.1.0.tgz",
"integrity": "sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==",
"dev": true,
"license": "ISC",
"optional": true,
"peer": true,
"engines": {
"node": ">= 12"
}
@ -2923,7 +2958,10 @@
"version": "0.7.2",
"resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz",
"integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==",
"dev": true,
"license": "MIT",
"optional": true,
"peer": true,
"engines": {
"node": ">= 0.6"
}
@ -3402,15 +3440,6 @@
"node": ">=0.8.x"
}
},
"node_modules/eventsource": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/eventsource/-/eventsource-2.0.2.tgz",
"integrity": "sha512-IzUmBGPR3+oUG9dUeXynyNmf91/3zUSJg1lCktzKw47OXuhco54U3r9B7O4XX+Rb1Itm9OZ2b0RkTs10bICOxA==",
"license": "MIT",
"engines": {
"node": ">=12.0.0"
}
},
"node_modules/expect-type": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/expect-type/-/expect-type-1.1.0.tgz",
@ -3509,12 +3538,6 @@
"reusify": "^1.0.4"
}
},
"node_modules/fetch-event-stream": {
"version": "0.1.5",
"resolved": "https://registry.npmjs.org/fetch-event-stream/-/fetch-event-stream-0.1.5.tgz",
"integrity": "sha512-V1PWovkspxQfssq/NnxoEyQo1DV+MRK/laPuPblIZmSjMN8P5u46OhlFQznSr9p/t0Sp8Uc6SbM3yCMfr0KU8g==",
"license": "MIT"
},
"node_modules/file-entry-cache": {
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz",
@ -3936,7 +3959,10 @@
"version": "16.10.0",
"resolved": "https://registry.npmjs.org/graphql/-/graphql-16.10.0.tgz",
"integrity": "sha512-AjqGKbDGUFRKIRCP9tCKiIGHyriz2oHEbPIbEtcSLSs4YjReZOIPQQWek4+6hjw62H9QShXHyaGivGiYVLeYFQ==",
"dev": true,
"license": "MIT",
"optional": true,
"peer": true,
"engines": {
"node": "^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0"
}
@ -3993,7 +4019,10 @@
"version": "4.0.3",
"resolved": "https://registry.npmjs.org/headers-polyfill/-/headers-polyfill-4.0.3.tgz",
"integrity": "sha512-IScLbePpkvO846sIwOtOTDjutRMWdXdJmXdMvk6gCBHxFO8d+QKOQedyZSxFTTFYRSmlgSTDtXqqq4pcenBXLQ==",
"license": "MIT"
"dev": true,
"license": "MIT",
"optional": true,
"peer": true
},
"node_modules/highlight.js": {
"version": "10.7.3",
@ -4151,7 +4180,10 @@
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/is-node-process/-/is-node-process-1.2.0.tgz",
"integrity": "sha512-Vg4o6/fqPxIjtxgUH5QLJhwZ7gW5diGCVlXpuUfELC62CuxM1iHcRe51f2W1FDy04Ai4KJkagKjx3XaqyfRKXw==",
"license": "MIT"
"dev": true,
"license": "MIT",
"optional": true,
"peer": true
},
"node_modules/is-number": {
"version": "7.0.0",
@ -4678,8 +4710,11 @@
"version": "2.7.0",
"resolved": "https://registry.npmjs.org/msw/-/msw-2.7.0.tgz",
"integrity": "sha512-BIodwZ19RWfCbYTxWTUfTXc+sg4OwjCAgxU1ZsgmggX/7S3LdUifsbUPJs61j0rWb19CZRGY5if77duhc0uXzw==",
"dev": true,
"hasInstallScript": true,
"license": "MIT",
"optional": true,
"peer": true,
"dependencies": {
"@bundled-es-modules/cookie": "^2.0.1",
"@bundled-es-modules/statuses": "^1.0.1",
@ -4722,7 +4757,10 @@
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-2.0.0.tgz",
"integrity": "sha512-WWdIxpyjEn+FhQJQQv9aQAYlHoNVdzIzUySNV1gHUPDSdZJ3yZn7pAAbQcV7B56Mvu881q9FZV+0Vx2xC44VWA==",
"dev": true,
"license": "ISC",
"optional": true,
"peer": true,
"engines": {
"node": "^18.17.0 || >=20.5.0"
}
@ -4836,6 +4874,8 @@
"resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.8.4.tgz",
"integrity": "sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ==",
"license": "MIT",
"optional": true,
"peer": true,
"bin": {
"node-gyp-build": "bin.js",
"node-gyp-build-optional": "optional.js",
@ -4945,7 +4985,10 @@
"version": "1.4.3",
"resolved": "https://registry.npmjs.org/outvariant/-/outvariant-1.4.3.tgz",
"integrity": "sha512-+Sl2UErvtsoajRDKCE5/dBz4DIvHXQQnAxtQTF04OJxY0+DyZXSo5P5Bb7XYWOh81syohlYL24hbDwxedPUJCA==",
"license": "MIT"
"dev": true,
"license": "MIT",
"optional": true,
"peer": true
},
"node_modules/p-locate": {
"version": "5.0.0",
@ -5113,7 +5156,10 @@
"version": "6.3.0",
"resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.3.0.tgz",
"integrity": "sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ==",
"license": "MIT"
"dev": true,
"license": "MIT",
"optional": true,
"peer": true
},
"node_modules/path-type": {
"version": "4.0.0",
@ -5146,6 +5192,7 @@
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
"integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==",
"dev": true,
"license": "ISC"
},
"node_modules/pkg-dir": {
@ -5278,7 +5325,10 @@
"version": "1.15.0",
"resolved": "https://registry.npmjs.org/psl/-/psl-1.15.0.tgz",
"integrity": "sha512-JZd3gMVBAVQkSs6HdNZo9Sdo0LNcQeMNP3CozBJb3JYC/QUYZTnKxP+f8oWRX4rHP5EurWxqAHTSwUCjlNKa1w==",
"dev": true,
"license": "MIT",
"optional": true,
"peer": true,
"dependencies": {
"punycode": "^2.3.1"
},
@ -5290,6 +5340,7 @@
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz",
"integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=6"
@ -5299,7 +5350,10 @@
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz",
"integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==",
"license": "MIT"
"dev": true,
"license": "MIT",
"optional": true,
"peer": true
},
"node_modules/queue-microtask": {
"version": "1.2.3",
@ -5404,7 +5458,10 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
"integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==",
"license": "MIT"
"dev": true,
"license": "MIT",
"optional": true,
"peer": true
},
"node_modules/resolve": {
"version": "1.22.10",
@ -5605,15 +5662,6 @@
"url": "https://opencollective.com/webpack"
}
},
"node_modules/semiver": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/semiver/-/semiver-1.1.0.tgz",
"integrity": "sha512-QNI2ChmuioGC1/xjyYwyZYADILWyW6AmS1UH6gDj/SFUUUS4MBAWs/7mxnkRPc/F4iHezDP+O8t0dO8WHiEOdg==",
"license": "MIT",
"engines": {
"node": ">=6"
}
},
"node_modules/semver": {
"version": "7.7.1",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz",
@ -5764,7 +5812,10 @@
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
"integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==",
"dev": true,
"license": "MIT",
"optional": true,
"peer": true,
"engines": {
"node": ">= 0.8"
}
@ -5780,7 +5831,10 @@
"version": "0.5.1",
"resolved": "https://registry.npmjs.org/strict-event-emitter/-/strict-event-emitter-0.5.1.tgz",
"integrity": "sha512-vMgjE/GGEPEFnhFub6pa4FmJBRBVOLpIII2hvCZ8Kzb7K0hlHo7mQv6xYrBvCL2LtAIBwFUK8wvuJgTVSQ5MFQ==",
"license": "MIT"
"dev": true,
"license": "MIT",
"optional": true,
"peer": true
},
"node_modules/string-width-cjs": {
"name": "string-width",
@ -6137,12 +6191,6 @@
"dev": true,
"license": "MIT"
},
"node_modules/textlinestream": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/textlinestream/-/textlinestream-1.1.1.tgz",
"integrity": "sha512-iBHbi7BQxrFmwZUQJsT0SjNzlLLsXhvW/kg7EyOMVMBIrlnj/qYofwo1LVLZi+3GbUEo96Iu2eqToI2+lZoAEQ==",
"license": "MIT"
},
"node_modules/thenify": {
"version": "3.3.1",
"resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz",
@ -6225,7 +6273,10 @@
"version": "4.1.4",
"resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.4.tgz",
"integrity": "sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==",
"dev": true,
"license": "BSD-3-Clause",
"optional": true,
"peer": true,
"dependencies": {
"psl": "^1.1.33",
"punycode": "^2.1.1",
@ -6897,7 +6948,10 @@
"version": "4.35.0",
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.35.0.tgz",
"integrity": "sha512-2/AwEFQDFEy30iOLjrvHDIH7e4HEWH+f1Yl1bI5XMqzuoCUqwYCdxachgsgv0og/JdVZUhbfjcJAoHj5L1753A==",
"dev": true,
"license": "(MIT OR CC0-1.0)",
"optional": true,
"peer": true,
"engines": {
"node": ">=16"
},
@ -6909,6 +6963,7 @@
"version": "5.7.3",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.7.3.tgz",
"integrity": "sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==",
"dev": true,
"license": "Apache-2.0",
"bin": {
"tsc": "bin/tsc",
@ -6937,7 +6992,10 @@
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz",
"integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==",
"dev": true,
"license": "MIT",
"optional": true,
"peer": true,
"engines": {
"node": ">= 4.0.0"
}
@ -6987,7 +7045,10 @@
"version": "1.5.10",
"resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz",
"integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==",
"dev": true,
"license": "MIT",
"optional": true,
"peer": true,
"dependencies": {
"querystringify": "^2.1.1",
"requires-port": "^1.0.0"
@ -7436,6 +7497,8 @@
"resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz",
"integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==",
"license": "MIT",
"optional": true,
"peer": true,
"engines": {
"node": ">=10.0.0"
},
@ -7512,7 +7575,10 @@
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/yoctocolors-cjs/-/yoctocolors-cjs-2.1.2.tgz",
"integrity": "sha512-cYVsTjKl8b+FrnidjibDWskAv7UKOfcwaVZdp/it9n1s9fU3IkgDbhdIRKCW4JDsAlECJY0ytoVPT3sK6kideA==",
"dev": true,
"license": "MIT",
"optional": true,
"peer": true,
"engines": {
"node": ">=18"
},

View File

@ -27,7 +27,6 @@
"exe:lnx": "cd dist && nexe -i main_node.js -o kbot --build --temp=../../temp-kbot --verbose"
},
"dependencies": {
"@gradio/client": "1.12.0",
"@polymech/ai-tools": "file:../ai-tools",
"@polymech/commons": "file:../commons",
"@polymech/core": "file:../core",

View File

@ -41,6 +41,7 @@ export const runCompletion = async (client: OpenAI, params: any, options: IKBotT
logger.info('Dry run - skipping API call')
return false
}
// await client.beta.chat.completions.parse
const completion = await client.chat.completions.create({
model: options.model,
messages: params.messages,

View File

@ -78,7 +78,6 @@ export const OptionsSchema = (opts?: any): any => {
z.string()
.describe('The prompt. Supports file paths and environment variables.')
.optional()
.default('./prompt.md')
)
.add(
'output',

View File

@ -0,0 +1,154 @@
{
"cities": [
{
"name": "Nigeria",
"population": 228181000,
"conflict": "Boko Haram insurgency, farmer-herder conflicts",
"exports": "Crude oil, petroleum products, cocoa, rubber",
"languages": "English (official), Hausa, Yoruba, Igbo, and over 500 other indigenous languages",
"religion": "Islam, Christianity, indigenous beliefs",
"colonies": "Former British colony, gained independence in 1960",
"currency": "Naira (NGN)",
"links": [
"https://en.wikipedia.org/wiki/Nigeria",
"https://www.britannica.com/place/Nigeria"
],
"location": "https://www.google.com/maps/place/Nigeria"
},
{
"name": "Ethiopia",
"population": 109900000,
"conflict": "Tigray conflict, ethnic tensions",
"exports": "Coffee, gold, leather products, oilseeds",
"languages": "Amharic (official), Oromo, Tigrinya, Somali, and others",
"religion": "Christianity (Ethiopian Orthodox), Islam, indigenous beliefs",
"colonies": "Never colonized, briefly occupied by Italy (1936-1941)",
"currency": "Ethiopian Birr (ETB)",
"links": [
"https://en.wikipedia.org/wiki/Ethiopia",
"https://www.britannica.com/place/Ethiopia"
],
"location": "https://www.google.com/maps/place/Ethiopia"
},
{
"name": "Egypt",
"population": 106647000,
"conflict": "Sinai insurgency, political unrest",
"exports": "Crude oil, petroleum products, cotton, textiles, metal products",
"languages": "Arabic (official), English and French widely understood",
"religion": "Islam (predominantly Sunni), Christianity (Coptic Orthodox)",
"colonies": "Former British protectorate, gained independence in 1922",
"currency": "Egyptian Pound (EGP)",
"links": [
"https://en.wikipedia.org/wiki/Egypt",
"https://www.britannica.com/place/Egypt"
],
"location": "https://www.google.com/maps/place/Egypt"
},
{
"name": "Democratic Republic of the Congo",
"population": 115403000,
"conflict": "Kivu conflict, Ituri conflict",
"exports": "Copper, cobalt, diamonds, gold, oil",
"languages": "French (official), Lingala, Kikongo, Swahili, Tshiluba",
"religion": "Christianity (Roman Catholic, Protestant), indigenous beliefs",
"colonies": "Former Belgian colony, gained independence in 1960",
"currency": "Congolese Franc (CDF)",
"links": [
"https://en.wikipedia.org/wiki/Democratic_Republic_of_the_Congo",
"https://www.britannica.com/place/Democratic-Republic-of-the-Congo"
],
"location": "https://www.google.com/maps/place/Democratic+Republic+of+the+Congo"
},
{
"name": "South Africa",
"population": 64701000,
"conflict": "Xenophobic attacks, political unrest",
"exports": "Gold, diamonds, platinum, machinery, equipment",
"languages": "11 official languages including Zulu, Xhosa, Afrikaans, English",
"religion": "Christianity, indigenous beliefs, Islam, Hinduism",
"colonies": "Former British colony, gained independence in 1910",
"currency": "South African Rand (ZAR)",
"links": [
"https://en.wikipedia.org/wiki/South_Africa",
"https://www.britannica.com/place/South-Africa"
],
"location": "https://www.google.com/maps/place/South+Africa"
},
{
"name": "Kenya",
"population": 51563000,
"conflict": "Al-Shabaab attacks, political tensions",
"exports": "Tea, horticultural products, coffee, petroleum products",
"languages": "English and Swahili (official), numerous indigenous languages",
"religion": "Christianity, Islam, indigenous beliefs",
"colonies": "Former British colony, gained independence in 1963",
"currency": "Kenyan Shilling (KES)",
"links": [
"https://en.wikipedia.org/wiki/Kenya",
"https://www.britannica.com/place/Kenya"
],
"location": "https://www.google.com/maps/place/Kenya"
},
{
"name": "Tanzania",
"population": 65444000,
"conflict": "Political tensions, occasional communal violence",
"exports": "Gold, coffee, cashew nuts, manufactured goods",
"languages": "Swahili and English (official), many indigenous languages",
"religion": "Christianity, Islam, indigenous beliefs",
"colonies": "Former German and British colony, gained independence in 1961",
"currency": "Tanzanian Shilling (TZS)",
"links": [
"https://en.wikipedia.org/wiki/Tanzania",
"https://www.britannica.com/place/Tanzania"
],
"location": "https://www.google.com/maps/place/Tanzania"
},
{
"name": "Algeria",
"population": 46839000,
"conflict": "Political protests, border tensions",
"exports": "Petroleum, natural gas, dates, tobacco",
"languages": "Arabic and Berber (official), French widely used",
"religion": "Islam (predominantly Sunni)",
"colonies": "Former French colony, gained independence in 1962",
"currency": "Algerian Dinar (DZD)",
"links": [
"https://en.wikipedia.org/wiki/Algeria",
"https://www.britannica.com/place/Algeria"
],
"location": "https://www.google.com/maps/place/Algeria"
},
{
"name": "Sudan",
"population": 47653000,
"conflict": "Darfur conflict, political unrest",
"exports": "Gold, oil, livestock, sesame",
"languages": "Arabic and English (official), Nubian, Ta Bedawie, Fur",
"religion": "Islam (predominantly Sunni), indigenous beliefs",
"colonies": "Former Anglo-Egyptian condominium, gained independence in 1956",
"currency": "Sudanese Pound (SDG)",
"links": [
"https://en.wikipedia.org/wiki/Sudan",
"https://www.britannica.com/place/Sudan"
],
"location": "https://www.google.com/maps/place/Sudan"
},
{
"name": "Morocco",
"population": 36769000,
"conflict": "Western Sahara dispute, political protests",
"exports": "Clothing, electrical components, inorganic chemicals, transistors",
"languages": "Arabic and Berber (official), French widely used",
"religion": "Islam (predominantly Sunni)",
"colonies": "Former French and Spanish protectorate, gained independence in 1956",
"currency": "Moroccan Dirham (MAD)",
"links": [
"https://en.wikipedia.org/wiki/Morocco",
"https://www.britannica.com/place/Morocco"
],
"location": "https://www.google.com/maps/place/Morocco"
}
]
}

View File

@ -1,94 +1,67 @@
{
"cities": [
{
"name": "Nigeria",
"population": 21140000,
"conflict": 0,
"exports": "Petroleum, Cocoa",
"languages": "English, Hausa, Igbo, Yoruba",
"religion": "Islam, Christianity, Indigenous beliefs",
"colonia": "Colonized by the British"
},
{
"name": "Egypt",
"population": 98420000,
"conflict": 0,
"exports": "Crude Oil, Cotton, Textiles",
"languages": "Arabic",
"religion": "Islam, Christianity",
"colonia": "Colonized by the British"
},
{
"name": "South Africa",
"population": 59310000,
"conflict": 0,
"exports": "Gold, Diamonds, Platinum",
"languages": "Zulu, Xhosa, Afrikaans, English",
"religion": "Christianity, Traditional African beliefs",
"colonia": "Colonized by the British and Dutch"
},
{
"name": "Kenya",
"population": 53700000,
"conflict": 0,
"exports": "Tea, Coffee, Cut Flowers",
"languages": "English, Swahili",
"religion": "Christianity, Islam, Hinduism",
"colonia": "Colonized by the British"
},
{
"name": "Ethiopia",
"population": 112100000,
"conflict": 1,
"exports": "Coffee, Livestock, Pulses",
"languages": "Amharic, Oromo, Tigrinya",
"religion": "Christianity, Islam, Indigenous beliefs",
"colonia": "Briefly occupied by Italy"
},
{
"name": "Ghana",
"population": 31280000,
"conflict": 0,
"exports": "Gold, Cocoa, Oil",
"languages": "English, Akan, Ewe",
"religion": "Christianity, Islam, Traditional African beliefs",
"colonia": "Colonized by the British"
},
{
"name": "Morocco",
"population": 36470000,
"conflict": 0,
"exports": "Electronics, Phosphates, Textiles",
"languages": "Arabic, Berber",
"religion": "Islam",
"colonia": "Colonized by the French and Spanish"
},
{
"name": "Algeria",
"population": 43850000,
"conflict": 0,
"exports": "Petroleum, Natural Gas",
"languages": "Arabic, Berber",
"religion": "Islam",
"colonia": "Colonized by the French"
},
{
"name": "Uganda",
"population": 45740000,
"conflict": 0,
"exports": "Coffee, Fish, Tea",
"languages": "English, Swahili",
"religion": "Christianity, Islam",
"colonia": "Colonized by the British"
},
{
"name": "Sudan",
"population": 43850000,
"conflict": 1,
"exports": "Gold, Oil, Gum Arabic",
"languages": "Arabic, English",
"religion": "Islam, Christianity",
"colonia": "Colonized by the British and Egyptians"
}
]
}
Africa comprises 54 recognized sovereign nations, commonly categorized into five geographic regions. Here's the comprehensive list organized by region with standardized country names:
## Northern Africa
- Algeria
- Egypt
- Libya
- Morocco
- Sudan
- Tunisia
**Eastern Africa**
- Burundi
- Comoros
- Djibouti
- Eritrea
- Ethiopia
- Kenya
- Madagascar
- Malawi
- Mauritius
- Mozambique
- Rwanda
- Seychelles
- Somalia
- South Sudan
- Tanzania
- Uganda
- Zambia
- Zimbabwe
## Middle Africa
- Angola
- Cameroon
- Central African Republic
- Chad
- Democratic Republic of the Congo
- Equatorial Guinea
- Gabon
- Republic of the Congo
- São Tomé and Príncipe
## Southern Africa
- Botswana
- Eswatini
- Lesotho
- Namibia
- South Africa
## Western Africa
- Benin
- Burkina Faso
- Cabo Verde
- Côte d'Ivoire
- Gambia
- Ghana
- Guinea
- Guinea-Bissau
- Liberia
- Mali
- Mauritania
- Niger
- Nigeria
- Senegal
- Sierra Leone
- Togo
This regional classification follows UN geoscheme standards[8], with country names standardized to their official designations[6][3]. The total of 54 nations reflects current international recognition[8][6], including South Sudan which gained independence in 2011.

View File

@ -1,66 +0,0 @@
# African Countries List
Here is a comprehensive list of African countries in alphabetical order:
1. Algeria
2. Angola
3. Benin
4. Botswana
5. Burkina Faso
6. Burundi
7. Cameroon
8. Cape Verde
9. Central African Republic
10. Chad
11. Comoros
12. Congo
13. Democratic Republic of the Congo
14. Djibouti
15. Egypt
16. Equatorial Guinea
17. Eritrea
18. Ethiopia
19. Gabon
20. Gambia
21. Ghana
22. Guinea
23. Guinea-Bissau
24. Ivory Coast
25. Kenya
26. Lesotho
27. Liberia
28. Libya
29. Madagascar
30. Malawi
31. Mali
32. Mauritania
33. Mauritius
34. Morocco
35. Mozambique
36. Namibia
37. Niger
38. Nigeria
39. Rwanda
40. Sao Tome and Principe
41. Senegal
42. Seychelles
43. Sierra Leone
44. Somalia
45. South Africa
46. South Sudan
47. Sudan
48. Swaziland (Eswatini)
49. Tanzania
50. Togo
51. Tunisia
52. Uganda
53. Zambia
54. Zimbabwe
Source: [United Nations - Member States](https://www.un.org/en/about-us/member-states)
---
Prompt: 'return a list of african countries'
Kind regards,
Guenter

View File

@ -0,0 +1,223 @@
{
"cities": [
{
"name": "Algeria",
"population": 43851044,
"conflict": 0,
"exports": "Petroleum, natural gas, minerals, agricultural products",
"languages": "Arabic, Berber",
"religion": "Islam",
"colonies": "France",
"currency": "Algerian dinar",
"links": "https://www.britannica.com/place/Algeria"
},
{
"name": "Angola",
"population": 32866272,
"conflict": 0,
"exports": "Oil, diamonds, minerals, coffee, fish",
"languages": "Portuguese",
"religion": "Christianity, indigenous beliefs",
"colonies": "Portugal",
"currency": "Angolan kwanza",
"links": "https://www.britannica.com/place/Angola"
},
{
"name": "Benin",
"population": 12123200,
"conflict": 0,
"exports": "Cotton, palm oil, cocoa, coffee, shea nuts",
"languages": "French",
"religion": "Christianity, Islam, indigenous beliefs",
"colonies": "France",
"currency": "West African CFA franc",
"links": "https://www.britannica.com/place/Benin"
},
{
"name": "Botswana",
"population": 2351627,
"conflict": 0,
"exports": "Diamonds, copper, nickel, beef, textiles",
"languages": "English, Setswana",
"religion": "Christianity, indigenous beliefs",
"colonies": "Great Britain",
"currency": "Botswana pula",
"links": "https://www.britannica.com/place/Botswana"
},
{
"name": "Burkina Faso",
"population": 20903273,
"conflict": 0,
"exports": "Cotton, gold, livestock, shea nuts",
"languages": "French",
"religion": "Christianity, Islam, indigenous beliefs",
"colonies": "France",
"currency": "West African CFA franc",
"links": "https://www.britannica.com/place/Burkina-Faso"
},
{
"name": "Burundi",
"population": 11890784,
"conflict": 0,
"exports": "Coffee, tea, sugar, cotton, tin ore",
"languages": "Kirundi, French, English",
"religion": "Christianity, indigenous beliefs",
"colonies": "Belgium",
"currency": "Burundian franc",
"links": "https://www.britannica.com/place/Burundi"
},
{
"name": "Cabo Verde",
"population": 555987,
"conflict": 0,
"exports": "Fish, clothing, footwear, beverages",
"languages": "Portuguese",
"religion": "Christianity, indigenous beliefs",
"colonies": "Portugal",
"currency": "Cape Verdean escudo",
"links": "https://www.britannica.com/place/Cape-Verde"
},
{
"name": "Cameroon",
"population": 26545863,
"conflict": 0,
"exports": "Crude oil, cocoa, timber, aluminum, cotton",
"languages": "French, English",
"religion": "Christianity, indigenous beliefs",
"colonies": "France, Great Britain",
"currency": "Central African CFA franc",
"links": "https://www.britannica.com/place/Cameroon"
},
{
"name": "Central African Republic",
"population": 4829767,
"conflict": 0,
"exports": "Diamonds, gold, uranium, timber, coffee",
"languages": "French, Sango",
"religion": "Christianity, indigenous beliefs",
"colonies": "France",
"currency": "Central African CFA franc",
"links": "https://www.britannica.com/place/Central-African-Republic"
},
{
"name": "Chad",
"population": 16425864,
"conflict": 0,
"exports": "Oil, cotton, livestock, gold, gum arabic",
"languages": "French, Arabic",
"religion": "Islam, Christianity, indigenous beliefs",
"colonies": "France",
"currency": "Central African CFA franc",
"links": "https://www.britannica.com/place/Chad"
},
{
"name": "Comoros",
"population": 806153,
"conflict": 0,
"exports": "Vanilla, cloves, ylang-ylang, coconuts",
"languages": "Comorian, Arabic, French",
"religion": "Islam, Christianity, indigenous beliefs",
"colonies": "France",
"currency": "Comorian franc",
"links": "https://www.britannica.com/place/Comoros"
},
{
"name": "Congo, Democratic Republic of the",
"population": 89561403,
"conflict": 0,
"exports": "Cobalt, copper, diamonds, gold, timber",
"languages": "French, Lingala, Kikongo, Swahili, Tshiluba",
"religion": "Christianity, indigenous beliefs",
"colonies": "Belgium",
"currency": "Congolese franc",
"links": "https://www.britannica.com/place/Democratic-Republic-of-the-Congo"
},
{
"name": "Congo, Republic of the",
"population": 5518087,
"conflict": 0,
"exports": "Oil, timber, minerals, cocoa, coffee",
"languages": "French, Lingala, Monokutuba, Kikongo",
"religion": "Christianity, indigenous beliefs",
"colonies": "France",
"currency": "Central African CFA franc",
"links": "https://www.britannica.com/place/Republic-of-the-Congo"
},
{
"name": "Côte dIvoire",
"population": 26378274,
"conflict": 0,
"exports": "Cocoa, coffee, oil, timber, cotton",
"languages": "French",
"religion": "Islam, Christianity, indigenous beliefs",
"colonies": "France",
"currency": "West African CFA franc",
"links": "https://www.britannica.com/place/Ivory-Coast"
},
{
"name": "Djibouti",
"population": 988000,
"conflict": 0,
"exports": "Salt, hides, coffee, khat",
"languages": "Arabic, French",
"religion": "Islam, Christianity, indigenous beliefs",
"colonies": "France",
"currency": "Djiboutian franc",
"links": "https://www.britannica.com/place/Djibouti"
},
{
"name": "Egypt",
"population": 102334404,
"conflict": 0,
"exports": "Crude oil, petroleum products, cotton, textiles, chemicals",
"languages": "Arabic",
"religion": "Islam, Christianity",
"colonies": "Great Britain",
"currency": "Egyptian pound",
"links": "https://www.britannica.com/place/Egypt"
},
{
"name": "Equatorial Guinea",
"population": 1402985,
"conflict": 0,
"exports": "Oil, timber, cocoa, coffee, fish",
"languages": "Spanish, French, Portuguese",
"religion": "Christianity, indigenous beliefs",
"colonies": "Spain",
"currency": "Central African CFA franc",
"links": "https://www.britannica.com/place/Equatorial-Guinea"
},
{
"name": "Eritrea",
"population": 3546421,
"conflict": 0,
"exports": "Eritrean coffee, livestock, sorghum, vegetables",
"languages": "Tigrinya, Arabic, Tigre, Kunama, Bilen, Saho, Afar, English",
"religion": "Christianity, Islam, indigenous beliefs",
"colonies": "Ethiopia",
"currency": "Eritrean nakfa",
"links": "https://www.britannica.com/place/Eritrea"
},
{
"name": "Eswatini",
"population": 1160164,
"conflict": 0,
"exports": "Sugar, wood pulp, textiles, clothing, citrus fruits",
"languages": "English, siSwati",
"religion": "Christianity, indigenous beliefs",
"colonies": "Great Britain",
"currency": "Swazi lilangeni",
"links": "https://www.britannica.com/place/Eswatini"
},
{
"name": "Ethiopia",
"population": 114963588,
"conflict": 0,
"exports": "Coffee, oilseeds, gold, flowers, chat",
"languages": "Amharic",
"religion": "Christianity, Islam, indigenous beliefs",
"colonies": "Italy",
"currency": "Ethiopian birr",
"links": "https://www.britannica.com/place/Ethiopia"
},

View File

@ -19,8 +19,8 @@
"description": "Total population of the city."
},
"conflict": {
"type": "integer",
"description": "Is involved in a conflict."
"type": "string",
"description": "list of conflicts the country is involved in."
},
"exports": {
"type": "string",
@ -34,9 +34,24 @@
"type": "string",
"description": "list of religions practiced in the country."
},
"colonia": {
"colonies": {
"type": "string",
"description": "Colonial history of the country."
},
"currency": {
"type": "string",
"description": "Currency of the country."
},
"links": {
"type": "array",
"items": {
"type": "string",
"description": "2 Links to the country. wikipedia and britannica."
}
},
"location": {
"type": "string",
"description": "Google Map link to the country."
}
},
"required": ["name", "country"]

View File

@ -0,0 +1,22 @@
Here's a comprehensive list of hardware/software resources for cutting HDPE sheets with X-Carve CNC, formatted to your preferences:
## Hardware Requirements
- **X-Carve CNC Machine** with vacuum table or clamps
- **1/8" (3.175 mm) flat flute cutting bit** - Ideal for plastic cutting[1]
- **CNC Clamps** - From X-Carve kit for material securing[1]
- **HDPE Sheet** - Measure thickness carefully (typical: 3-6mm)
- **Safety Equipment** - Goggles, hearing protection
## Software Stack
- **Easel CAM Software** (Free) - X-Carve integration with HDPE material profile[1][2]
- **Inkscape** (Open-source) - Vector design creation/modification[2]
- **The Noun Project** - Source for ready-made SVG vectors ([nounproject.com][3])
## Tutorial Resources
- [Complete Spanish video guide with subtitles](https://www.youtube.com/watch?v=4LrrFz802To) [1]
- [Alternative manual routing techniques](https://youtu.be/gxkcffQD3eQ) [4]
Addendum: Always verify machine calibration and perform test cuts on scrap material before final operation.
kind regards,
Guenter

View File

@ -0,0 +1,30 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "https://example.com/cities.schema.json",
"title": "countries Wrapper",
"description": "Object containing a list of hardware and software resources",
"type": "object",
"properties": {
"hardware": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Tool / Hardware name."
},
"link": {
"type": "string",
"description": "Link wikipedia"
},
"amazon": {
"type": "string",
"description": "Link to amazon"
}
}
}
}
},
"required": ["hardware"]
}