{"_id":"prompt-shaper","_rev":"31-b017b4366b64b51647bf198ea30c41fa","name":"prompt-shaper","dist-tags":{"latest":"6.4.0"},"versions":{"0.0.1":{"name":"prompt-shaper","version":"0.0.1","author":{"name":"Rafiq","email":"r@neat.af"},"license":"MIT","_id":"prompt-shaper@0.0.1","maintainers":[{"name":"prajna-avidya","email":"r@neat.af"}],"bin":{"prompt-shaper":"dist/cli.js"},"dist":{"shasum":"268ec71fb084a020d83160293ba9d9a86ce3eee9","tarball":"https://registry.npmjs.org/prompt-shaper/-/prompt-shaper-0.0.1.tgz","fileCount":13,"integrity":"sha512-KOMJfk52sBZtNZ3/hIDFyh/fJnlI0eTNkFRS6GSvea2KYBJU8XpkqHpRoayKdHZk7zszccF3HNXptpjUlD2WZQ==","signatures":[{"sig":"MEQCIA9lYa/kX9vgzdCLG3w6Ot3L6pdP+CKzMNsU0/K5uNL/AiBaXS3QvDDRfqYD3pxNBRcxXIwUiIR6hFyix8TrYSfCtA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26072},"main":"dist/cli.js","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/changelog","@semantic-release/npm",["@semantic-release/git",{"assets":["package.json","CHANGELOG.md"],"message":"chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"}],"@semantic-release/github"]},"scripts":{"lint":"eslint . --ext .ts","test":"mocha -r ts-node/register 'test/**/*.spec.ts' --timeout 5000","build":"rimraf dist && tsc","parse":"ts-node src/cli.ts","lint:fix":"eslint . --ext .ts --fix"},"_npmUser":{"name":"prajna-avidya","email":"r@neat.af"},"description":"prompt scripting language","directories":{},"licenseText":"MIT License\n\nCopyright (c) 2023 Prajna Concepts Limited\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","dependencies":{"commander":"^11.0.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.7","mocha":"^10.2.0","peggy":"^3.0.2","sinon":"^15.2.0","eslint":"^8.45.0","rimraf":"^5.0.1","ts-node":"^10.9.1","prettier":"^3.0.0","commitizen":"^4.3.0","typescript":"^5.1.6","@types/chai":"^4.3.5","@types/node":"^20.3.3","@types/mocha":"^10.0.1","@types/sinon":"^10.0.15","semantic-release":"^21.0.7","@semantic-release/git":"^10.0.1","eslint-config-prettier":"^8.8.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^6.1.0","cz-conventional-changelog":"^3.3.0","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^6.1.0"},"_npmOperationalInternal":{"tmp":"tmp/prompt-shaper_0.0.1_1691466819146_0.6835766559062482","host":"s3://npm-registry-packages"}},"0.0.2":{"name":"prompt-shaper","version":"0.0.2","author":{"name":"Rafiq","email":"r@neat.af"},"license":"MIT","_id":"prompt-shaper@0.0.2","maintainers":[{"name":"prajna-avidya","email":"r@neat.af"}],"homepage":"https://github.com/PrajnaAvidya/prompt-shaper#readme","bugs":{"url":"https://github.com/PrajnaAvidya/prompt-shaper/issues"},"bin":{"prompt-shaper":"dist/src/cli.js"},"dist":{"shasum":"e173cf80ef2cc080b0911946eb4737f2966a5632","tarball":"https://registry.npmjs.org/prompt-shaper/-/prompt-shaper-0.0.2.tgz","fileCount":9,"integrity":"sha512-ksSKf3tfhaBUy0MW96omqEuQnU7i/4y8ZrTMWaP98wG2pnb6UnbhDceMoxcPg7rPze91bLNq65A5lzqYah7DZg==","signatures":[{"sig":"MEUCIAy+8RVvUph9kcPeauNH77JaxcMKD7IwHgt2a7vu09bGAiEAvVyLXcn62WhGT2pA5ccdHnHHmk0mGEle+bqxsjwrYpI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26288},"main":"dist/src/cli.js","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"gitHead":"eeabf2b2a489ad66648f508fc889c447e5ba31c2","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/changelog","@semantic-release/npm",["@semantic-release/git",{"assets":["package.json","CHANGELOG.md"],"message":"chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"}],"@semantic-release/github"],"branches":["main"]},"scripts":{"lint":"eslint . --ext .ts","test":"mocha -r ts-node/register 'test/**/*.spec.ts' --timeout 5000","build":"rimraf dist && tsc","parse":"ts-node src/cli.ts","lint:fix":"eslint . --ext .ts --fix"},"_npmUser":{"name":"prajna-avidya","email":"r@neat.af"},"repository":{"url":"git+https://github.com/PrajnaAvidya/prompt-shaper.git","type":"git"},"_npmVersion":"9.8.1","description":"prompt scripting language","directories":{},"_nodeVersion":"18.17.0","dependencies":{"commander":"^11.0.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.7","mocha":"^10.2.0","peggy":"^3.0.2","sinon":"^15.2.0","eslint":"^8.45.0","rimraf":"^5.0.1","ts-node":"^10.9.1","prettier":"^3.0.0","commitizen":"^4.3.0","typescript":"^5.1.6","@types/chai":"^4.3.5","@types/node":"^20.3.3","@types/mocha":"^10.0.1","@types/sinon":"^10.0.15","semantic-release":"^21.0.7","@semantic-release/git":"^10.0.1","eslint-config-prettier":"^8.8.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^6.1.0","cz-conventional-changelog":"^3.3.0","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^6.1.0"},"_npmOperationalInternal":{"tmp":"tmp/prompt-shaper_0.0.2_1691470979706_0.604987089196946","host":"s3://npm-registry-packages"}},"0.0.3":{"name":"prompt-shaper","version":"0.0.3","author":{"name":"Rafiq","email":"r@neat.af"},"license":"MIT","_id":"prompt-shaper@0.0.3","maintainers":[{"name":"prajna-avidya","email":"r@neat.af"}],"homepage":"https://github.com/PrajnaAvidya/prompt-shaper#readme","bugs":{"url":"https://github.com/PrajnaAvidya/prompt-shaper/issues"},"bin":{"prompt-shaper":"dist/src/cli.js"},"dist":{"shasum":"99146f704ff78032afd4f300949314c7c213ea4f","tarball":"https://registry.npmjs.org/prompt-shaper/-/prompt-shaper-0.0.3.tgz","fileCount":9,"integrity":"sha512-eGBxNJNzpDKJfqDzHV55shJ58IFE1SUwAE7C+3QqW0+0C2iEoaxoAdg6UTOjDFHf3HB+hXRffBifmfpgiWKSgw==","signatures":[{"sig":"MEQCIE+iBUOZUXjmbS/FvflZY6PF0dRHMkgNcjZIsIwcQj2TAiBpRj3ssAZrlM5YQ4qSdncDJXB8CM2fakTGmwboWFu/ww==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26310},"main":"dist/src/cli.js","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"gitHead":"8f498441858e3c260002d0d6a001747dc6fc3302","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/changelog","@semantic-release/npm",["@semantic-release/git",{"assets":["package.json","CHANGELOG.md"],"message":"chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"}],"@semantic-release/github"],"branches":["main"]},"scripts":{"lint":"eslint . --ext .ts","test":"mocha -r ts-node/register 'test/**/*.spec.ts' --timeout 5000","build":"rimraf dist && tsc","parse":"ts-node src/cli.ts","lint:fix":"eslint . --ext .ts --fix"},"_npmUser":{"name":"prajna-avidya","email":"r@neat.af"},"repository":{"url":"git+https://github.com/PrajnaAvidya/prompt-shaper.git","type":"git"},"_npmVersion":"9.8.1","description":"prompt scripting language","directories":{},"_nodeVersion":"18.17.0","dependencies":{"commander":"^11.0.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.7","mocha":"^10.2.0","peggy":"^3.0.2","sinon":"^15.2.0","eslint":"^8.45.0","rimraf":"^5.0.1","ts-node":"^10.9.1","prettier":"^3.0.0","commitizen":"^4.3.0","typescript":"^5.1.6","@types/chai":"^4.3.5","@types/node":"^20.3.3","@types/mocha":"^10.0.1","@types/sinon":"^10.0.15","semantic-release":"^21.0.7","@semantic-release/git":"^10.0.1","eslint-config-prettier":"^8.8.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^6.1.0","cz-conventional-changelog":"^3.3.0","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^6.1.0"},"_npmOperationalInternal":{"tmp":"tmp/prompt-shaper_0.0.3_1691471417074_0.18105714642000503","host":"s3://npm-registry-packages"}},"0.0.4":{"name":"prompt-shaper","version":"0.0.4","author":{"name":"Rafiq","email":"r@neat.af"},"license":"MIT","_id":"prompt-shaper@0.0.4","maintainers":[{"name":"prajna-avidya","email":"r@neat.af"}],"homepage":"https://github.com/PrajnaAvidya/prompt-shaper#readme","bugs":{"url":"https://github.com/PrajnaAvidya/prompt-shaper/issues"},"bin":{"prompt-shaper":"dist/src/cli.js"},"dist":{"shasum":"e4b48afcba5b3fce6d6f2d9af90a39c64369fee2","tarball":"https://registry.npmjs.org/prompt-shaper/-/prompt-shaper-0.0.4.tgz","fileCount":9,"integrity":"sha512-fk8CCxvx+SFWQHHrWB8TPF+O2Hf0pdJCKLRKnLz5HwuUM5jUTpk8TsZwlsxf9sZ6KfWkqvMFujFiFGthh5SWlw==","signatures":[{"sig":"MEQCIArhdizcr/GZqWCz65ID0shQTKvZJf1/KKjoj+ZktKDyAiAHhyvpEtGV9+o4c2+amz9PQkRbYJst5dBe8FU8QAKNQA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26366},"main":"dist/src/cli.js","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"gitHead":"9080ab1dbbe59b3e3ee1341842be503cf46b4855","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/changelog","@semantic-release/npm",["@semantic-release/git",{"assets":["package.json","CHANGELOG.md"],"message":"chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"}],"@semantic-release/github"],"branches":["main"]},"scripts":{"lint":"eslint . --ext .ts","test":"mocha -r ts-node/register 'test/**/*.spec.ts' --timeout 5000","build":"rimraf dist && tsc && chmod +x dist/src/cli.js","parse":"ts-node src/cli.ts","lint:fix":"eslint . --ext .ts --fix"},"_npmUser":{"name":"prajna-avidya","email":"r@neat.af"},"repository":{"url":"git+https://github.com/PrajnaAvidya/prompt-shaper.git","type":"git"},"_npmVersion":"9.8.1","description":"prompt scripting language","directories":{},"_nodeVersion":"18.17.0","dependencies":{"commander":"^11.0.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.7","mocha":"^10.2.0","peggy":"^3.0.2","sinon":"^15.2.0","eslint":"^8.45.0","rimraf":"^5.0.1","ts-node":"^10.9.1","prettier":"^3.0.0","commitizen":"^4.3.0","typescript":"^5.1.6","@types/chai":"^4.3.5","@types/node":"^20.3.3","@types/mocha":"^10.0.1","@types/sinon":"^10.0.15","semantic-release":"^21.0.7","@semantic-release/git":"^10.0.1","eslint-config-prettier":"^8.8.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^6.1.0","cz-conventional-changelog":"^3.3.0","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^6.1.0"},"_npmOperationalInternal":{"tmp":"tmp/prompt-shaper_0.0.4_1691471670428_0.6931949729105753","host":"s3://npm-registry-packages"}},"0.0.5":{"name":"prompt-shaper","version":"0.0.5","author":{"name":"Rafiq","email":"r@neat.af"},"license":"MIT","_id":"prompt-shaper@0.0.5","maintainers":[{"name":"prajna-avidya","email":"r@neat.af"}],"homepage":"https://github.com/PrajnaAvidya/prompt-shaper#readme","bugs":{"url":"https://github.com/PrajnaAvidya/prompt-shaper/issues"},"bin":{"prompt-shaper":"dist/src/cli.js"},"dist":{"shasum":"6b2d08e0800fa5a69a64f4ffcccd8c073e74d855","tarball":"https://registry.npmjs.org/prompt-shaper/-/prompt-shaper-0.0.5.tgz","fileCount":9,"integrity":"sha512-tYkDapnBP301D90+ypKqKub1zv00WwCfzxqqMt3FWtRIe40osIfsdAs86itseWSBwOIdsM0B3IzUYH41ziprgw==","signatures":[{"sig":"MEYCIQCkk9BCK+kdnJs9W+v/d72xzfv3NoTiUHyuj6T9p54nSgIhANjCpSJkSmBBYNcZ1UniO4O2ji+Cr+EK5MzdcM10/sgc","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26246},"main":"dist/src/cli.js","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"gitHead":"a0013e862df504a0c74d2e03a7e58d59a0e11569","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/changelog","@semantic-release/npm",["@semantic-release/git",{"assets":["package.json","CHANGELOG.md"],"message":"chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"}],"@semantic-release/github"],"branches":["main"]},"scripts":{"lint":"eslint . --ext .ts","test":"mocha -r ts-node/register 'test/**/*.spec.ts' --timeout 5000","build":"rimraf dist && tsc && chmod +x dist/src/cli.js","parse":"ts-node src/cli.ts","lint:fix":"eslint . --ext .ts --fix"},"_npmUser":{"name":"prajna-avidya","email":"r@neat.af"},"repository":{"url":"git+https://github.com/PrajnaAvidya/prompt-shaper.git","type":"git"},"_npmVersion":"9.8.1","description":"prompt scripting language","directories":{},"_nodeVersion":"18.17.0","dependencies":{"peggy":"^3.0.2","commander":"^11.0.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.7","mocha":"^10.2.0","sinon":"^15.2.0","eslint":"^8.45.0","rimraf":"^5.0.1","ts-node":"^10.9.1","prettier":"^3.0.0","commitizen":"^4.3.0","typescript":"^5.1.6","@types/chai":"^4.3.5","@types/node":"^20.3.3","@types/mocha":"^10.0.1","@types/sinon":"^10.0.15","semantic-release":"^21.0.7","@semantic-release/git":"^10.0.1","eslint-config-prettier":"^8.8.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^6.1.0","cz-conventional-changelog":"^3.3.0","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^6.1.0"},"_npmOperationalInternal":{"tmp":"tmp/prompt-shaper_0.0.5_1691511153939_0.5232770186880487","host":"s3://npm-registry-packages"}},"0.0.6":{"name":"prompt-shaper","version":"0.0.6","author":{"name":"Rafiq","email":"r@neat.af"},"license":"MIT","_id":"prompt-shaper@0.0.6","maintainers":[{"name":"prajna-avidya","email":"r@neat.af"}],"homepage":"https://github.com/PrajnaAvidya/prompt-shaper#readme","bugs":{"url":"https://github.com/PrajnaAvidya/prompt-shaper/issues"},"bin":{"prompt-shaper":"dist/src/cli.js"},"dist":{"shasum":"827a1850adf8648cf36731c0968d529e6b3f2f95","tarball":"https://registry.npmjs.org/prompt-shaper/-/prompt-shaper-0.0.6.tgz","fileCount":10,"integrity":"sha512-lSbTRBUTl3ZE3Xi24r9rngK7y4fTRg7lrkWJxtlBvkppSavpmT7QyMHNm3Y0hqxuUI8pZ5yH6ngEromVJTIBDQ==","signatures":[{"sig":"MEYCIQDifCIACNZ4KCLDNOPu32mtHe1SRuMAa7FPBPMlWRAzOQIhAIi+B+1U1z0bYpsjoEuEJu7YNIfLZBEa4Gcp1mTDmzCV","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31622},"main":"dist/src/cli.js","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"gitHead":"208e71e4faf70a3f5e53c68ec0bb4d811e207194","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/changelog","@semantic-release/npm",["@semantic-release/git",{"assets":["package.json","CHANGELOG.md"],"message":"chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"}],"@semantic-release/github"],"branches":["main"]},"scripts":{"lint":"eslint . --ext .ts","test":"mocha -r ts-node/register 'test/**/*.spec.ts' --timeout 5000","build":"rimraf dist && tsc && chmod +x dist/src/cli.js && cp src/template-parser.pegjs dist/src/template-parser.pegjs","parse":"ts-node src/cli.ts","lint:fix":"eslint . --ext .ts --fix"},"_npmUser":{"name":"prajna-avidya","email":"r@neat.af"},"repository":{"url":"git+https://github.com/PrajnaAvidya/prompt-shaper.git","type":"git"},"_npmVersion":"9.8.1","description":"prompt scripting language","directories":{},"_nodeVersion":"18.17.0","dependencies":{"peggy":"^3.0.2","commander":"^11.0.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.7","mocha":"^10.2.0","sinon":"^15.2.0","eslint":"^8.45.0","rimraf":"^5.0.1","ts-node":"^10.9.1","prettier":"^3.0.0","commitizen":"^4.3.0","typescript":"^5.1.6","@types/chai":"^4.3.5","@types/node":"^20.3.3","@types/mocha":"^10.0.1","@types/sinon":"^10.0.15","semantic-release":"^21.0.7","@semantic-release/git":"^10.0.1","eslint-config-prettier":"^8.8.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^6.1.0","cz-conventional-changelog":"^3.3.0","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^6.1.0"},"_npmOperationalInternal":{"tmp":"tmp/prompt-shaper_0.0.6_1691511377697_0.0901019213355474","host":"s3://npm-registry-packages"}},"0.0.7":{"name":"prompt-shaper","version":"0.0.7","author":{"name":"Rafiq","email":"r@neat.af"},"license":"MIT","_id":"prompt-shaper@0.0.7","maintainers":[{"name":"prajna-avidya","email":"r@neat.af"}],"homepage":"https://github.com/PrajnaAvidya/prompt-shaper#readme","bugs":{"url":"https://github.com/PrajnaAvidya/prompt-shaper/issues"},"bin":{"prompt-shaper":"dist/src/cli.js"},"dist":{"shasum":"7bfca1843e1a32aecf9587ae4c7fcfa2e5e933f7","tarball":"https://registry.npmjs.org/prompt-shaper/-/prompt-shaper-0.0.7.tgz","fileCount":10,"integrity":"sha512-XD94P6gk45cUxx0Dq4fbf+l0gqsyQh6W5FUqcBaA+ciLSdPhC7q7qurAWG6Vl2OtGf9MYR/fOliUtdHtxDwGQQ==","signatures":[{"sig":"MEUCIQCC4om2dkt9QK9rjNFlAtLxLwF5klsM6oOd5AqAMX464QIgS9QCcwhuK4VGnw4biJA+msSCOBoeg1oonrbTd2aWMyg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":74320},"main":"dist/src/cli.js","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"gitHead":"d97242ee7fb9d331aa5534541c4892d0a007b3c5","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/changelog","@semantic-release/npm",["@semantic-release/git",{"assets":["package.json","CHANGELOG.md"],"message":"chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"}],"@semantic-release/github"],"branches":["main"]},"scripts":{"lint":"eslint . --ext .ts","test":"mocha -r ts-node/register 'test/**/*.spec.ts' --timeout 5000","build":"rimraf dist && tsc && chmod +x dist/src/cli.js && peggy src/template-parser.pegjs -o dist/src/template-parser.js","parse":"ts-node src/cli.ts","lint:fix":"eslint . --ext .ts --fix"},"_npmUser":{"name":"prajna-avidya","email":"r@neat.af"},"repository":{"url":"git+https://github.com/PrajnaAvidya/prompt-shaper.git","type":"git"},"_npmVersion":"9.8.1","description":"prompt scripting language","directories":{},"_nodeVersion":"18.17.0","dependencies":{"peggy":"^3.0.2","commander":"^11.0.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.7","mocha":"^10.2.0","sinon":"^15.2.0","eslint":"^8.45.0","rimraf":"^5.0.1","ts-node":"^10.9.1","prettier":"^3.0.0","commitizen":"^4.3.0","typescript":"^5.1.6","@types/chai":"^4.3.5","@types/node":"^20.3.3","@types/mocha":"^10.0.1","@types/sinon":"^10.0.15","semantic-release":"^21.0.7","@semantic-release/git":"^10.0.1","eslint-config-prettier":"^8.8.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^6.1.0","cz-conventional-changelog":"^3.3.0","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^6.1.0"},"_npmOperationalInternal":{"tmp":"tmp/prompt-shaper_0.0.7_1691512127085_0.36677437102353716","host":"s3://npm-registry-packages"}},"0.0.8":{"name":"prompt-shaper","version":"0.0.8","author":{"name":"Rafiq","email":"r@neat.af"},"license":"MIT","_id":"prompt-shaper@0.0.8","maintainers":[{"name":"prajna-avidya","email":"r@neat.af"}],"homepage":"https://github.com/PrajnaAvidya/prompt-shaper#readme","bugs":{"url":"https://github.com/PrajnaAvidya/prompt-shaper/issues"},"bin":{"prompt-shaper":"dist/src/cli.js"},"dist":{"shasum":"d9a9197f02358512fcd04b8ebc89f244a8afa618","tarball":"https://registry.npmjs.org/prompt-shaper/-/prompt-shaper-0.0.8.tgz","fileCount":10,"integrity":"sha512-XAXHRQrpNxVB8OAvuxLKRFxX/Ig66Hwk+gqStq8xX/QsnU5lQjOInhIG0fYoFfF+SGTSNrSQ08bv35+xtD3sZg==","signatures":[{"sig":"MEUCIDiXHnNq+lUTSxS6fRM7uu7Pi2QnmQi6K0qi2tTB2cknAiEA8s4vgyG9V4Krjzo8lLFGX6uV50PqMLBVWr/oB/P02Es=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":74347},"main":"dist/src/cli.js","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"gitHead":"5bcdd70a24b6f57d89cfcf11bc2a2d63049b8c06","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/changelog","@semantic-release/npm",["@semantic-release/git",{"assets":["package.json","CHANGELOG.md"],"message":"chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"}],"@semantic-release/github"],"branches":["main"]},"scripts":{"lint":"eslint . --ext .ts","test":"mocha -r ts-node/register 'test/**/*.spec.ts' --timeout 5000","build":"rimraf dist && tsc && chmod +x dist/src/cli.js && peggy src/template-parser.pegjs -o dist/src/template-parser.js","parse":"ts-node src/cli.ts","lint:fix":"eslint . --ext .ts --fix"},"_npmUser":{"name":"prajna-avidya","email":"r@neat.af"},"repository":{"url":"git+https://github.com/PrajnaAvidya/prompt-shaper.git","type":"git"},"_npmVersion":"9.8.1","description":"prompt scripting language","directories":{},"_nodeVersion":"18.17.0","dependencies":{"peggy":"^3.0.2","commander":"^11.0.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.7","mocha":"^10.2.0","sinon":"^15.2.0","eslint":"^8.45.0","rimraf":"^5.0.1","ts-node":"^10.9.1","prettier":"^3.0.0","commitizen":"^4.3.0","typescript":"^5.1.6","@types/chai":"^4.3.5","@types/node":"^20.3.3","@types/mocha":"^10.0.1","@types/sinon":"^10.0.15","semantic-release":"^21.0.7","@semantic-release/git":"^10.0.1","eslint-config-prettier":"^8.8.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^6.1.0","cz-conventional-changelog":"^3.3.0","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^6.1.0"},"_npmOperationalInternal":{"tmp":"tmp/prompt-shaper_0.0.8_1691512290314_0.1923500246425991","host":"s3://npm-registry-packages"}},"0.0.9":{"name":"prompt-shaper","version":"0.0.9","author":{"name":"Rafiq","email":"r@neat.af"},"license":"MIT","_id":"prompt-shaper@0.0.9","maintainers":[{"name":"prajna-avidya","email":"r@neat.af"}],"homepage":"https://github.com/PrajnaAvidya/prompt-shaper#readme","bugs":{"url":"https://github.com/PrajnaAvidya/prompt-shaper/issues"},"bin":{"prompt-shaper":"dist/src/cli.js"},"dist":{"shasum":"8f17d562e2fe9b77f9e2e812f73fe67e95cd5d6d","tarball":"https://registry.npmjs.org/prompt-shaper/-/prompt-shaper-0.0.9.tgz","fileCount":10,"integrity":"sha512-snV1VTOEVosNauK32cehBoWGS5U8dpcE075yr2fa29QsvEgQTRHWQ8CRDKZo65AJ4BZlywNMYxFsYjuy8mEghg==","signatures":[{"sig":"MEQCIGyA0561Ki+gojxqgJNHO5IICIW0I6Q5RICSll1H7lqMAiAZSbNIdQaBfBG+ETvLMW6UH5yANYK8pEWt0TrsbUFreA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":74365},"main":"dist/src/cli.js","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"gitHead":"2b9b720a8e6acb7c75424b713deed612267be08f","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/changelog","@semantic-release/npm",["@semantic-release/git",{"assets":["package.json","CHANGELOG.md"],"message":"chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"}],"@semantic-release/github"],"branches":["main"]},"scripts":{"lint":"eslint . --ext .ts","test":"mocha -r ts-node/register 'test/**/*.spec.ts' --timeout 5000","build":"rimraf dist && tsc && chmod +x dist/src/cli.js && peggy src/template-parser.pegjs -o dist/src/template-parser.js","parse":"ts-node src/cli.ts","lint:fix":"eslint . --ext .ts --fix"},"_npmUser":{"name":"prajna-avidya","email":"r@neat.af"},"repository":{"url":"git+https://github.com/PrajnaAvidya/prompt-shaper.git","type":"git"},"_npmVersion":"9.8.1","description":"prompt scripting language","directories":{},"_nodeVersion":"18.17.0","dependencies":{"peggy":"^3.0.2","commander":"^11.0.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.7","mocha":"^10.2.0","sinon":"^15.2.0","eslint":"^8.45.0","rimraf":"^5.0.1","ts-node":"^10.9.1","prettier":"^3.0.0","commitizen":"^4.3.0","typescript":"^5.1.6","@types/chai":"^4.3.5","@types/node":"^20.3.3","@types/mocha":"^10.0.1","@types/sinon":"^10.0.15","semantic-release":"^21.0.7","@semantic-release/git":"^10.0.1","eslint-config-prettier":"^8.8.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^6.1.0","cz-conventional-changelog":"^3.3.0","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^6.1.0"},"_npmOperationalInternal":{"tmp":"tmp/prompt-shaper_0.0.9_1691512554362_0.9869677390145524","host":"s3://npm-registry-packages"}},"0.0.10":{"name":"prompt-shaper","version":"0.0.10","author":{"name":"Rafiq","email":"r@neat.af"},"license":"MIT","_id":"prompt-shaper@0.0.10","maintainers":[{"name":"prajna-avidya","email":"r@neat.af"}],"homepage":"https://github.com/PrajnaAvidya/prompt-shaper#readme","bugs":{"url":"https://github.com/PrajnaAvidya/prompt-shaper/issues"},"bin":{"prompt-shaper":"dist/cli.js"},"dist":{"shasum":"c15f1d6deaf02c63171cc887814678c6455fb36e","tarball":"https://registry.npmjs.org/prompt-shaper/-/prompt-shaper-0.0.10.tgz","fileCount":9,"integrity":"sha512-0/Q549b5hRQJ/9qXjRzBEc3yRcfpYxY3bGuv48SGTKWkdTtNpqMIp2JJE/zWsqcJRxs33NvTZDVyiHbKhoTJPg==","signatures":[{"sig":"MEUCIB9Wtr1KJdjVDV7sRitaciFvLo+Zj7NxpmLgYTQG+cvcAiEA6j8W4DUo5aONIt8zKi4i7rN3XTvZ97tw4/4ViH3SsBM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":71940},"main":"dist/cli.js","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"gitHead":"14dc643ec3b50970e367d9ceee0384e036dc9c34","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/changelog","@semantic-release/npm",["@semantic-release/git",{"assets":["package.json","CHANGELOG.md"],"message":"chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"}],"@semantic-release/github"],"branches":["main"]},"scripts":{"lint":"eslint . --ext .ts","test":"mocha -r ts-node/register 'test/**/*.spec.ts' --timeout 5000","build":"rimraf dist && tsc && chmod +x dist/cli.js && peggy src/template-parser.pegjs -o dist/template-parser.js","parse":"ts-node src/cli.ts","lint:fix":"eslint . --ext .ts --fix"},"_npmUser":{"name":"prajna-avidya","email":"r@neat.af"},"repository":{"url":"git+https://github.com/PrajnaAvidya/prompt-shaper.git","type":"git"},"_npmVersion":"9.8.1","description":"prompt scripting language","directories":{},"_nodeVersion":"18.17.0","dependencies":{"peggy":"^3.0.2","commander":"^11.0.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.7","mocha":"^10.2.0","sinon":"^15.2.0","eslint":"^8.45.0","rimraf":"^5.0.1","ts-node":"^10.9.1","prettier":"^3.0.0","commitizen":"^4.3.0","typescript":"^5.1.6","@types/chai":"^4.3.5","@types/node":"^20.3.3","@types/mocha":"^10.0.1","@types/sinon":"^10.0.15","semantic-release":"^21.0.7","@semantic-release/git":"^10.0.1","eslint-config-prettier":"^8.8.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^6.1.0","cz-conventional-changelog":"^3.3.0","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^6.1.0"},"_npmOperationalInternal":{"tmp":"tmp/prompt-shaper_0.0.10_1691530738596_0.8290118627155727","host":"s3://npm-registry-packages"}},"0.0.11":{"name":"prompt-shaper","version":"0.0.11","author":{"name":"Rafiq","email":"r@neat.af"},"license":"MIT","_id":"prompt-shaper@0.0.11","maintainers":[{"name":"prajna-avidya","email":"r@neat.af"}],"homepage":"https://github.com/PrajnaAvidya/prompt-shaper#readme","bugs":{"url":"https://github.com/PrajnaAvidya/prompt-shaper/issues"},"bin":{"prompt-shaper":"dist/cli.js"},"dist":{"shasum":"a123804774813966412df7e939bd2173b5915575","tarball":"https://registry.npmjs.org/prompt-shaper/-/prompt-shaper-0.0.11.tgz","fileCount":9,"integrity":"sha512-AnzLQjYGr4nQ9AqV8eoYYfKRKVewyXFrKmLSts3PefL2UeGrUwrw8AI9hF3TOxpZuEN73qwaBLHBOaODUzwIOw==","signatures":[{"sig":"MEUCICLM8Ofz1VLMl88BnXmcTIpBE48SkbOM/oobe0HH3I5NAiEA/oVQBAoTO22REsobnrsUntEL6ZFur5CR4RYOUQ08wDI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":71947},"main":"dist/cli.js","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"gitHead":"ddfb3aee9566db6211ac245ef9ed4a198ab5bf9c","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/changelog","@semantic-release/npm",["@semantic-release/git",{"assets":["package.json","CHANGELOG.md"],"message":"chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"}],"@semantic-release/github"],"branches":["main"]},"scripts":{"lint":"eslint . --ext .ts","test":"mocha -r ts-node/register 'test/**/*.spec.ts' --timeout 5000","build":"rimraf dist && tsc && chmod +x dist/cli.js && peggy src/template-parser.pegjs -o dist/template-parser.js","parse":"ts-node src/cli.ts","lint:fix":"eslint . --ext .ts --fix"},"_npmUser":{"name":"prajna-avidya","email":"r@neat.af"},"repository":{"url":"git+https://github.com/PrajnaAvidya/prompt-shaper.git","type":"git"},"_npmVersion":"9.8.1","description":"prompt scripting language","directories":{},"_nodeVersion":"18.17.0","dependencies":{"peggy":"^3.0.2","commander":"^11.0.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.7","mocha":"^10.2.0","sinon":"^15.2.0","eslint":"^8.45.0","rimraf":"^5.0.1","ts-node":"^10.9.1","prettier":"^3.0.0","commitizen":"^4.3.0","typescript":"^5.1.6","@types/chai":"^4.3.5","@types/node":"^20.3.3","@types/mocha":"^10.0.1","@types/sinon":"^10.0.15","semantic-release":"^21.0.7","@semantic-release/git":"^10.0.1","eslint-config-prettier":"^8.8.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^6.1.0","cz-conventional-changelog":"^3.3.0","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^6.1.0"},"_npmOperationalInternal":{"tmp":"tmp/prompt-shaper_0.0.11_1691727514812_0.21652670645880945","host":"s3://npm-registry-packages"}},"1.0.0":{"name":"prompt-shaper","version":"1.0.0","author":{"name":"Rafiq","email":"r@neat.af"},"license":"MIT","_id":"prompt-shaper@1.0.0","maintainers":[{"name":"prajna-avidya","email":"r@neat.af"}],"homepage":"https://github.com/PrajnaAvidya/prompt-shaper#readme","bugs":{"url":"https://github.com/PrajnaAvidya/prompt-shaper/issues"},"bin":{"prompt-shaper":"dist/cli.js"},"dist":{"shasum":"d4d0bfcd0395f848d6075496db9383ca1c27944d","tarball":"https://registry.npmjs.org/prompt-shaper/-/prompt-shaper-1.0.0.tgz","fileCount":10,"integrity":"sha512-dh/L9TYrJ75KR0RxWq0ZdRfUYUHB03WzHusuZDjDH14vZCkvs4va+deTpM+nZWIobR2GV1xSl4CJgqvh3u4Zxg==","signatures":[{"sig":"MEUCIBiCH2LfjZgf7xSexif1PJkcw80J3U5a0Et5QnkXjfUzAiEA75UUcsw5nrhFuF0hoKl3P0QLuba/4Tox2j36jifEALk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":78206},"main":"dist/cli.js","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"gitHead":"de4d8b9fe7091200d729e546b4d640ae0d6f42ae","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/changelog","@semantic-release/npm",["@semantic-release/git",{"assets":["package.json","CHANGELOG.md"],"message":"chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"}],"@semantic-release/github"],"branches":["main"]},"scripts":{"lint":"eslint . --ext .ts","test":"mocha -r ts-node/register 'test/**/*.spec.ts' --timeout 10000","build":"rimraf dist && tsc && chmod +x dist/cli.js && peggy src/template-parser.pegjs -o dist/template-parser.js","parse":"ts-node src/cli.ts","lint:fix":"eslint . --ext .ts --fix"},"_npmUser":{"name":"prajna-avidya","email":"r@neat.af"},"repository":{"url":"git+https://github.com/PrajnaAvidya/prompt-shaper.git","type":"git"},"_npmVersion":"9.8.1","description":"prompt scripting language","directories":{},"_nodeVersion":"18.17.1","dependencies":{"peggy":"^3.0.2","openai":"^4.8.0","commander":"^11.0.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.7","mocha":"^10.2.0","sinon":"^15.2.0","eslint":"^8.45.0","rimraf":"^5.0.1","ts-node":"^10.9.1","prettier":"^3.0.0","commitizen":"^4.3.0","typescript":"^5.1.6","@types/chai":"^4.3.5","@types/node":"^20.3.3","@types/mocha":"^10.0.1","@types/sinon":"^10.0.15","semantic-release":"^21.0.7","@semantic-release/git":"^10.0.1","eslint-config-prettier":"^8.8.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^6.1.0","cz-conventional-changelog":"^3.3.0","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^6.1.0"},"_npmOperationalInternal":{"tmp":"tmp/prompt-shaper_1.0.0_1695177656515_0.6026450432684856","host":"s3://npm-registry-packages"}},"1.1.0":{"name":"prompt-shaper","version":"1.1.0","author":{"name":"Rafiq","email":"r@neat.af"},"license":"MIT","_id":"prompt-shaper@1.1.0","maintainers":[{"name":"prajna-avidya","email":"r@neat.af"}],"homepage":"https://github.com/PrajnaAvidya/prompt-shaper#readme","bugs":{"url":"https://github.com/PrajnaAvidya/prompt-shaper/issues"},"bin":{"prompt-shaper":"dist/cli.js"},"dist":{"shasum":"8b3edaf181c310a8b19e2845d9f6803d3bed4668","tarball":"https://registry.npmjs.org/prompt-shaper/-/prompt-shaper-1.1.0.tgz","fileCount":10,"integrity":"sha512-dqKkvoP6gjBGzwbByfg5Nxc22P7YsAbBTn17YmkzLErhuMeTvSiHbbMH+k19E2Qc/TuJi0jFvg/Gg/2+Vtzg7Q==","signatures":[{"sig":"MEUCIQDaR1OsTpX8h/hY78V36Cq/H+v5I/62nrCuYTHnXos9wQIgdDf+0TOCkQWN6BxD2HAklks6Mdr1faTPZxzbya7OjSA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":83025},"main":"dist/cli.js","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"gitHead":"9a434b3b91c8e5e215aa34e931e5a1300d3d737f","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/changelog","@semantic-release/npm",["@semantic-release/git",{"assets":["package.json","CHANGELOG.md"],"message":"chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"}],"@semantic-release/github"],"branches":["main"]},"scripts":{"lint":"eslint . --ext .ts","test":"mocha -r ts-node/register 'test/**/*.spec.ts' --timeout 5000","build":"rimraf dist && tsc && chmod +x dist/cli.js && peggy src/template-parser.pegjs -o dist/template-parser.js","parse":"ts-node src/cli.ts","lint:fix":"eslint . --ext .ts --fix"},"_npmUser":{"name":"prajna-avidya","email":"r@neat.af"},"repository":{"url":"git+https://github.com/PrajnaAvidya/prompt-shaper.git","type":"git"},"_npmVersion":"9.8.1","description":"prompt scripting language","directories":{},"_nodeVersion":"18.17.1","dependencies":{"peggy":"^3.0.2","openai":"^4.8.0","commander":"^11.0.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.7","mocha":"^10.2.0","sinon":"^15.2.0","eslint":"^8.45.0","rimraf":"^5.0.1","ts-node":"^10.9.1","prettier":"^3.0.0","commitizen":"^4.3.0","typescript":"^5.1.6","@types/chai":"^4.3.5","@types/node":"^20.3.3","@types/mocha":"^10.0.1","@types/sinon":"^10.0.15","semantic-release":"^21.0.7","@semantic-release/git":"^10.0.1","eslint-config-prettier":"^8.8.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^6.1.0","cz-conventional-changelog":"^3.3.0","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^6.1.0"},"_npmOperationalInternal":{"tmp":"tmp/prompt-shaper_1.1.0_1695239073068_0.9614759299555298","host":"s3://npm-registry-packages"}},"1.2.0":{"name":"prompt-shaper","version":"1.2.0","author":{"name":"Rafiq","email":"r@neat.af"},"license":"MIT","_id":"prompt-shaper@1.2.0","maintainers":[{"name":"prajna-avidya","email":"r@neat.af"}],"homepage":"https://github.com/PrajnaAvidya/prompt-shaper#readme","bugs":{"url":"https://github.com/PrajnaAvidya/prompt-shaper/issues"},"bin":{"prompt-shaper":"dist/cli.js"},"dist":{"shasum":"753a9a268d9fe63989e3398336f8cd662c22f8e8","tarball":"https://registry.npmjs.org/prompt-shaper/-/prompt-shaper-1.2.0.tgz","fileCount":10,"integrity":"sha512-vy+nhRskCdXYDE/prKK3S5RzJpk7bsBYmNXCg+zsEaa4ZjNRUThLDI+PsDyS/3cLb4DlFp6udDmQmoxrNiU/BQ==","signatures":[{"sig":"MEQCIQDUZZ+4LQioFtKbvO6OWdYY4oTPI7gDeca4D8eXa0+M4QIfd2eedMuOwl1yS6uqjsD+Kb/7A2+b/rEeHk09Ax0dAA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":83856},"main":"dist/cli.js","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"gitHead":"4b804db1c96852924983cfd690679aa281c0a1c9","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/changelog","@semantic-release/npm",["@semantic-release/git",{"assets":["package.json","CHANGELOG.md"],"message":"chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"}],"@semantic-release/github"],"branches":["main"]},"scripts":{"lint":"eslint . --ext .ts","test":"mocha -r ts-node/register 'test/**/*.spec.ts' --timeout 5000","build":"rimraf dist && tsc && chmod +x dist/cli.js && peggy src/template-parser.pegjs -o dist/template-parser.js","parse":"ts-node src/cli.ts","lint:fix":"eslint . --ext .ts --fix"},"_npmUser":{"name":"prajna-avidya","email":"r@neat.af"},"repository":{"url":"git+https://github.com/PrajnaAvidya/prompt-shaper.git","type":"git"},"_npmVersion":"9.8.1","description":"prompt scripting language","directories":{},"_nodeVersion":"18.17.1","dependencies":{"peggy":"^3.0.2","openai":"^4.8.0","commander":"^11.0.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.7","mocha":"^10.2.0","sinon":"^15.2.0","eslint":"^8.45.0","rimraf":"^5.0.1","ts-node":"^10.9.1","prettier":"^3.0.0","commitizen":"^4.3.0","typescript":"^5.1.6","@types/chai":"^4.3.5","@types/node":"^20.3.3","@types/mocha":"^10.0.1","@types/sinon":"^10.0.15","semantic-release":"^21.0.7","@semantic-release/git":"^10.0.1","eslint-config-prettier":"^8.8.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^6.1.0","cz-conventional-changelog":"^3.3.0","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^6.1.0"},"_npmOperationalInternal":{"tmp":"tmp/prompt-shaper_1.2.0_1695763392377_0.20237753105444178","host":"s3://npm-registry-packages"}},"1.3.0":{"name":"prompt-shaper","version":"1.3.0","author":{"name":"Rafiq","email":"r@neat.af"},"license":"MIT","_id":"prompt-shaper@1.3.0","maintainers":[{"name":"prajna-avidya","email":"r@neat.af"}],"homepage":"https://github.com/PrajnaAvidya/prompt-shaper#readme","bugs":{"url":"https://github.com/PrajnaAvidya/prompt-shaper/issues"},"bin":{"prompt-shaper":"dist/cli.js"},"dist":{"shasum":"ea639f075c6b7b2307c02228aa4602ec4e20a2dd","tarball":"https://registry.npmjs.org/prompt-shaper/-/prompt-shaper-1.3.0.tgz","fileCount":10,"integrity":"sha512-kbtx48Ez7mvpCPp2hjbggqn9h7Srjc10SrIBLbNCiaDfZoIR7O9d6mlu3NDOYm4RWUyVRtqtQJm00y7PSKiLcw==","signatures":[{"sig":"MEUCIQCkuUcan5q/XiCfFlMMeV5MqQ+F9XaEKo6PnM8KqXwn3QIgIBPVoTHshqfxHi4Eml1La71jRAfo17SSMVnkTklRjP8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":84887},"main":"dist/cli.js","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"gitHead":"b49b25d87c36090604810c38d7d813349a3d0904","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/changelog","@semantic-release/npm",["@semantic-release/git",{"assets":["package.json","CHANGELOG.md"],"message":"chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"}],"@semantic-release/github"],"branches":["main"]},"scripts":{"lint":"eslint . --ext .ts","test":"mocha -r ts-node/register 'test/**/*.spec.ts' --timeout 5000","build":"rimraf dist && tsc && chmod +x dist/cli.js && peggy src/template-parser.pegjs -o dist/template-parser.js","parse":"ts-node src/cli.ts","lint:fix":"eslint . --ext .ts --fix"},"_npmUser":{"name":"prajna-avidya","email":"r@neat.af"},"repository":{"url":"git+https://github.com/PrajnaAvidya/prompt-shaper.git","type":"git"},"_npmVersion":"9.8.1","description":"prompt scripting language","directories":{},"_nodeVersion":"18.18.0","dependencies":{"peggy":"^3.0.2","openai":"^4.8.0","commander":"^11.0.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.7","mocha":"^10.2.0","sinon":"^15.2.0","eslint":"^8.45.0","rimraf":"^5.0.1","ts-node":"^10.9.1","prettier":"^3.0.0","commitizen":"^4.3.0","typescript":"^5.1.6","@types/chai":"^4.3.5","@types/node":"^20.3.3","@types/mocha":"^10.0.1","@types/sinon":"^10.0.15","semantic-release":"^21.0.7","@semantic-release/git":"^10.0.1","eslint-config-prettier":"^8.8.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^6.1.0","cz-conventional-changelog":"^3.3.0","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^6.1.0"},"_npmOperationalInternal":{"tmp":"tmp/prompt-shaper_1.3.0_1695766705621_0.5504199667218421","host":"s3://npm-registry-packages"}},"1.4.0":{"name":"prompt-shaper","version":"1.4.0","author":{"name":"Rafiq","email":"r@neat.af"},"license":"MIT","_id":"prompt-shaper@1.4.0","maintainers":[{"name":"prajna-avidya","email":"r@neat.af"}],"homepage":"https://github.com/PrajnaAvidya/prompt-shaper#readme","bugs":{"url":"https://github.com/PrajnaAvidya/prompt-shaper/issues"},"bin":{"prompt-shaper":"dist/cli.js"},"dist":{"shasum":"4807717c365866080d6607c246cf50b18390b32a","tarball":"https://registry.npmjs.org/prompt-shaper/-/prompt-shaper-1.4.0.tgz","fileCount":10,"integrity":"sha512-RLiNLZNahMYZPVmizvVNwg4kNirqaXR4iklUf/yD1oXIQcuBJxn6468gjfkVFTKD48ajwgiBWpkt/kiml/xuPA==","signatures":[{"sig":"MEQCIHgcBTgzaCGtHAYQmoEdHMLbAJ0EPEdKa9g1T+C/FSAPAiA050rmLyOTeH/8IANUKrQvhJ9i4pSkrs6wv0drqqwfsA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":85074},"main":"dist/cli.js","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"gitHead":"d4549565c24dfef579994f8c73b872a3ff6199c4","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/changelog","@semantic-release/npm",["@semantic-release/git",{"assets":["package.json","CHANGELOG.md"],"message":"chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"}],"@semantic-release/github"],"branches":["main"]},"scripts":{"lint":"eslint . --ext .ts","test":"mocha -r ts-node/register 'test/**/*.spec.ts' --timeout 5000","build":"rimraf dist && tsc && chmod +x dist/cli.js && peggy src/template-parser.pegjs -o dist/template-parser.js","parse":"ts-node src/cli.ts","lint:fix":"eslint . --ext .ts --fix"},"_npmUser":{"name":"prajna-avidya","email":"r@neat.af"},"repository":{"url":"git+https://github.com/PrajnaAvidya/prompt-shaper.git","type":"git"},"_npmVersion":"9.8.1","description":"prompt scripting language","directories":{},"_nodeVersion":"18.18.2","dependencies":{"peggy":"^3.0.2","openai":"^4.8.0","commander":"^11.0.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","mocha":"^10.2.0","sinon":"^15.2.0","eslint":"^8.45.0","rimraf":"^5.0.1","ts-node":"^10.9.1","prettier":"^3.0.0","commitizen":"^4.3.0","typescript":"^5.1.6","@types/chai":"^4.3.5","@types/node":"^20.3.3","@types/mocha":"^10.0.1","@types/sinon":"^10.0.15","semantic-release":"^21.0.7","@semantic-release/git":"^10.0.1","eslint-config-prettier":"^8.8.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^6.1.0","cz-conventional-changelog":"^3.3.0","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^6.1.0"},"_npmOperationalInternal":{"tmp":"tmp/prompt-shaper_1.4.0_1699411436529_0.4196698840164803","host":"s3://npm-registry-packages"}},"2.0.0":{"name":"prompt-shaper","version":"2.0.0","author":{"name":"Rafiq","email":"r@neat.af"},"license":"MIT","_id":"prompt-shaper@2.0.0","maintainers":[{"name":"prajna-avidya","email":"r@neat.af"}],"homepage":"https://github.com/PrajnaAvidya/prompt-shaper#readme","bugs":{"url":"https://github.com/PrajnaAvidya/prompt-shaper/issues"},"bin":{"prompt-shaper":"dist/cli.js"},"dist":{"shasum":"7f6124ce4d6d70492c18e066a1309427c36ae8c2","tarball":"https://registry.npmjs.org/prompt-shaper/-/prompt-shaper-2.0.0.tgz","fileCount":10,"integrity":"sha512-AJkmvT6MNtiLfQnkG6nXzuj199TxYbqoyY2/SoE23sIbTokKe06dokOlACfNzoVWV3G9dDgr9YE7+4f9TF+H/Q==","signatures":[{"sig":"MEUCIErvDw+HajXWG/mU1ClTOuR9n738bO8fr4YhbQPofAvoAiEAo6R5+Oi8D0fwDzUJin0CiJNMe0b5KdJ6Smd2m63hJ6w=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":85224},"main":"dist/cli.js","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"gitHead":"47e4ba2ce431922d599b7b8a8bdb166cc18e7223","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/changelog","@semantic-release/npm",["@semantic-release/git",{"assets":["package.json","CHANGELOG.md"],"message":"chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"}],"@semantic-release/github"],"branches":["main"]},"scripts":{"lint":"eslint . --ext .ts","test":"mocha -r ts-node/register 'test/**/*.spec.ts' --timeout 5000","build":"rimraf dist && tsc && chmod +x dist/cli.js && peggy src/template-parser.pegjs -o dist/template-parser.js","parse":"ts-node src/cli.ts","lint:fix":"eslint . --ext .ts --fix"},"_npmUser":{"name":"prajna-avidya","email":"r@neat.af"},"repository":{"url":"git+https://github.com/PrajnaAvidya/prompt-shaper.git","type":"git"},"_npmVersion":"9.8.1","description":"prompt scripting language","directories":{},"_nodeVersion":"18.18.2","dependencies":{"peggy":"^3.0.2","openai":"^4.8.0","commander":"^11.0.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","mocha":"^10.2.0","sinon":"^15.2.0","eslint":"^8.45.0","rimraf":"^5.0.1","ts-node":"^10.9.1","prettier":"^3.0.0","commitizen":"^4.3.0","typescript":"^5.1.6","@types/chai":"^4.3.5","@types/node":"^20.3.3","@types/mocha":"^10.0.1","@types/sinon":"^10.0.15","semantic-release":"^21.0.7","@semantic-release/git":"^10.0.1","eslint-config-prettier":"^8.8.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^6.1.0","cz-conventional-changelog":"^3.3.0","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^6.1.0"},"_npmOperationalInternal":{"tmp":"tmp/prompt-shaper_2.0.0_1701662444558_0.16997638945165638","host":"s3://npm-registry-packages"}},"2.1.0":{"name":"prompt-shaper","version":"2.1.0","author":{"name":"Rafiq","email":"rafiq@prajnaconcepts.com"},"license":"MIT","_id":"prompt-shaper@2.1.0","maintainers":[{"name":"prajna-avidya","email":"rafiq@prajnaconcepts.com"}],"homepage":"https://github.com/PrajnaAvidya/prompt-shaper#readme","bugs":{"url":"https://github.com/PrajnaAvidya/prompt-shaper/issues"},"bin":{"prompt-shaper":"dist/cli.js"},"dist":{"shasum":"dd26eb7618004d356b20e2dfea0eb7529d668d5a","tarball":"https://registry.npmjs.org/prompt-shaper/-/prompt-shaper-2.1.0.tgz","fileCount":10,"integrity":"sha512-5TjKUjg0Ta9gOzRSbq/mOly/CNrNlZOFyvgbmAkVsXYNxlgP/shpper6FItf298PjzPdwxY/8iqGuAUD8U5NjQ==","signatures":[{"sig":"MEYCIQC+54FXnQtN0LMILK8Bo/4p6gfZsUnTQHrg2tPnTIgCeQIhAL5kWepZ6tEhcgj5xvEsNrwc2M2AZ3TWLcRe8Pm9rN+r","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":86581},"main":"dist/cli.js","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"gitHead":"8db9356710bd9061e9aa29451a8261c5b446de14","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/changelog","@semantic-release/npm",["@semantic-release/git",{"assets":["package.json","CHANGELOG.md"],"message":"chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"}],"@semantic-release/github"],"branches":["main"]},"scripts":{"lint":"eslint . --ext .ts","test":"mocha -r ts-node/register 'test/**/*.spec.ts' --timeout 5000","build":"rimraf dist && tsc && chmod +x dist/cli.js && peggy src/template-parser.pegjs -o dist/template-parser.js","parse":"ts-node src/cli.ts","lint:fix":"eslint . --ext .ts --fix"},"_npmUser":{"name":"prajna-avidya","email":"rafiq@prajnaconcepts.com"},"repository":{"url":"git+https://github.com/PrajnaAvidya/prompt-shaper.git","type":"git"},"_npmVersion":"9.8.1","description":"prompt scripting language","directories":{},"_nodeVersion":"18.20.5","dependencies":{"peggy":"^3.0.2","openai":"^4.8.0","commander":"^11.0.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","mocha":"^10.2.0","sinon":"^15.2.0","eslint":"^8.45.0","rimraf":"^5.0.1","ts-node":"^10.9.1","prettier":"^3.0.0","commitizen":"^4.3.0","typescript":"^5.1.6","@types/chai":"^4.3.5","@types/node":"^20.3.3","@types/mocha":"^10.0.1","@types/sinon":"^10.0.15","semantic-release":"^21.0.7","@semantic-release/git":"^10.0.1","eslint-config-prettier":"^8.8.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^6.1.0","cz-conventional-changelog":"^3.3.0","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^6.1.0"},"_npmOperationalInternal":{"tmp":"tmp/prompt-shaper_2.1.0_1732854537376_0.6843110973168576","host":"s3://npm-registry-packages"}},"2.2.0":{"name":"prompt-shaper","version":"2.2.0","author":{"name":"Rafiq","email":"rafiq@prajnaconcepts.com"},"license":"MIT","_id":"prompt-shaper@2.2.0","maintainers":[{"name":"prajna-avidya","email":"rafiq@prajnaconcepts.com"}],"homepage":"https://github.com/PrajnaAvidya/prompt-shaper#readme","bugs":{"url":"https://github.com/PrajnaAvidya/prompt-shaper/issues"},"bin":{"prompt-shaper":"dist/cli.js"},"dist":{"shasum":"83b1fc7c1d6be1bb947d53719825eb3cc6089725","tarball":"https://registry.npmjs.org/prompt-shaper/-/prompt-shaper-2.2.0.tgz","fileCount":10,"integrity":"sha512-gO3O7/7cLt7DMjMi91d+KXfD6bmLME40uet4lB9Rhdox8lPMwilNXmdhOAFSJmS21/t4FX7mNtwh98riLyv61A==","signatures":[{"sig":"MEYCIQDvH8HLK91WMo48LMAsMcQGf2OQgWBiNGcMuhNe7fAZyAIhAO+y4zNwm4lmqwJ5eXPtHE/Gt//5kajeqv8FTmv6vY1A","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":91022},"main":"dist/cli.js","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"gitHead":"35f026491221aa357bd9f926d32a49204315c050","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/changelog","@semantic-release/npm",["@semantic-release/git",{"assets":["package.json","CHANGELOG.md"],"message":"chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"}],"@semantic-release/github"],"branches":["main"]},"scripts":{"lint":"eslint . --ext .ts","test":"PROMPT_SHAPER_TESTS=true mocha -r ts-node/register 'test/**/*.spec.ts' --timeout 5000","build":"rimraf dist && tsc && chmod +x dist/cli.js && peggy src/template-parser.pegjs -o dist/template-parser.js","parse":"ts-node src/cli.ts","lint:fix":"eslint . --ext .ts --fix"},"_npmUser":{"name":"prajna-avidya","email":"rafiq@prajnaconcepts.com"},"repository":{"url":"git+https://github.com/PrajnaAvidya/prompt-shaper.git","type":"git"},"_npmVersion":"9.8.1","description":"prompt scripting language","directories":{},"_nodeVersion":"18.20.5","dependencies":{"peggy":"^3.0.2","openai":"^4.8.0","commander":"^11.0.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","mocha":"^10.2.0","sinon":"^15.2.0","eslint":"^8.45.0","rimraf":"^5.0.1","ts-node":"^10.9.1","prettier":"^3.0.0","commitizen":"^4.3.0","typescript":"^5.1.6","@types/chai":"^4.3.5","@types/node":"^20.3.3","@types/mocha":"^10.0.1","@types/sinon":"^10.0.15","semantic-release":"^21.0.7","@semantic-release/git":"^10.0.1","eslint-config-prettier":"^8.8.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^6.1.0","cz-conventional-changelog":"^3.3.0","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^6.1.0"},"_npmOperationalInternal":{"tmp":"tmp/prompt-shaper_2.2.0_1734124394896_0.5414577240165341","host":"s3://npm-registry-packages-npm-production"}},"2.3.0":{"name":"prompt-shaper","version":"2.3.0","author":{"name":"Prajna Avidya"},"license":"MIT","_id":"prompt-shaper@2.3.0","maintainers":[{"name":"prajna-avidya","email":"rafiq@prajnaconcepts.com"}],"homepage":"https://github.com/PrajnaAvidya/prompt-shaper#readme","bugs":{"url":"https://github.com/PrajnaAvidya/prompt-shaper/issues"},"bin":{"prompt-shaper":"dist/cli.js"},"dist":{"shasum":"7ea42cef0cddca1d6b8db4efdebc5ae89e087109","tarball":"https://registry.npmjs.org/prompt-shaper/-/prompt-shaper-2.3.0.tgz","fileCount":10,"integrity":"sha512-9DmJ9oGdIn35lNpj4b/DEiqtDFkL5LVLvIXKgGNIEBHAKYm486GMnI1tNbR8xyMPGewmMQZKaNpjbz0/PlBJxQ==","signatures":[{"sig":"MEUCIQDmUsRCthejSBm3R45GBhWnQDXFGwL8I2Fk6awdCaOJfgIgTdFYiwHcElsTpF88wPIwSAcGCDpAoc7THbRrav7aS1E=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":90226},"main":"dist/cli.js","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"gitHead":"a0d6c6054000ba06158e17f842495a5ad749a509","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/changelog","@semantic-release/npm",["@semantic-release/git",{"assets":["package.json","CHANGELOG.md"],"message":"chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"}],"@semantic-release/github"],"branches":["main"]},"scripts":{"lint":"eslint . --ext .ts","test":"PROMPT_SHAPER_TESTS=true mocha -r ts-node/register 'test/**/*.spec.ts' --timeout 5000","build":"rimraf dist && tsc && chmod +x dist/cli.js && peggy src/template-parser.pegjs -o dist/template-parser.js","parse":"ts-node src/cli.ts","lint:fix":"eslint . --ext .ts --fix"},"_npmUser":{"name":"prajna-avidya","email":"rafiq@prajnaconcepts.com"},"repository":{"url":"git+https://github.com/PrajnaAvidya/prompt-shaper.git","type":"git"},"_npmVersion":"9.8.1","description":"prompt scripting language","directories":{},"_nodeVersion":"18.20.5","dependencies":{"peggy":"^3.0.2","openai":"^4.8.0","commander":"^11.0.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","mocha":"^10.2.0","sinon":"^15.2.0","eslint":"^8.45.0","rimraf":"^5.0.1","ts-node":"^10.9.1","prettier":"^3.0.0","commitizen":"^4.3.0","typescript":"^5.1.6","@types/chai":"^4.3.5","@types/node":"^20.3.3","@types/mocha":"^10.0.1","@types/sinon":"^10.0.15","semantic-release":"^21.0.7","@semantic-release/git":"^10.0.1","eslint-config-prettier":"^8.8.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^6.1.0","cz-conventional-changelog":"^3.3.0","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^6.1.0"},"_npmOperationalInternal":{"tmp":"tmp/prompt-shaper_2.3.0_1734130404956_0.9005579347676496","host":"s3://npm-registry-packages-npm-production"}},"2.3.1":{"name":"prompt-shaper","version":"2.3.1","author":{"name":"Prajna Avidya"},"license":"MIT","_id":"prompt-shaper@2.3.1","maintainers":[{"name":"prajna-avidya","email":"rafiq@prajnaconcepts.com"}],"homepage":"https://github.com/PrajnaAvidya/prompt-shaper#readme","bugs":{"url":"https://github.com/PrajnaAvidya/prompt-shaper/issues"},"bin":{"prompt-shaper":"dist/cli.js"},"dist":{"shasum":"7c855f5b4de31d9947d9c587b5a0f21e4bca4739","tarball":"https://registry.npmjs.org/prompt-shaper/-/prompt-shaper-2.3.1.tgz","fileCount":10,"integrity":"sha512-dqQ7NMRkVTjJNBGvlaDITb9kRcVtz1ncafShflev9pdNbnTQrTK09VXBvrbySKSgQ44cba/kZxuRSBsl3QPAwg==","signatures":[{"sig":"MEQCIBSoyRBimt806TaKFDmucBm0iwfFV1WCRmrf/Jw4WjlkAiBfqLQLKDRIkzCrmOAuWT5uGF1rdvNb3X/046KBTGuYlw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":90129},"main":"dist/cli.js","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"gitHead":"3bd1441ffce1a28de657a270364017250bd7ea61","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/changelog","@semantic-release/npm",["@semantic-release/git",{"assets":["package.json","CHANGELOG.md"],"message":"chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"}],"@semantic-release/github"],"branches":["main"]},"scripts":{"lint":"eslint . --ext .ts","test":"PROMPT_SHAPER_TESTS=true mocha -r ts-node/register 'test/**/*.spec.ts' --timeout 5000","build":"rimraf dist && tsc && chmod +x dist/cli.js && peggy src/template-parser.pegjs -o dist/template-parser.js","parse":"ts-node src/cli.ts","lint:fix":"eslint . --ext .ts --fix"},"_npmUser":{"name":"prajna-avidya","email":"rafiq@prajnaconcepts.com"},"repository":{"url":"git+https://github.com/PrajnaAvidya/prompt-shaper.git","type":"git"},"_npmVersion":"9.8.1","description":"prompt scripting language","directories":{},"_nodeVersion":"18.20.5","dependencies":{"peggy":"^3.0.2","openai":"^4.8.0","commander":"^11.0.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","mocha":"^10.2.0","sinon":"^15.2.0","eslint":"^8.45.0","rimraf":"^5.0.1","ts-node":"^10.9.1","prettier":"^3.0.0","commitizen":"^4.3.0","typescript":"^5.1.6","@types/chai":"^4.3.5","@types/node":"^20.3.3","@types/mocha":"^10.0.1","@types/sinon":"^10.0.15","semantic-release":"^21.0.7","@semantic-release/git":"^10.0.1","eslint-config-prettier":"^8.8.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^6.1.0","cz-conventional-changelog":"^3.3.0","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^6.1.0"},"_npmOperationalInternal":{"tmp":"tmp/prompt-shaper_2.3.1_1734133707230_0.9309359450073362","host":"s3://npm-registry-packages-npm-production"}},"2.4.0":{"name":"prompt-shaper","version":"2.4.0","author":{"name":"Prajna Avidya"},"license":"MIT","_id":"prompt-shaper@2.4.0","maintainers":[{"name":"prajna-avidya","email":"rafiq@prajnaconcepts.com"}],"homepage":"https://github.com/PrajnaAvidya/prompt-shaper#readme","bugs":{"url":"https://github.com/PrajnaAvidya/prompt-shaper/issues"},"bin":{"prompt-shaper":"dist/cli.js"},"dist":{"shasum":"dcb7ac6b5bf390b1afd7107496646ef7a1744dd1","tarball":"https://registry.npmjs.org/prompt-shaper/-/prompt-shaper-2.4.0.tgz","fileCount":10,"integrity":"sha512-2GxJ7yrWAB5MjXBmc4Xkm8LqfVE2yIl8sg9s5NDL/XI+DLndKcwC/AOo42JhFJKCFNVWmlTb0Aeh6Hu8H8VAiQ==","signatures":[{"sig":"MEUCICF7vdBa8Y0qgeMyYfikEwlcoXYKa3ia8mR3rOC+nyeCAiEAgtp/FQtH8fFdSLuw1jJjjZCTixdwTPB9JI4xUGm3IG4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":95178},"main":"dist/cli.js","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"gitHead":"b6c673ded8d700588a4ba2e48d2add2af5783de7","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/changelog","@semantic-release/npm",["@semantic-release/git",{"assets":["package.json","CHANGELOG.md"],"message":"chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"}],"@semantic-release/github"],"branches":["main"]},"scripts":{"lint":"eslint . --ext .ts","test":"PROMPT_SHAPER_TESTS=true mocha -r ts-node/register 'test/**/*.spec.ts' --timeout 5000","build":"rimraf dist && tsc && chmod +x dist/cli.js && peggy src/template-parser.pegjs -o dist/template-parser.js","parse":"ts-node src/cli.ts","lint:fix":"eslint . --ext .ts --fix"},"_npmUser":{"name":"prajna-avidya","email":"rafiq@prajnaconcepts.com"},"repository":{"url":"git+https://github.com/PrajnaAvidya/prompt-shaper.git","type":"git"},"_npmVersion":"9.8.1","description":"prompt scripting language","directories":{},"_nodeVersion":"18.20.5","dependencies":{"peggy":"^3.0.2","openai":"^4.8.0","commander":"^11.0.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","mocha":"^10.2.0","sinon":"^15.2.0","eslint":"^8.45.0","rimraf":"^5.0.1","ts-node":"^10.9.1","prettier":"^3.0.0","commitizen":"^4.3.0","typescript":"^5.1.6","@types/chai":"^4.3.5","@types/node":"^20.3.3","@types/jsdom":"^21.1.7","@types/mocha":"^10.0.1","@types/sinon":"^10.0.15","semantic-release":"^21.0.7","@semantic-release/git":"^10.0.1","eslint-config-prettier":"^8.8.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^6.1.0","cz-conventional-changelog":"^3.3.0","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^6.1.0"},"optionalDependencies":{"jsdom":"^25.0.1","@mozilla/readability":"^0.5.0"},"_npmOperationalInternal":{"tmp":"tmp/prompt-shaper_2.4.0_1734155030311_0.16273073345774836","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"name":"prompt-shaper","version":"3.0.0","author":{"name":"Prajna Avidya"},"license":"MIT","_id":"prompt-shaper@3.0.0","maintainers":[{"name":"prajna-avidya","email":"rafiq@prajnaconcepts.com"}],"homepage":"https://github.com/PrajnaAvidya/prompt-shaper#readme","bugs":{"url":"https://github.com/PrajnaAvidya/prompt-shaper/issues"},"bin":{"prompt-shaper":"dist/cli.js"},"dist":{"shasum":"23542bb277ff65b4783524a6254ccb6677759348","tarball":"https://registry.npmjs.org/prompt-shaper/-/prompt-shaper-3.0.0.tgz","fileCount":10,"integrity":"sha512-3ojwEI9mX8EZDhpFOQvFd6Al5MvFfyTHhpr4GADQh5smyQkoQY6UReE86o3tc5FCSEWU0SSlktUod1iDVhX0uQ==","signatures":[{"sig":"MEUCIQDSaq9Cx/hL+jj7xUOY3aN+Eys5MsWAST4MNHucNzRyogIgUYS6Z1Bwd58ugw79uSazMj/aFNh55VggK7mQtebIEoY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":95162},"main":"dist/cli.js","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"gitHead":"1086fe3b3770edf1c80e4171f1497348cf2cc735","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/changelog","@semantic-release/npm",["@semantic-release/git",{"assets":["package.json","CHANGELOG.md"],"message":"chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"}],"@semantic-release/github"],"branches":["main"]},"scripts":{"lint":"eslint . --ext .ts","test":"PROMPT_SHAPER_TESTS=true mocha -r ts-node/register 'test/**/*.spec.ts' --timeout 5000","build":"rimraf dist && tsc && chmod +x dist/cli.js && peggy src/template-parser.pegjs -o dist/template-parser.js","parse":"ts-node src/cli.ts","lint:fix":"eslint . --ext .ts --fix"},"_npmUser":{"name":"prajna-avidya","email":"rafiq@prajnaconcepts.com"},"repository":{"url":"git+https://github.com/PrajnaAvidya/prompt-shaper.git","type":"git"},"_npmVersion":"9.8.1","description":"prompt scripting language","directories":{},"_nodeVersion":"18.20.5","dependencies":{"peggy":"^3.0.2","openai":"^4.8.0","commander":"^11.0.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","mocha":"^10.2.0","sinon":"^15.2.0","eslint":"^8.45.0","rimraf":"^5.0.1","ts-node":"^10.9.1","prettier":"^3.0.0","commitizen":"^4.3.0","typescript":"^5.1.6","@types/chai":"^4.3.5","@types/node":"^20.3.3","@types/jsdom":"^21.1.7","@types/mocha":"^10.0.1","@types/sinon":"^10.0.15","semantic-release":"^21.0.7","@semantic-release/git":"^10.0.1","eslint-config-prettier":"^8.8.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^6.1.0","cz-conventional-changelog":"^3.3.0","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^6.1.0"},"optionalDependencies":{"jsdom":"^25.0.1","@mozilla/readability":"^0.5.0"},"_npmOperationalInternal":{"tmp":"tmp/prompt-shaper_3.0.0_1735357364213_0.6841307957664511","host":"s3://npm-registry-packages-npm-production"}},"4.0.0":{"name":"prompt-shaper","version":"4.0.0","author":{"name":"Prajna Avidya"},"license":"MIT","_id":"prompt-shaper@4.0.0","maintainers":[{"name":"prajna-avidya","email":"rafiq@prajnaconcepts.com"}],"homepage":"https://github.com/PrajnaAvidya/prompt-shaper#readme","bugs":{"url":"https://github.com/PrajnaAvidya/prompt-shaper/issues"},"bin":{"prompt-shaper":"dist/cli.js"},"dist":{"shasum":"995ee9dbc2ad932992c2c04be3b9900e7eb6071d","tarball":"https://registry.npmjs.org/prompt-shaper/-/prompt-shaper-4.0.0.tgz","fileCount":10,"integrity":"sha512-CbLbjkGbyhbmzFH0Yau3kpnACMLjSmyTeCBRanTc1M2eK24Xx5sACEdRJRZmP6y8B8IR5JHhFmErKATbvsaodQ==","signatures":[{"sig":"MEQCIBijyTjerDC4GrF9RD8/4jXqI4fA3ntGqzHFE2W03p9FAiAoCIAG7xZR+8vXw5ZM0K/4vq3EpzKCpiVGWQ1iHPsTGA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":96095},"main":"dist/cli.js","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"gitHead":"7cf9f43acff3ab18529cd1bbf0618c57e8fdf054","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/changelog","@semantic-release/npm",["@semantic-release/git",{"assets":["package.json","CHANGELOG.md"],"message":"chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"}],"@semantic-release/github"],"branches":["main"]},"scripts":{"lint":"eslint . --ext .ts","test":"PROMPT_SHAPER_TESTS=true mocha -r ts-node/register 'test/**/*.spec.ts' --timeout 5000","build":"rimraf dist && tsc && chmod +x dist/cli.js && peggy src/template-parser.pegjs -o dist/template-parser.js","parse":"ts-node src/cli.ts","lint:fix":"eslint . --ext .ts --fix"},"_npmUser":{"name":"prajna-avidya","email":"rafiq@prajnaconcepts.com"},"repository":{"url":"git+https://github.com/PrajnaAvidya/prompt-shaper.git","type":"git"},"_npmVersion":"9.8.1","description":"prompt scripting language","directories":{},"_nodeVersion":"18.20.6","dependencies":{"peggy":"^3.0.2","openai":"^4.85.3","commander":"^11.0.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","mocha":"^10.2.0","sinon":"^15.2.0","eslint":"^8.45.0","rimraf":"^5.0.1","ts-node":"^10.9.1","prettier":"^3.0.0","commitizen":"^4.3.0","typescript":"^5.1.6","@types/chai":"^4.3.5","@types/node":"^20.3.3","@types/jsdom":"^21.1.7","@types/mocha":"^10.0.1","@types/sinon":"^10.0.15","semantic-release":"^21.0.7","@semantic-release/git":"^10.0.1","eslint-config-prettier":"^8.8.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^6.1.0","cz-conventional-changelog":"^3.3.0","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^6.1.0"},"optionalDependencies":{"jsdom":"^25.0.1","@mozilla/readability":"^0.5.0"},"_npmOperationalInternal":{"tmp":"tmp/prompt-shaper_4.0.0_1740177564659_0.2260086932936778","host":"s3://npm-registry-packages-npm-production"}},"5.0.0":{"name":"prompt-shaper","version":"5.0.0","author":{"name":"Prajna Avidya"},"license":"MIT","_id":"prompt-shaper@5.0.0","maintainers":[{"name":"prajna-avidya","email":"rafiq@prajnaconcepts.com"}],"homepage":"https://github.com/PrajnaAvidya/prompt-shaper#readme","bugs":{"url":"https://github.com/PrajnaAvidya/prompt-shaper/issues"},"bin":{"prompt-shaper":"dist/cli.js"},"dist":{"shasum":"958c99d2e5d931910b144f9dfdd674e813ea8a02","tarball":"https://registry.npmjs.org/prompt-shaper/-/prompt-shaper-5.0.0.tgz","fileCount":10,"integrity":"sha512-zV7LcWD10URpUv1yKW6mOq179R5zVJjEAY2Rr8J4WmCzqd8XA4GJERG37ZZBjpTLLIpZ82dIk+Xhe6nVVx53mQ==","signatures":[{"sig":"MEUCIH8yEC43Ph4QDzW3Lwc6MKy1tzkJT9NdNtE2suHR0rzRAiEA1bwFCb+F5sw8K7lLK0pHZYF6n1V3hlAp8+mSAZcXHvM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":98987},"main":"dist/cli.js","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"gitHead":"4a10f31a056dc01a5035b40161adc40d16df7554","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/changelog","@semantic-release/npm",["@semantic-release/git",{"assets":["package.json","CHANGELOG.md"],"message":"chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"}],"@semantic-release/github"],"branches":["main"]},"scripts":{"lint":"eslint . --ext .ts","test":"PROMPT_SHAPER_TESTS=true mocha -r ts-node/register 'test/**/*.spec.ts' --timeout 3000","build":"rimraf dist && tsc && chmod +x dist/cli.js && peggy src/template-parser.pegjs -o dist/template-parser.js","parse":"ts-node src/cli.ts","lint:fix":"eslint . --ext .ts --fix"},"_npmUser":{"name":"prajna-avidya","email":"rafiq@prajnaconcepts.com"},"repository":{"url":"git+https://github.com/PrajnaAvidya/prompt-shaper.git","type":"git"},"_npmVersion":"9.8.1","description":"prompt scripting language","directories":{},"_nodeVersion":"18.20.8","dependencies":{"peggy":"^3.0.2","sharp":"^0.34.1","openai":"^4.85.3","commander":"^11.0.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","mocha":"^10.2.0","sinon":"^15.2.0","eslint":"^8.45.0","rimraf":"^5.0.1","ts-node":"^10.9.1","prettier":"^3.0.0","commitizen":"^4.3.0","typescript":"^5.1.6","@types/chai":"^4.3.5","@types/node":"^20.3.3","@types/jsdom":"^21.1.7","@types/mocha":"^10.0.1","@types/sharp":"^0.32.0","@types/sinon":"^10.0.15","semantic-release":"^21.0.7","@semantic-release/git":"^10.0.1","eslint-config-prettier":"^8.8.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^6.1.0","cz-conventional-changelog":"^3.3.0","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^6.1.0"},"optionalDependencies":{"jsdom":"^25.0.1","@mozilla/readability":"^0.5.0"},"_npmOperationalInternal":{"tmp":"tmp/prompt-shaper_5.0.0_1746653106591_0.9536891706893609","host":"s3://npm-registry-packages-npm-production"}},"5.0.1":{"name":"prompt-shaper","version":"5.0.1","author":{"name":"Prajna Avidya"},"license":"MIT","_id":"prompt-shaper@5.0.1","maintainers":[{"name":"prajna-avidya","email":"rafiq@prajnaconcepts.com"}],"homepage":"https://github.com/PrajnaAvidya/prompt-shaper#readme","bugs":{"url":"https://github.com/PrajnaAvidya/prompt-shaper/issues"},"bin":{"prompt-shaper":"dist/cli.js"},"dist":{"shasum":"132ed500a40ce2ee6a21959d9b89ec7d3f3d5b5e","tarball":"https://registry.npmjs.org/prompt-shaper/-/prompt-shaper-5.0.1.tgz","fileCount":10,"integrity":"sha512-4N3GofQOUMmSRPeDQPvT0cuwZ4c74KXL5BxDFohbAwAdUcNX9N287O2ZAe4rMjiqeQylIj0DmpOLgZ+oJw9xmg==","signatures":[{"sig":"MEQCIGsqBUhn1qtGA3GeZE2sKPBX5NiiBHFn8TLybMxtGAlyAiBBgQOLMLT6Q70HVFMAvd7JYU8DCH9ayz+A9bkAQmKSTw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":107554},"main":"dist/cli.js","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"gitHead":"33efb3d5ea24dade4d8cadb8b2393020cecac154","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/changelog","@semantic-release/npm",["@semantic-release/git",{"assets":["package.json","CHANGELOG.md"],"message":"chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"}],"@semantic-release/github"],"branches":["main"]},"scripts":{"lint":"eslint . --ext .ts","test":"PROMPT_SHAPER_TESTS=true mocha -r ts-node/register 'test/**/*.spec.ts' --timeout 3000","build":"rimraf dist && tsc && chmod +x dist/cli.js && peggy src/template-parser.pegjs -o dist/template-parser.js","parse":"ts-node src/cli.ts","lint:fix":"eslint . --ext .ts --fix"},"_npmUser":{"name":"prajna-avidya","actor":{"name":"prajna-avidya","type":"user","email":"rafiq@prajnaconcepts.com"},"email":"rafiq@prajnaconcepts.com"},"repository":{"url":"git+https://github.com/PrajnaAvidya/prompt-shaper.git","type":"git"},"_npmVersion":"9.8.1","description":"prompt scripting language","directories":{},"_nodeVersion":"18.20.8","dependencies":{"peggy":"^3.0.2","sharp":"^0.34.1","openai":"^4.85.3","commander":"^11.0.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","mocha":"^10.2.0","sinon":"^15.2.0","eslint":"^8.45.0","rimraf":"^5.0.1","ts-node":"^10.9.1","prettier":"^3.0.0","commitizen":"^4.3.0","typescript":"^5.1.6","@types/chai":"^4.3.5","@types/node":"^20.3.3","@types/jsdom":"^21.1.7","@types/mocha":"^10.0.1","@types/sharp":"^0.32.0","@types/sinon":"^10.0.15","semantic-release":"^21.0.7","@semantic-release/git":"^10.0.1","eslint-config-prettier":"^8.8.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^6.1.0","cz-conventional-changelog":"^3.3.0","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^6.1.0"},"optionalDependencies":{"jsdom":"^25.0.1","@mozilla/readability":"^0.5.0"},"_npmOperationalInternal":{"tmp":"tmp/prompt-shaper_5.0.1_1751512432513_0.3171582242146611","host":"s3://npm-registry-packages-npm-production"}},"6.0.0":{"name":"prompt-shaper","version":"6.0.0","author":{"name":"Prajna Avidya"},"license":"MIT","_id":"prompt-shaper@6.0.0","maintainers":[{"name":"prajna-avidya","email":"rafiq@prajnaconcepts.com"}],"homepage":"https://github.com/PrajnaAvidya/prompt-shaper#readme","bugs":{"url":"https://github.com/PrajnaAvidya/prompt-shaper/issues"},"bin":{"prompt-shaper":"dist/cli.js"},"dist":{"shasum":"7c52b96624e3f48a5fdcbb07eedb0c98653e3bbe","tarball":"https://registry.npmjs.org/prompt-shaper/-/prompt-shaper-6.0.0.tgz","fileCount":12,"integrity":"sha512-Mhzze1pBPsqaaC9k2P8y3LiG2R3KMdqks86savHI349ku1o8pksyjh1vE4Wj1EcG9YGZYFqWuaMMryouJc0ohg==","signatures":[{"sig":"MEUCIQCQMrjwnJyevswfwgpeYhZpyo/UATOp8QGCqgIPUhdUTgIgCwAfbiwH8H6ENDoFA8PdpW/RtXzYCq39+Z9yocRL+Ws=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":105414},"main":"dist/cli.js","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"gitHead":"7bbc76613091859621d4c9813fb1deec26099d48","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/changelog","@semantic-release/npm",["@semantic-release/git",{"assets":["package.json","CHANGELOG.md"],"message":"chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"}],"@semantic-release/github"],"branches":["main"]},"scripts":{"lint":"eslint . --ext .ts","test":"PROMPT_SHAPER_TESTS=true mocha -r ts-node/register 'test/**/*.spec.ts' --timeout 3000","build":"rimraf dist && tsc && chmod +x dist/cli.js && peggy src/template-parser.pegjs -o dist/template-parser.js","parse":"ts-node src/cli.ts","lint:fix":"eslint . --ext .ts --fix","test:file":"PROMPT_SHAPER_TESTS=true mocha -r ts-node/register --timeout 3000"},"_npmUser":{"name":"prajna-avidya","actor":{"name":"prajna-avidya","type":"user","email":"rafiq@prajnaconcepts.com"},"email":"rafiq@prajnaconcepts.com"},"repository":{"url":"git+https://github.com/PrajnaAvidya/prompt-shaper.git","type":"git"},"_npmVersion":"9.8.1","description":"prompt scripting language","directories":{},"_nodeVersion":"18.20.8","dependencies":{"peggy":"^3.0.2","sharp":"^0.34.1","openai":"^4.85.3","commander":"^11.0.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","mocha":"^10.2.0","sinon":"^15.2.0","eslint":"^8.45.0","rimraf":"^5.0.1","ts-node":"^10.9.1","prettier":"^3.0.0","commitizen":"^4.3.0","typescript":"^5.1.6","@types/chai":"^4.3.5","@types/node":"^20.3.3","@types/jsdom":"^21.1.7","@types/mocha":"^10.0.1","@types/sharp":"^0.32.0","@types/sinon":"^10.0.15","semantic-release":"^21.0.7","@semantic-release/git":"^10.0.1","eslint-config-prettier":"^8.8.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^6.1.0","cz-conventional-changelog":"^3.3.0","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^6.1.0"},"optionalDependencies":{"jsdom":"^25.0.1","@mozilla/readability":"^0.5.0"},"_npmOperationalInternal":{"tmp":"tmp/prompt-shaper_6.0.0_1751603982524_0.12393754535923285","host":"s3://npm-registry-packages-npm-production"}},"6.1.0":{"name":"prompt-shaper","version":"6.1.0","author":{"name":"Prajna Avidya"},"license":"MIT","_id":"prompt-shaper@6.1.0","maintainers":[{"name":"prajna-avidya","email":"rafiq@prajnaconcepts.com"}],"homepage":"https://github.com/PrajnaAvidya/prompt-shaper#readme","bugs":{"url":"https://github.com/PrajnaAvidya/prompt-shaper/issues"},"bin":{"prompt-shaper":"dist/cli.js"},"dist":{"shasum":"7758cf885748d436a854374cee8bfba8a37c676b","tarball":"https://registry.npmjs.org/prompt-shaper/-/prompt-shaper-6.1.0.tgz","fileCount":12,"integrity":"sha512-JXG/DjnwKopg/zDM2sDH3xQ3LtQJ8LAOz/6ZOzwO9bWqpV33j1Ry2Gs4FpQGbFG8yrTRA2F3X0Yr+dXP5ScCnw==","signatures":[{"sig":"MEUCIAHF3G4yIcezxTMaM7VpwtofSIfZ0KXYjZ37mXN9lncAAiEAp7qeBIuSfSMIvlcDWqWBKJBK6YZ5uq3Em1F4uVrVHMU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":106749},"main":"dist/cli.js","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"gitHead":"42cdec482ad290ebbed6e625ad2dc5c2c07b2d1f","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/changelog","@semantic-release/npm",["@semantic-release/git",{"assets":["package.json","CHANGELOG.md"],"message":"chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"}],"@semantic-release/github"],"branches":["main"]},"scripts":{"lint":"eslint . --ext .ts","test":"PROMPT_SHAPER_TESTS=true mocha -r ts-node/register 'test/**/*.spec.ts' --timeout 3000","build":"rimraf dist && tsc && chmod +x dist/cli.js && peggy src/template-parser.pegjs -o dist/template-parser.js","parse":"ts-node src/cli.ts","lint:fix":"eslint . --ext .ts --fix","test:file":"PROMPT_SHAPER_TESTS=true mocha -r ts-node/register --timeout 3000"},"_npmUser":{"name":"prajna-avidya","actor":{"name":"prajna-avidya","type":"user","email":"rafiq@prajnaconcepts.com"},"email":"rafiq@prajnaconcepts.com"},"repository":{"url":"git+https://github.com/PrajnaAvidya/prompt-shaper.git","type":"git"},"_npmVersion":"9.8.1","description":"prompt scripting language","directories":{},"_nodeVersion":"18.20.8","dependencies":{"peggy":"^3.0.2","sharp":"^0.34.1","openai":"^4.85.3","commander":"^11.0.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","mocha":"^10.2.0","sinon":"^15.2.0","eslint":"^8.45.0","rimraf":"^5.0.1","ts-node":"^10.9.1","prettier":"^3.0.0","commitizen":"^4.3.0","typescript":"^5.1.6","@types/chai":"^4.3.5","@types/node":"^20.3.3","@types/jsdom":"^21.1.7","@types/mocha":"^10.0.1","@types/sharp":"^0.32.0","@types/sinon":"^10.0.15","semantic-release":"^21.0.7","@semantic-release/git":"^10.0.1","eslint-config-prettier":"^8.8.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^6.1.0","cz-conventional-changelog":"^3.3.0","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^6.1.0"},"optionalDependencies":{"jsdom":"^25.0.1","@mozilla/readability":"^0.5.0"},"_npmOperationalInternal":{"tmp":"tmp/prompt-shaper_6.1.0_1751651353509_0.1689496359625302","host":"s3://npm-registry-packages-npm-production"}},"6.2.0":{"name":"prompt-shaper","version":"6.2.0","author":{"name":"Prajna Avidya"},"license":"MIT","_id":"prompt-shaper@6.2.0","maintainers":[{"name":"prajna-avidya","email":"rafiq@prajnaconcepts.com"}],"homepage":"https://github.com/PrajnaAvidya/prompt-shaper#readme","bugs":{"url":"https://github.com/PrajnaAvidya/prompt-shaper/issues"},"bin":{"prompt-shaper":"dist/cli.js"},"dist":{"shasum":"04769b17e1d173759d7aa454d5d9aa35f8c41aa9","tarball":"https://registry.npmjs.org/prompt-shaper/-/prompt-shaper-6.2.0.tgz","fileCount":12,"integrity":"sha512-W1epFRxMduE/Z1hvjKtwAxpaiQpHdm6RBo7LJ0Gtf3uOEDd5y63bELFwQmKfsW8/0A8Nt9lJ/qmDtB3/RCj6zA==","signatures":[{"sig":"MEYCIQD5e9A7Q6gdOjuDeVcaQb3Ypt9Gh6//WuHFlHzfcf7NFgIhAOKja9Efg1DcAzBIhRSFhIsnBehQ0utdmYPGkPlxR/rO","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":113149},"main":"dist/cli.js","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"gitHead":"bb7123822f8848d5b880137df76477a61c0622d9","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/changelog","@semantic-release/npm",["@semantic-release/git",{"assets":["package.json","CHANGELOG.md"],"message":"chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"}],"@semantic-release/github"],"branches":["main"]},"scripts":{"lint":"eslint . --ext .ts","test":"PROMPT_SHAPER_TESTS=true mocha -r ts-node/register 'test/**/*.spec.ts' --timeout 3000","build":"rimraf dist && tsc && chmod +x dist/cli.js && peggy src/template-parser.pegjs -o dist/template-parser.js","parse":"ts-node src/cli.ts","lint:fix":"eslint . --ext .ts --fix","test:file":"PROMPT_SHAPER_TESTS=true mocha -r ts-node/register --timeout 3000"},"_npmUser":{"name":"prajna-avidya","actor":{"name":"prajna-avidya","type":"user","email":"rafiq@prajnaconcepts.com"},"email":"rafiq@prajnaconcepts.com"},"repository":{"url":"git+https://github.com/PrajnaAvidya/prompt-shaper.git","type":"git"},"_npmVersion":"9.8.1","description":"prompt scripting language","directories":{},"_nodeVersion":"18.20.8","dependencies":{"peggy":"^3.0.2","sharp":"^0.34.1","openai":"^4.85.3","commander":"^11.0.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","mocha":"^10.2.0","sinon":"^15.2.0","eslint":"^8.45.0","rimraf":"^5.0.1","ts-node":"^10.9.1","prettier":"^3.0.0","commitizen":"^4.3.0","typescript":"^5.1.6","@types/chai":"^4.3.5","@types/node":"^20.3.3","@types/jsdom":"^21.1.7","@types/mocha":"^10.0.1","@types/sharp":"^0.32.0","@types/sinon":"^10.0.15","semantic-release":"^21.0.7","@semantic-release/git":"^10.0.1","eslint-config-prettier":"^8.8.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^6.1.0","cz-conventional-changelog":"^3.3.0","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^6.1.0"},"optionalDependencies":{"jsdom":"^25.0.1","@mozilla/readability":"^0.5.0"},"_npmOperationalInternal":{"tmp":"tmp/prompt-shaper_6.2.0_1751656226168_0.7641461521099073","host":"s3://npm-registry-packages-npm-production"}},"6.3.0":{"name":"prompt-shaper","version":"6.3.0","author":{"name":"Prajna Avidya"},"license":"MIT","_id":"prompt-shaper@6.3.0","maintainers":[{"name":"prajna-avidya","email":"rafiq@prajnaconcepts.com"}],"homepage":"https://github.com/PrajnaAvidya/prompt-shaper#readme","bugs":{"url":"https://github.com/PrajnaAvidya/prompt-shaper/issues"},"bin":{"prompt-shaper":"dist/cli.js"},"dist":{"shasum":"9dfee8f5fb5d262963321f0b08028b3de7a044d7","tarball":"https://registry.npmjs.org/prompt-shaper/-/prompt-shaper-6.3.0.tgz","fileCount":14,"integrity":"sha512-kiZiCceNGDmmmUmP1hRQCG4Ytfual9/kzTnktuTdPfOGEJ2feny3BjRuxPFu399zuCuaCkH43HMzHTChNtuLWw==","signatures":[{"sig":"MEUCIQD5WMJ6mdRQXj0D7wL+ni78qqpvlfL0KK8u306ijrDk6gIgFxLCyI7jK5iYJEzgst8w+guNoqgRX0HmgT9yD/ewnZU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":131496},"main":"dist/cli.js","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"gitHead":"6c65743fd666d71df9086e4f8c014e802713cb3b","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/changelog","@semantic-release/npm",["@semantic-release/git",{"assets":["package.json","CHANGELOG.md"],"message":"chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"}],"@semantic-release/github"],"branches":["main"]},"scripts":{"lint":"eslint . --ext .ts","test":"PROMPT_SHAPER_TESTS=true mocha -r ts-node/register 'test/**/*.spec.ts' --timeout 3000","build":"rimraf dist && tsc && chmod +x dist/cli.js && peggy src/template-parser.pegjs -o dist/template-parser.js","parse":"ts-node src/cli.ts","lint:fix":"eslint . --ext .ts --fix","test:file":"PROMPT_SHAPER_TESTS=true mocha -r ts-node/register --timeout 3000"},"_npmUser":{"name":"prajna-avidya","actor":{"name":"prajna-avidya","type":"user","email":"rafiq@prajnaconcepts.com"},"email":"rafiq@prajnaconcepts.com"},"repository":{"url":"git+https://github.com/PrajnaAvidya/prompt-shaper.git","type":"git"},"_npmVersion":"9.8.1","description":"prompt scripting language","directories":{},"_nodeVersion":"18.20.8","dependencies":{"peggy":"^3.0.2","sharp":"^0.34.1","commander":"^11.0.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.10","mocha":"^10.2.0","sinon":"^15.2.0","eslint":"^8.45.0","rimraf":"^5.0.1","ts-node":"^10.9.1","prettier":"^3.0.0","commitizen":"^4.3.0","typescript":"^5.1.6","@types/chai":"^4.3.5","@types/node":"^20.3.3","@types/jsdom":"^21.1.7","@types/mocha":"^10.0.1","@types/sharp":"^0.32.0","@types/sinon":"^10.0.15","semantic-release":"^21.0.7","@semantic-release/git":"^10.0.1","eslint-config-prettier":"^8.8.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^6.1.0","cz-conventional-changelog":"^3.3.0","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^6.1.0"},"optionalDependencies":{"jsdom":"^25.0.1","openai":"^5.8.2","@google/genai":"^1.8.0","@anthropic-ai/sdk":"^0.56.0","@mozilla/readability":"^0.5.0"},"_npmOperationalInternal":{"tmp":"tmp/prompt-shaper_6.3.0_1751682954256_0.2637407497032007","host":"s3://npm-registry-packages-npm-production"}},"6.4.0":{"name":"prompt-shaper","description":"prompt scripting language","repository":{"type":"git","url":"git+https://github.com/PrajnaAvidya/prompt-shaper.git"},"author":{"name":"Prajna Avidya"},"version":"6.4.0","license":"MIT","main":"dist/cli.js","bin":{"prompt-shaper":"dist/cli.js"},"scripts":{"build":"rimraf dist && tsc && chmod +x dist/cli.js && peggy src/template-parser.pegjs -o dist/template-parser.js","lint":"eslint . --ext .ts","lint:fix":"eslint . --ext .ts --fix","parse":"ts-node src/cli.ts","test":"PROMPT_SHAPER_TESTS=true mocha -r ts-node/register 'test/**/*.spec.ts' --timeout 3000","test:file":"PROMPT_SHAPER_TESTS=true mocha -r ts-node/register --timeout 3000"},"config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"release":{"branches":["main"],"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/changelog","@semantic-release/npm",["@semantic-release/git",{"assets":["package.json","CHANGELOG.md"],"message":"chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"}],"@semantic-release/github"]},"dependencies":{"commander":"^11.0.0","peggy":"^3.0.2","sharp":"^0.34.1","tiktoken":"^1.0.21"},"optionalDependencies":{"@anthropic-ai/sdk":"^0.56.0","@google/genai":"^1.8.0","@mozilla/readability":"^0.5.0","jsdom":"^25.0.1","openai":"^5.8.2"},"devDependencies":{"@semantic-release/changelog":"^6.0.3","@semantic-release/git":"^10.0.1","@types/chai":"^4.3.5","@types/jsdom":"^21.1.7","@types/mocha":"^10.0.1","@types/node":"^20.3.3","@types/sharp":"^0.32.0","@types/sinon":"^10.0.15","@typescript-eslint/eslint-plugin":"^6.1.0","@typescript-eslint/parser":"^6.1.0","chai":"^4.3.10","commitizen":"^4.3.0","cz-conventional-changelog":"^3.3.0","eslint":"^8.45.0","eslint-config-prettier":"^8.8.0","eslint-plugin-prettier":"^5.0.0","mocha":"^10.2.0","prettier":"^3.0.0","rimraf":"^5.0.1","semantic-release":"^21.0.7","sinon":"^15.2.0","ts-node":"^10.9.1","typescript":"^5.1.6"},"_id":"prompt-shaper@6.4.0","gitHead":"e77629a6d4f1b4788fef1f924677de0156a5f6f7","bugs":{"url":"https://github.com/PrajnaAvidya/prompt-shaper/issues"},"homepage":"https://github.com/PrajnaAvidya/prompt-shaper#readme","_nodeVersion":"18.20.8","_npmVersion":"9.8.1","dist":{"integrity":"sha512-W9KSIilxvwXCwcYezWw9EvTx0hAZrukuDWovcvKJv7Q1PeQ/kw6P0VMbXKXgOwEDQQB9bgx5NGyNo6S0e/4ggQ==","shasum":"ecfc728b0041b4fbcd5cfc171773913ed71c9a78","tarball":"https://registry.npmjs.org/prompt-shaper/-/prompt-shaper-6.4.0.tgz","fileCount":14,"unpackedSize":162941,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIFQzphu/mLuByLahSW27X+2Q98+/Rlk4brIVRcs1Sb+yAiAEYzzJ+UEyijcZlWgD7Em0YZSVh271eDEq0tMs+Km8cA=="}]},"_npmUser":{"name":"prajna-avidya","email":"rafiq@prajnaconcepts.com","actor":{"name":"prajna-avidya","email":"rafiq@prajnaconcepts.com","type":"user"}},"directories":{},"maintainers":[{"name":"prajna-avidya","email":"rafiq@prajnaconcepts.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/prompt-shaper_6.4.0_1751746075401_0.2785722688353063"},"_hasShrinkwrap":false}},"time":{"created":"2023-08-08T03:53:39.141Z","modified":"2025-07-05T20:07:55.819Z","0.0.1":"2023-08-08T03:53:39.298Z","0.0.2":"2023-08-08T05:02:59.879Z","0.0.3":"2023-08-08T05:10:17.218Z","0.0.4":"2023-08-08T05:14:30.700Z","0.0.5":"2023-08-08T16:12:34.104Z","0.0.6":"2023-08-08T16:16:18.115Z","0.0.7":"2023-08-08T16:28:47.274Z","0.0.8":"2023-08-08T16:31:30.508Z","0.0.9":"2023-08-08T16:35:54.556Z","0.0.10":"2023-08-08T21:38:58.783Z","0.0.11":"2023-08-11T04:18:34.946Z","1.0.0":"2023-09-20T02:40:56.683Z","1.1.0":"2023-09-20T19:44:33.222Z","1.2.0":"2023-09-26T21:23:12.675Z","1.3.0":"2023-09-26T22:18:25.819Z","1.4.0":"2023-11-08T02:43:56.755Z","2.0.0":"2023-12-04T04:00:44.757Z","2.1.0":"2024-11-29T04:28:57.579Z","2.2.0":"2024-12-13T21:13:15.058Z","2.3.0":"2024-12-13T22:53:25.310Z","2.3.1":"2024-12-13T23:48:27.468Z","2.4.0":"2024-12-14T05:43:50.493Z","3.0.0":"2024-12-28T03:42:44.473Z","4.0.0":"2025-02-21T22:39:24.859Z","5.0.0":"2025-05-07T21:25:06.810Z","5.0.1":"2025-07-03T03:13:52.714Z","6.0.0":"2025-07-04T04:39:42.714Z","6.1.0":"2025-07-04T17:49:13.695Z","6.2.0":"2025-07-04T19:10:26.318Z","6.3.0":"2025-07-05T02:35:54.424Z","6.4.0":"2025-07-05T20:07:55.642Z"},"bugs":{"url":"https://github.com/PrajnaAvidya/prompt-shaper/issues"},"author":{"name":"Prajna Avidya"},"license":"MIT","homepage":"https://github.com/PrajnaAvidya/prompt-shaper#readme","repository":{"type":"git","url":"git+https://github.com/PrajnaAvidya/prompt-shaper.git"},"description":"prompt scripting language","maintainers":[{"name":"prajna-avidya","email":"rafiq@prajnaconcepts.com"}],"readme":"# PromptShaper\n\nPromptShaper is a templating language and CLI tool for efficiently constructing LLM prompts. Build dynamic, reusable prompts with variables, functions, and file/url loading capabilities.\n\n## Why\n\nI'm a programmer, and like many I've seen productivity gains due to the assistance of LLMs. The standard way of interacting with a model through a chat interface works great for basic queries, but I do a lot of what I call \"non-linear\" workflows and found myself spending too much time copying and pasting text fragments to construct the exact prompts I wanted to run. I was working on my own custom LLM chat client and wanted to build a UI to construct dynamic and reusable prompts to send to the OpenAI API and realized I needed an engine to run it. Inspired by templating engines like Handlebars, I built my own variant specifically designed for executing highly customized GPT/LLM prompts.\n\n## Features\n\n- **Templating Engine**: Work out of a text editor/IDE and save a lot of time by avoiding repetitive copy/pasting of text fragments. Through the use of slots, variables, and functions you can dynamically load and render text into LLM prompts.\n- **CLI**: A variety of command-line options to customize usage, and you can specify various input/output formats.\n- **Directory Loading with Ignore Patterns**: Load entire codebases while intelligently excluding build artifacts, dependencies, and other unwanted files using glob patterns (`node_modules`, `*.log`, `temp*`, etc.).\n- **Inline Images**: Include images directly in your prompts using the `img` function, either by referencing local image files or remote URLs. The images are automatically encoded and attached to the prompt sent to the LLM.\n- **Multiple LLM Providers**: Support for OpenAI (GPT, o1, o3 models), Anthropic (Claude models), and Google Gemini models with automatic provider detection based on model name\n- **Interactive Mode**: After constructing your prompt you can continue your conversation in the command line, or load a previous conversation from JSON or text and continue in interactive mode. You can even use PromptShaper tags in interactive mode!\n\n## Requirements\n\n- Node.js and yarn - https://docs.npmjs.com/downloading-and-installing-node-js-and-npm\n- Yarn package manager - https://yarnpkg.com/getting-started/install\n\n## Installation & Usage\n\nRun the CLI using npx (no installation required):\n```bash\nnpx prompt-shaper [options] <input>\n```\n\nOr install globally with yarn:\n```bash\nyarn global add prompt-shaper\nprompt-shaper [options] <input>\n```\n\nRun `npx prompt-shaper --help` to see a complete list of CLI options.\n\n## CLI Options\n\n### Input/Output Options\n- `<input>` - Template file path or string (required unless using `-i` for new conversation)\n- `-is, --is-string` - Treat input as a template string instead of file path\n- `-s, --save <filePath>` - Save output to file path\n- `-sj, --save-json <filePath>` - Save conversation as JSON file\n\n### Mode Options\n- `-r, --raw` - Raw mode (don't parse any PromptShaper tags)\n- `-i, --interactive` - Enable interactive mode with LLM\n- `-g, --generate` - Send parsed template to LLM and return single response\n- `--disable-llm` - Disable all LLM calls and interactive mode (template processing only)\n\n### LLM Configuration\n- `-m, --model <modelType>` - LLM model to use (default: \"gpt-4o\")\n  - **OpenAI model examples**: `gpt-4o`, `gpt-4o-mini`, `o1`, `o1-mini`, `o3`, `o3-mini`\n  - **Anthropic model examples**: `claude-opus-4-0`, `claude-sonnet-4-0`, `claude-3-5-haiku-latest`\n  - **Google Gemini model examples**: `gemini-2.5-pro`, `gemini-2.5-flash`\n- `-sp, --system-prompt <promptString>` - System prompt for LLM conversation (automatically uses developer role for o1/o3 models)\n- `-rf, --response-format <format>` - Response format: \"text\" or \"json_object\" (default: \"text\", OpenAI only)\n- `-re, --reasoning-effort <effort>` - Reasoning effort for o1/o3 models: \"low\", \"medium\", or \"high\" (default: \"high\", OpenAI only)\n\n### Profile Configuration\n- `-p, --profile <filePath>` - Load CLI options from JSON profile file\n\n### Variable Input\n- `-js, --json <jsonString>` - Input JSON variables as string\n- `-jf, --json-file <filePath>` - Input JSON variables from file\n\n### Conversation Management\n- `-lj, --load-json <filePath>` - Load conversation from JSON file and continue in interactive mode\n- `-lt, --load-text <filePath>` - Load conversation from text/markdown file and continue in interactive mode\n\n### Display Options\n- `-h, --hide-prompt` - Hide the initial prompt in the console output\n- `-oa, --output-assistant` - Save only assistant responses to output files (filters out user prompts)\n- `-d, --debug` - Show debug messages during parsing\n\n### File Processing\n- `-e, --extensions <extensions>` - Comma-separated list of file extensions to include when using `loadDir()` function\n- `--ignore-patterns <patterns>` - Comma-separated patterns to ignore when loading directories (supports glob patterns like `*.log`, `temp*`)\n\n## Environment Variables\n\nAll CLI options can be set using environment variables. Command-line options take precedence over environment variables.\n\n| Environment Variable | CLI Option | Description                                        |\n|---------------------|------------|----------------------------------------------------|\n| `OPENAI_API_KEY` | N/A | **Required** for OpenAI models (gpt-4, o1, etc.)   |\n| `ANTHROPIC_API_KEY` | N/A | **Required** for Anthropic models (claude-4, etc.) |\n| `GEMINI_API_KEY` | N/A | **Required** for Google Gemini models (gemini-*, etc.) |\n| `PROMPT_SHAPER_DEBUG` | `-d, --debug` | Show debug messages (\"true\"/\"false\")               |\n| `PROMPT_SHAPER_FILE_EXTENSIONS` | `-e, --extensions` | Comma-separated file extensions                    |\n| `PROMPT_SHAPER_IGNORE_PATTERNS` | `--ignore-patterns` | Comma-separated ignore patterns                    |\n| `PROMPT_SHAPER_GENERATE` | `-g, --generate` | Send to LLM for single response (\"true\"/\"false\")   |\n| `PROMPT_SHAPER_HIDE_PROMPT` | `-h, --hide-prompt` | Hide initial prompt (\"true\"/\"false\")               |\n| `PROMPT_SHAPER_IS_STRING` | `-is, --is-string` | Treat input as string (\"true\"/\"false\")             |\n| `PROMPT_SHAPER_INTERACTIVE` | `-i, --interactive` | Enable interactive mode (\"true\"/\"false\")           |\n| `PROMPT_SHAPER_JSON` | `-js, --json` | JSON variables string                              |\n| `PROMPT_SHAPER_JSON_FILE` | `-jf, --json-file` | JSON variables file path                           |\n| `PROMPT_SHAPER_LOAD_JSON` | `-lj, --load-json` | Load conversation from JSON                        |\n| `PROMPT_SHAPER_LOAD_TEXT` | `-lt, --load-text` | Load conversation from text                        |\n| `PROMPT_SHAPER_MODEL` | `-m, --model` | LLM model name (OpenAI or Anthropic)               |\n| `PROMPT_SHAPER_NO_LLM` | `--disable-llm` | Disable all LLM calls (\"true\"/\"false\")             |\n| `PROMPT_SHAPER_OUTPUT_ASSISTANT` | `-oa, --output-assistant` | Output only assistant responses (\"true\"/\"false\")   |\n| `PROMPT_SHAPER_PROFILE` | `-p, --profile` | Profile file path                                  |\n| `PROMPT_SHAPER_SYSTEM_PROMPT` | `-sp, --system-prompt` | System prompt text                                 |\n| `PROMPT_SHAPER_RAW` | `-r, --raw` | Raw mode (\"true\"/\"false\")                          |\n| `PROMPT_SHAPER_SAVE` | `-s, --save` | Output file path                                   |\n| `PROMPT_SHAPER_SAVE_JSON` | `-sj, --save-json` | JSON output file path                              |\n| `PROMPT_SHAPER_RESPONSE_FORMAT` | `-rf, --response-format` | Response format (\"text\"/\"json_object\")             |\n| `PROMPT_SHAPER_REASONING_EFFORT` | `-re, --reasoning-effort` | Reasoning effort (\"low\"/\"medium\"/\"high\")           |\n\n## Usage Examples\n\n### Basic Template Processing\n```bash\n# Process a template file\nnpx prompt-shaper my_template.ps.md\n\n# Process a template string\nnpx prompt-shaper -is \"Hello, {{name}}!\" -js '{\"name\": \"World\"}'\n\n# Save output to file\nnpx prompt-shaper my_template.ps.md -s output.md\n```\n\n### Interactive Mode with LLM\n```bash\n# Start new conversation in interactive mode\nnpx prompt-shaper -i\n\n# Process template and continue conversation with OpenAI\nnpx prompt-shaper my_template.ps.md -i -m gpt-4o\n\n# Use Claude models for conversation\nnpx prompt-shaper my_template.ps.md -i -m claude-sonnet-4-0\n\n# Use Gemini models for conversation\nnpx prompt-shaper my_template.ps.md -i -m gemini-2.5-flash\n\n# Load previous conversation and continue\nnpx prompt-shaper -lt previous_conversation.md\n```\n\n#### Interactive Mode Commands\n- `/help` - Show available commands and shortcuts\n- `/model [model_name]` - View current model or switch to a different model (gpt-4, claude-3-5-sonnet-20241022, gemini-pro, etc.)\n- `/system [new_prompt]` - View current system prompt or update it (automatically uses developer role for o1/o3 models)\n- `/compact [optional_instructions]` - Compact conversation history using AI summarization (preserves system prompt, replaces conversation with detailed summary)\n- `/tokens` - Show token count for the current conversation with per-message breakdown\n- `/cost` - Show estimated API cost for the current session (cumulative across all requests)\n- `/retry` - Retry the last request with a new response from the LLM\n- `/rewind` - Remove the last question and response from the conversation history\n- `/clear` - Clear the entire conversation and start fresh (shows previous session cost)\n- `/exit` - Exit interactive mode\n\n### Raw Mode (No Parsing)\n```bash\n# Process file without parsing PromptShaper tags\nnpx prompt-shaper -r my_file.js\n\n# Useful for code analysis while preserving syntax\nnpx prompt-shaper -r -i my_code.py\n```\n\n### Template-Only Mode (No LLM)\n```bash\n# Process templates without any LLM integration\nnpx prompt-shaper my_template.ps.md --disable-llm\n\n# Save processed template to file\nnpx prompt-shaper my_template.ps.md --disable-llm -s output.md\n\n# Use with template strings\nnpx prompt-shaper -is \"{name=\\\"World\\\"}Hello {{name}}!\" --disable-llm\n\n# Using environment variable\nexport PROMPT_SHAPER_NO_LLM=true\nnpx prompt-shaper my_template.ps.md\n\n# Template processing with directory loading\nnpx prompt-shaper -is \"{{loadDir(\\\"src\\\")}}\" --disable-llm -e \"js,ts\"\n```\n\n### Directory Loading with Ignore Patterns\n```bash\n# Method 1: Using ignore patterns in the template function\necho '{{loadDir(\".\", \"node_modules,.git,dist,*.log\")}}' > load_project.ps.md\nnpx prompt-shaper load_project.ps.md -e \"js,ts,md\"\n\n# Method 2: Using CLI ignore patterns option (applies to all loadDir calls)\necho '{{loadDir(\".\")}}' > load_project.ps.md\nnpx prompt-shaper load_project.ps.md -e \"js,ts,md\" --ignore-patterns \"node_modules,.git,dist,*.log\"\n\n# Method 3: Using environment variable\nexport PROMPT_SHAPER_IGNORE_PATTERNS=\"node_modules,.git,dist,*.log\"\nnpx prompt-shaper load_project.ps.md -e \"js,ts,md\"\n```\n\n### Advanced Usage\n```bash\n# Use specific OpenAI model with custom prompts\nnpx prompt-shaper my_template.ps.md -m gpt-4 -sp \"You are a code reviewer\"\n\n# Use Claude for code analysis\nnpx prompt-shaper my_template.ps.md -m claude-sonnet-4-0 -sp \"You are an expert code analyst\"\n\n# Use Gemini for code analysis\nnpx prompt-shaper my_template.ps.md -m gemini-2.5-pro -sp \"You are an expert code analyst\"\n\n# Generate single response with JSON output (OpenAI only)\nnpx prompt-shaper my_template.ps.md -g -rf json_object -m gpt-4o\n\n# Use reasoning models for complex tasks\nnpx prompt-shaper my_template.ps.md -m o3 -re high\n\n# Load variables from file and hide initial prompt\nnpx prompt-shaper my_template.ps.md -jf variables.json -h\n```\n\n### Profile Configuration\n```bash\n# Create a profile JSON file\ncat > my-profile.json << 'EOF'\n{\n  \"model\": \"gemini-2.5-flash\",\n  \"systemPrompt\": \"You are a helpful coding assistant\",\n  \"debug\": true,\n  \"hidePrompt\": false,\n  \"extensions\": \"js,ts,py,md\"\n}\nEOF\n# Use profile via CLI option\nnpx prompt-shaper my_template.ps.md --profile my-profile.json\n\n# Use profile via environment variable\nexport PROMPT_SHAPER_PROFILE=my-profile.json\nnpx prompt-shaper my_template.ps.md\n\n# CLI options override profile settings\nnpx prompt-shaper my_template.ps.md --profile my-profile.json --model gpt-3.5-turbo\n```\n\nProfiles use the following priority order (highest to lowest):\n1. **CLI options** - Explicitly specified command-line arguments\n2. **Profile settings** - Options loaded from JSON profile file  \n3. **Environment variables** - `PROMPT_SHAPER_*` environment variables\n4. **Built-in defaults** - Fallback values when nothing else is specified\n\n## Templates, Slots, Variables\n\nA template is a file or string that gets loaded into a variable by the PromptShaper parser and is then rendered.\n\nTemplates can contain one or more inline variable definitions. They are defined using single braces and can be single line or multi line using tags.\n\n```\n{stringVariable = \"hello world\"}\n\n{multilineVariable}\nThis is a variable spanning multiple lines, but the tags can be used on a single line if desired. Multiline variables are always strings.\n{/multilineVariable}\n```\n\nA template can contain one or more slots which are rendered by replacing their content with variables.\n\n```\nThis will render the contents of the string variable: {{stringVariable}}\n\nThis will render the contents of the multiline variable, and the @ symbol means it will be rendered as raw text (will not be parsed): {{@multilineVariable}}\n```\n\nA multiline variable can contain slot tags, which will be rendered recursively when the template is rendered.\n\n```\n{variableWithSlots}\nThis variable contains a slot which is defined in the outer scope: {{stringVariable}}\n{/variableWithSlots}\n```\n\n## Parameters and Functions\n\nA multiline variable can also be specified with parameters (which are required if no default is provided) which can be referenced using slots. Parameters are strings.\n\n```\n{variableWithParameters(requiredParameter, optionalParameter=\"hello\")}\n{{requiredParameter}}\n{{optionalParameter}}\n{/variableWithParameters}\n```\n\nA slot or variable can be assigned the contents of a function, which is called using a function name and one or more parameters in parentheses.\n\n```\n// this will load file.ps.md and render it in place\n{{load(\"file.ps.md\")}}\n```\n\nThere's a few basic functions defined in the `functions.ts` file and you can add your own using `registerFunction`.\n\n## Built-in Functions\n\nBy default, the `parser.ts` uses the contents of `functions.ts` as built-in functions. You can add your own custom functions with `registerFunction`.\n\n### File Operations\n- **load(filePath)**: Loads a file from the specified path and renders its content.\n```\n// loads and renders the content of file.ps.md\n{{load(\"file.ps.md\")}}\n```\n\n- **loadDir(dirPath, ignorePatterns)**: Loads all files from the specified directory (and its subdirectories) that match certain extensions, and renders their contents. **Note**: The `loadDir` function uses the file extensions specified in the `--extensions` CLI option or the `PROMPT_SHAPER_FILE_EXTENSIONS` environment variable to determine which files to include. By default, it includes common text and code file extensions.\n```\n// loads and renders all files in the 'src' directory\n{{loadDir(\"src\")}}\n\n// loads files but ignores node_modules, .git, and dist directories\n{{loadDir(\"src\", \"node_modules,.git,dist\")}}\n\n// supports glob patterns - ignores all .log files and temp* files\n{{loadDir(\"logs\", \"*.log,temp*,.DS_Store\")}}\n```\n\n- **loadUrl(url)**: Loads content from the specified URL and uses the [@mozilla/readability](https://github.com/mozilla/readability) library to convert it into readable text.\n```\n// loads and renders the Prompt Shaper GitHub page\n{{loadUrl(\"https://github.com/PrajnaAvidya/prompt-shaper\")}}\n```\n\n### Image Processing\n- **img(source)**: Loads an image from a local file path or a URL, encodes it, and attaches it as image content in your LLM prompt. Images are automatically converted to the appropriate format for your chosen provider.\n```\n{{img(\"path/to/image.png\")}}\n{{img(\"https://example.com/image.jpg\")}}\n```\n\n\n## String Parameters\n\nAll parameters are strings and must be double-quoted.\n\n## Special Features\n\n### Comment Handling\nComments are marked with double slashes `// this is a comment` or `/* multiline style */` and are removed before rendering in normal mode. In raw mode (`-r`), all comments are preserved.\n\n### Escaping\nYou can escape braces with backslashes so they won't be parsed as tags: `\\{\\{escapedSlot\\}\\}`\n\nYou can escape braces or double quotes in string parameters: `{{functionCall(\"param \\\" with \\} special chars\")}}`\n\n### Ignore Patterns for Directory Loading\nThe `loadDir` function supports ignore patterns to exclude specific files and directories:\n\n- **Exact names**: `node_modules`, `.git`, `.DS_Store`\n- **Glob patterns**: `*.log`, `temp*`, `*.test.*`\n- **Pattern examples**:\n  - `node_modules` - ignores any file/directory named exactly \"node_modules\"\n  - `*.log` - ignores all files ending with \".log\" \n  - `temp*` - ignores all files/directories starting with \"temp\"\n  - `.DS_Store` - ignores macOS system files\n\n```\n// ignore common development directories\n{{loadDir(\".\", \"node_modules,.git,dist,coverage\")}}\n\n// ignore temporary and log files\n{{loadDir(\"src\", \"*.tmp,*.log,temp*\")}}\n```\n\n### Markdown Code Block Protection\nPromptShaper automatically detects and preserves content inside markdown code blocks:\n\n```markdown\nHere's some code:\n```javascript\n{variable = \"this won't be parsed\"}\nconsole.log({{variable}});\n```\nBut this {{will}} be parsed.\n```\n\nBoth fenced code blocks (triple backticks) and inline code (`single backticks`) are protected.\n\n## Template Parsing/Rendering Order\n\n1. Mask markdown code blocks to prevent parsing their content\n2. Preprocess multiline variables that contain problematic syntax\n3. Remove comments (unless in raw mode)\n4. Match and validate all variables and slots  \n5. Remove variable definitions from output\n6. Render slots with variable data from the bottom up\n7. String variables will be parsed recursively (variables/slots within them will be rendered)\n8. Restore masked code blocks\n9. Remove excess whitespace\n\n## Examples and Samples\n\nThe `samples` directory contains comprehensive examples demonstrating all PromptShaper features. These samples provide practical learning materials and reference implementations for every major capability.\n\n```bash\n# Run the automated sample test suite with regression detection\n./test-samples.sh\n\n# Regenerate reference outputs (after intentional changes)\n./generate-sample-outputs.sh\n```\n\nThe test system compares current sample outputs against reference outputs stored in `sample-outputs/` to catch regressions. It runs automatically in CI and will fail the build if any sample breaks or produces different output.\n\n## Terminology\n\n- **Template** - A piece of text that is rendered by the parser. I'm using the .ps.md extension for the samples.\n- **Variable** - A value loaded from a template file, or defined inline in a template. Variables are defined using single braces and are either defined as a single tag, or with matching tags wrapped around text. String variables can be rendered as templates.\n- **Slot** - Renders the contents of a variable or function using double braces.\n- **Parameters** - One or more arguments passed to a slot or a function. Parameters are strings.\n- **Function** - Does \"something\" and the result is rendered on page, or assigned to a variable.\n- **Raw Mode** - Processing mode where PromptShaper tags are not parsed, useful for code analysis or preserving exact syntax.\n- **Template-Only Mode** - Processing mode where LLM integration is disabled using `--disable-llm`, useful for pure templating without requiring any API keys.\n\n## LLM Provider Setup\n\nPromptShaper supports multiple LLM providers with automatic detection based on model name:\n\n### OpenAI Provider\n**Required for GPT models**\n\n```bash\nexport OPENAI_API_KEY=\"your-openai-api-key\"\nnpx prompt-shaper -i -m gpt-4o\n```\n\n### Anthropic Provider  \n**Required for Claude models**\n\n```bash\nexport ANTHROPIC_API_KEY=\"your-anthropic-api-key\"\nnpx prompt-shaper -i -m claude-sonnet-4-0\n```\n\n### Google Gemini Provider\n**Required for Gemini models**\n\n```bash\nexport GEMINI_API_KEY=\"your-google-api-key\"\nnpx prompt-shaper -i -m gemini-2.5-flash\n```\n\n### No API Key Required\nTemplate processing with `--disable-llm` works without any API keys:\n\n```bash\nnpx prompt-shaper my_template.ps.md --disable-llm\n```\n\n**Note**: The appropriate API key must be set for LLM features (`--interactive`, `--generate`) to work. Provider selection is automatic based on the model name you specify.\n","readmeFilename":"README.md"}