{"_id":"@wgroovy/gcf-tool","_rev":"26-6088b5e404a05479a9c8e7f908ca6ac6","name":"@wgroovy/gcf-tool","dist-tags":{"latest":"1.3.8"},"versions":{"1.1.0":{"name":"@wgroovy/gcf-tool","version":"1.1.0","keywords":["genesys","cloud","functions","deployment"],"author":{"name":"Wen Gu","email":"wen.gu@genesys.com"},"license":"MIT","_id":"@wgroovy/gcf-tool@1.1.0","maintainers":[{"name":"wgroovy","email":"wen.gu@genesys.com"}],"bin":{"gcf-tool":"index.cjs"},"dist":{"shasum":"d3e83c73056bdf49d780549faf3bbf4b761991f6","tarball":"https://registry.npmjs.org/@wgroovy/gcf-tool/-/gcf-tool-1.1.0.tgz","fileCount":3,"integrity":"sha512-KdsEn3sisaYyavwULRxJqElSwxyTc4ihlktc/WlWKih7/JqOOVsApD/ROO8FmEYzYXmCYp5J9cuQ/PPTUWSFkQ==","signatures":[{"sig":"MEQCIFJGq2ov+EPLIByheR4yxC7MwgIw1ayA7fxZrZCHCQzDAiBdJzFbFhgA1JXBd4Tp+9MZykBVxAmgH17kx3jKUnsZlg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":140875},"main":"index.cjs","type":"commonjs","engines":{"node":">=22"},"gitHead":"8a2421bc3a841da35f1b3db6203bf334fbaba543","scripts":{"build":"esbuild src/main.mjs --bundle --platform=node --target=node22 --format=cjs --outfile=index.cjs --banner:js='#!/usr/bin/env node' --minify"},"_npmUser":{"name":"wgroovy","email":"wen.gu@genesys.com"},"_npmVersion":"11.11.1","description":"Deploy Genesys Functions to a specified Genesys org, with support for bulk operations.","directories":{},"_nodeVersion":"22.19.0","preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"execa":"^9.6.1"},"_npmOperationalInternal":{"tmp":"tmp/gcf-tool_1.1.0_1774639468567_0.10402717569473818","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@wgroovy/gcf-tool","version":"1.1.1","keywords":["genesys","cloud","functions","deployment"],"author":{"name":"Wen Gu","email":"wen.gu@genesys.com"},"license":"MIT","_id":"@wgroovy/gcf-tool@1.1.1","maintainers":[{"name":"wgroovy","email":"wen.gu@genesys.com"}],"bin":{"gcf-tool":"index.cjs"},"dist":{"shasum":"c719fc881f10b7b9284b9809f1985c88dbd1aaf5","tarball":"https://registry.npmjs.org/@wgroovy/gcf-tool/-/gcf-tool-1.1.1.tgz","fileCount":3,"integrity":"sha512-dbopcsPqFAcqd3LLWDx8W+xhGJysGEEjI3mujhdIdvpGvmgoFfKTSAs3SfpZPPLcMuZT+CPzQerQsjJPtMBprw==","signatures":[{"sig":"MEYCIQCGCnUAEeulOv2JTGlwGKRXnx0oPT1szooH92mFronpQwIhAOJNHqjkD8JsOxRxL9Mk15PHfIndEwAHMEaV/USnY2xK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":141719},"main":"index.cjs","type":"commonjs","engines":{"node":">=22"},"gitHead":"597e5805affc5299a67ae88dd8d0d5333bc6f869","scripts":{"build":"esbuild src/main.mjs --bundle --platform=node --target=node22 --format=cjs --outfile=index.cjs --banner:js='#!/usr/bin/env node' --minify"},"_npmUser":{"name":"wgroovy","email":"wen.gu@genesys.com"},"_npmVersion":"11.12.1","description":"Deploy Genesys Functions to a specified Genesys org, with support for bulk operations.","directories":{},"_nodeVersion":"22.19.0","preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"execa":"^9.6.1"},"_npmOperationalInternal":{"tmp":"tmp/gcf-tool_1.1.1_1774931161827_0.3349216692215278","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"@wgroovy/gcf-tool","version":"1.1.2","keywords":["genesys","cloud","functions","deployment"],"author":{"name":"Wen Gu","email":"wen.gu@genesys.com"},"license":"MIT","_id":"@wgroovy/gcf-tool@1.1.2","maintainers":[{"name":"wgroovy","email":"wen.gu@genesys.com"}],"bin":{"gcf-tool":"index.cjs"},"dist":{"shasum":"201f60f374fe048fed6f452273d59d018563d08e","tarball":"https://registry.npmjs.org/@wgroovy/gcf-tool/-/gcf-tool-1.1.2.tgz","fileCount":3,"integrity":"sha512-8fm5TOe9VoB9+CIakWBe3Ol3zmP71lxoN+dFMb1ubZawPaQb6L7OUDF9nIejGqQTaHm7n3wO1lz8xtjFGjyi/g==","signatures":[{"sig":"MEUCIGVdn8f8XY95xNiFEx5s0ROCoxtOWUwAXpbuZLypRmQdAiEAxUE0/pfy8xtsVVJijW9hKxy6C1fTLnj+i8mG2cQBPfw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":141722},"main":"index.cjs","type":"commonjs","engines":{"node":">=22"},"gitHead":"5e4878dbd460ea8135a978fba57ad55198274047","scripts":{"build":"esbuild src/main.mjs --bundle --platform=node --target=node22 --format=cjs --outfile=index.cjs --banner:js='#!/usr/bin/env node' --minify"},"_npmUser":{"name":"wgroovy","email":"wen.gu@genesys.com"},"_npmVersion":"11.12.1","description":"Deploy Genesys Functions to a specified Genesys org, with support for bulk operations.","directories":{},"_nodeVersion":"22.19.0","preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"execa":"^9.6.1"},"_npmOperationalInternal":{"tmp":"tmp/gcf-tool_1.1.2_1775797325091_0.6550262942859846","host":"s3://npm-registry-packages-npm-production"}},"1.1.3":{"name":"@wgroovy/gcf-tool","version":"1.1.3","keywords":["genesys","cloud","functions","deployment"],"author":{"name":"Wen Gu","email":"wen.gu@genesys.com"},"license":"MIT","_id":"@wgroovy/gcf-tool@1.1.3","maintainers":[{"name":"wgroovy","email":"wen.gu@genesys.com"}],"bin":{"gcf-tool":"index.cjs"},"dist":{"shasum":"869af127347b90b81c824e3d38209fab9629ec05","tarball":"https://registry.npmjs.org/@wgroovy/gcf-tool/-/gcf-tool-1.1.3.tgz","fileCount":3,"integrity":"sha512-fZWzRf0SboCJIxb8gVPN1VKaWorJoABC2Y4GA5pYZVYh4b6P2dTZRiiVGspzk5acfeKk4mArBMfNOoZGa1OTFg==","signatures":[{"sig":"MEUCICUas4mcDS9hG58+tuqLe6i09yKNhkCdSxsYs9tZJ64OAiEAv6FLWSXvxUBf0VC0cphDWzS//rYaeqbui7edlaJLrVg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":144192},"main":"index.cjs","type":"commonjs","engines":{"node":">=22"},"gitHead":"d0be1b5a3e39ba1bafeb567c3d9a6be7f7132885","scripts":{"build":"esbuild src/main.mjs --bundle --platform=node --target=node22 --format=cjs --outfile=index.cjs --banner:js='#!/usr/bin/env node' --minify"},"_npmUser":{"name":"wgroovy","email":"wen.gu@genesys.com"},"_npmVersion":"11.12.1","description":"Deploy Genesys Functions to a specified Genesys org, with support for bulk operations.","directories":{},"_nodeVersion":"22.19.0","preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"execa":"^9.6.1"},"_npmOperationalInternal":{"tmp":"tmp/gcf-tool_1.1.3_1776122507923_0.358904164722593","host":"s3://npm-registry-packages-npm-production"}},"1.1.4":{"name":"@wgroovy/gcf-tool","version":"1.1.4","keywords":["genesys","cloud","functions","deployment"],"author":{"name":"Wen Gu","email":"wen.gu@genesys.com"},"license":"MIT","_id":"@wgroovy/gcf-tool@1.1.4","maintainers":[{"name":"wgroovy","email":"wen.gu@genesys.com"}],"bin":{"gcf-tool":"index.cjs"},"dist":{"shasum":"b299a971df3027e60624ad671056b883ad4b7790","tarball":"https://registry.npmjs.org/@wgroovy/gcf-tool/-/gcf-tool-1.1.4.tgz","fileCount":3,"integrity":"sha512-8t/1KlNXATyId1YQhXUidjvEAs5aPtIZc6M1Jz2KRepASap6gVtH2aCyJdXQE+JKuh6VMGxceqjlinMQ1dTPdg==","signatures":[{"sig":"MEYCIQCcrr1x/62/CfZT2079waYSqyi5kpBA9eynM0sM3vfN/QIhAJVrPJQgvIrb8x5FisPPT0IQGf7WiUM5WGcXSFnnW3au","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":146470},"main":"index.cjs","type":"commonjs","engines":{"node":">=22"},"gitHead":"d0be1b5a3e39ba1bafeb567c3d9a6be7f7132885","scripts":{"test":"node --test","build":"esbuild src/main.mjs --bundle --platform=node --target=node22 --format=cjs --outfile=index.cjs --banner:js='#!/usr/bin/env node' --minify"},"_npmUser":{"name":"wgroovy","email":"wen.gu@genesys.com"},"_npmVersion":"11.12.1","description":"Deploy Genesys Functions to a specified Genesys org, with support for bulk operations.","directories":{},"_nodeVersion":"22.19.0","preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"execa":"^9.6.1"},"_npmOperationalInternal":{"tmp":"tmp/gcf-tool_1.1.4_1776388256822_0.16010984909721127","host":"s3://npm-registry-packages-npm-production"}},"1.1.5":{"name":"@wgroovy/gcf-tool","version":"1.1.5","keywords":["genesys","cloud","functions","deployment"],"author":{"name":"Wen Gu","email":"wen.gu@genesys.com"},"license":"MIT","_id":"@wgroovy/gcf-tool@1.1.5","maintainers":[{"name":"wgroovy","email":"wen.gu@genesys.com"}],"bin":{"gcf-tool":"index.cjs"},"dist":{"shasum":"beb8e8866ef202f01d8d23c1b9a0803bb87b2944","tarball":"https://registry.npmjs.org/@wgroovy/gcf-tool/-/gcf-tool-1.1.5.tgz","fileCount":3,"integrity":"sha512-l7N59j9wlZ/0NUXG+AeTFnTNuBCdDFLYo2hDWJ3ory9K8WsJOWemXLt9uDieCJC1pUmKSYA0eBxScUgKPuEn0A==","signatures":[{"sig":"MEYCIQDToXcgj0nhOa7nfDXwdtJ0opvRQjrW+rJAYKXVmq5GfwIhAPvh2HbebdC7lhvQbJ+Qgd4ZTzLQZCflmxCKLUcMuy2d","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":146512},"main":"index.cjs","type":"commonjs","engines":{"node":">=22"},"gitHead":"c7c9a6fd457acfabe22a968aaa8e9723ba289981","scripts":{"test":"node --test","build":"esbuild src/main.mjs --bundle --platform=node --target=node22 --format=cjs --outfile=index.cjs --banner:js='#!/usr/bin/env node' --minify"},"_npmUser":{"name":"wgroovy","email":"wen.gu@genesys.com"},"_npmVersion":"11.13.0","description":"Deploy Genesys Functions to a specified Genesys org, with support for bulk operations.","directories":{},"_nodeVersion":"22.19.0","preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"execa":"^9.6.1"},"_npmOperationalInternal":{"tmp":"tmp/gcf-tool_1.1.5_1777050071774_0.3248513079159243","host":"s3://npm-registry-packages-npm-production"}},"1.1.6":{"name":"@wgroovy/gcf-tool","version":"1.1.6","keywords":["genesys","genesys-cloud","function-data-action"],"author":{"name":"Wen Gu","email":"wen.gu@genesys.com"},"license":"MIT","_id":"@wgroovy/gcf-tool@1.1.6","maintainers":[{"name":"wgroovy","email":"wen.gu@genesys.com"}],"bin":{"gcf-tool":"index.cjs"},"dist":{"shasum":"3f21f1e1ba8eb3a948893c105cb3455e80e9fa7a","tarball":"https://registry.npmjs.org/@wgroovy/gcf-tool/-/gcf-tool-1.1.6.tgz","fileCount":3,"integrity":"sha512-58DuQw3krfCAAh9RxRMYc6fSvNzFc6AiDm2saNVimvXJK5joAOQMiDFxjKi23BqP8AwIqw6eWUkngsui09pLsQ==","signatures":[{"sig":"MEUCIBXqRAh4gmRBGg+zXn94lISoscdiwvli3Nc6TASqb26kAiEAgWKImPLPCoTc0SlAInc0n0yEk0yWkQBl67D8jILnZFw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":150567},"main":"index.cjs","type":"commonjs","engines":{"node":">=22"},"gitHead":"d7775226dfa694ff9c37ffedab2c9a7f27eaac20","scripts":{"test":"node --test","build":"esbuild src/main.mjs --bundle --platform=node --target=node22 --format=cjs --outfile=index.cjs --banner:js='#!/usr/bin/env node' --minify"},"_npmUser":{"name":"wgroovy","email":"wen.gu@genesys.com"},"_npmVersion":"11.16.0","description":"Deploy Genesys Functions to a specified Genesys org, with support for bulk operations.","directories":{},"_nodeVersion":"22.22.3","preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"execa":"^9.6.1"},"_npmOperationalInternal":{"tmp":"tmp/gcf-tool_1.1.6_1781134284471_0.4931551282223936","host":"s3://npm-registry-packages-npm-production"}},"1.1.7":{"name":"@wgroovy/gcf-tool","version":"1.1.7","keywords":["genesys","genesys-cloud","function-data-action"],"author":{"name":"Wen Gu","email":"wen.gu@genesys.com"},"license":"MIT","_id":"@wgroovy/gcf-tool@1.1.7","maintainers":[{"name":"wgroovy","email":"wen.gu@genesys.com"}],"bin":{"gcf-tool":"index.cjs"},"dist":{"shasum":"456e86aad0f23a39a8847d5b055673893fc00f6b","tarball":"https://registry.npmjs.org/@wgroovy/gcf-tool/-/gcf-tool-1.1.7.tgz","fileCount":3,"integrity":"sha512-CLTt6o9ZcE811X+7M1oHDIk4aJE3qZFOeHx09YXDor1X5UhnhND67NY7qeNfKxNbnIGtQu3a7nBapw2QTGm1xw==","signatures":[{"sig":"MEQCIDgR8pb+HRV8RX3X2J1H6Lnu2GuLaFE2tkIeFhh7k3/MAiBDmyIhZYR/0kPg7JcF6x0mPQLl66Fy+OVTB3wex9I9PA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":154366},"main":"index.cjs","type":"commonjs","engines":{"node":">=22"},"gitHead":"5331907c450661eba7c5d3b3042f7c70da99da74","scripts":{"test":"node --test","build":"esbuild src/main.mjs --bundle --platform=node --target=node22 --format=cjs --outfile=index.cjs --banner:js='#!/usr/bin/env node' --minify"},"_npmUser":{"name":"wgroovy","email":"wen.gu@genesys.com"},"_npmVersion":"11.16.0","description":"Deploy Genesys Functions to a specified Genesys org, with support for bulk operations.","directories":{},"_nodeVersion":"22.19.0","preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"execa":"^9.6.1"},"_npmOperationalInternal":{"tmp":"tmp/gcf-tool_1.1.7_1781185495726_0.19484350088828473","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@wgroovy/gcf-tool","version":"1.2.0","keywords":["genesys","genesys-cloud","function-data-action"],"author":{"name":"Wen Gu","email":"wen.gu@genesys.com"},"license":"MIT","_id":"@wgroovy/gcf-tool@1.2.0","maintainers":[{"name":"wgroovy","email":"wen.gu@genesys.com"}],"bin":{"gcf-tool":"index.cjs"},"dist":{"shasum":"c1c75576371e3829ecf4cd40a99d53c7515ca527","tarball":"https://registry.npmjs.org/@wgroovy/gcf-tool/-/gcf-tool-1.2.0.tgz","fileCount":3,"integrity":"sha512-c+3uTBIo0P3eCbGuKoDSCdtcJcJCzV1Lmq32lmaNl7pX37u3FtyJSj+wiF9+d7s5pwEMclnzZj5iIMdk+zXMFQ==","signatures":[{"sig":"MEQCIHcn6pTUbkTYY/6iBDVqhRMFKY1VSCFFSSanhP8Ja3gYAiBmdOaoQeH2PtflHfpLUAIfrR60ugGD1fG5UUL0KEJPlQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":159970},"main":"index.cjs","type":"commonjs","engines":{"node":">=22"},"gitHead":"5ace7177797e858fc56e0d23fba5237348d9dc48","scripts":{"test":"node --test","build":"esbuild src/main.mjs --bundle --platform=node --target=node22 --format=cjs --outfile=index.cjs --banner:js='#!/usr/bin/env node' --minify"},"_npmUser":{"name":"wgroovy","email":"wen.gu@genesys.com"},"gcFunction":{"secure":false,"functionName":"gcf-tool","gcCliProfile":"default","integrationName":"Test"},"_npmVersion":"11.16.0","description":"Deploy Genesys Functions to a specified Genesys org, with support for bulk operations.","directories":{},"_nodeVersion":"22.22.3","preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"execa":"^9.6.1"},"_npmOperationalInternal":{"tmp":"tmp/gcf-tool_1.2.0_1781203130287_0.6447736963680188","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"@wgroovy/gcf-tool","version":"1.2.1","keywords":["genesys","genesys-cloud","function-data-action"],"author":{"name":"Wen Gu","email":"wen.gu@genesys.com"},"license":"MIT","_id":"@wgroovy/gcf-tool@1.2.1","maintainers":[{"name":"wgroovy","email":"wen.gu@genesys.com"}],"bin":{"gcf-tool":"index.cjs"},"dist":{"shasum":"a7cf3160df4233f36075264a1117bbed86ef7c53","tarball":"https://registry.npmjs.org/@wgroovy/gcf-tool/-/gcf-tool-1.2.1.tgz","fileCount":3,"integrity":"sha512-NBBPuFYRBt5s4tIIRULBFlGFbKbwtyQNYUXn4Mi3oLXSGTyX+PLCOP+4BQE8NPAzSTvyQyadaOTV5/gMPScxxQ==","signatures":[{"sig":"MEYCIQC33GGiLXFGBs4+oMPcszEhXmU6uQfuAD8Qw/wGvQEd2AIhAJItUYSsYOkYs3wN1v4T+bwzZjKkSuyElCww1IZ0VXZu","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":160078},"main":"index.cjs","type":"commonjs","engines":{"node":">=22"},"gitHead":"3d3060c41810f170e481b4ac2b43fb59d949a7ae","scripts":{"test":"node --test","build":"esbuild src/main.mjs --bundle --platform=node --target=node22 --format=cjs --outfile=index.cjs --banner:js='#!/usr/bin/env node' --minify"},"_npmUser":{"name":"wgroovy","email":"wen.gu@genesys.com"},"gcFunction":{"secure":false,"functionName":"gcf-tool","gcCliProfile":"default","integrationName":"Test"},"_npmVersion":"11.16.0","description":"Deploy Genesys Functions to a specified Genesys org, with support for bulk operations.","directories":{},"_nodeVersion":"22.22.3","preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"execa":"^9.6.1"},"_npmOperationalInternal":{"tmp":"tmp/gcf-tool_1.2.1_1781230405944_0.990150627531732","host":"s3://npm-registry-packages-npm-production"}},"1.3.1":{"name":"@wgroovy/gcf-tool","version":"1.3.1","keywords":["genesys","genesys-cloud","function-data-action"],"author":{"name":"Wen Gu","email":"wen.gu@genesys.com"},"license":"MIT","_id":"@wgroovy/gcf-tool@1.3.1","maintainers":[{"name":"wgroovy","email":"wen.gu@genesys.com"}],"bin":{"gcf-tool":"index.cjs"},"dist":{"shasum":"0c28e49a78aa68972cd4bf25896b8e5963b10dee","tarball":"https://registry.npmjs.org/@wgroovy/gcf-tool/-/gcf-tool-1.3.1.tgz","fileCount":3,"integrity":"sha512-k3aR2kYvCzArt99x8TL1HcuzxWXo5K1whRHlXJdfolFurngASZ+Unpt1Ox3aYtpG/HkgAQsj1XELy6JIYQT9ZQ==","signatures":[{"sig":"MEYCIQCCMMsy1gIuWiW7ojvcoOhLNP24cYFTbqeEjMTvbST0jgIhAKuecBycCIyFzdyCLTag/P31pMBLOwfWPNR3Gnvg3UnA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":164394},"main":"index.cjs","type":"commonjs","engines":{"node":">=22"},"gitHead":"df0d5325c6486748f13ae91bd2251763e8c3b2e2","scripts":{"test":"node --test","build":"esbuild src/main.mjs --bundle --platform=node --target=node22 --format=cjs --outfile=index.cjs --banner:js='#!/usr/bin/env node' --minify"},"_npmUser":{"name":"wgroovy","email":"wen.gu@genesys.com"},"gcFunction":{"secure":false,"functionName":"gcf-tool","gcCliProfile":"default","integrationName":"Test"},"_npmVersion":"11.17.0","description":"Deploy Genesys Functions to a specified Genesys org, with support for bulk operations.","directories":{},"_nodeVersion":"22.22.3","preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"execa":"^9.6.1"},"_npmOperationalInternal":{"tmp":"tmp/gcf-tool_1.3.1_1784174586238_0.04815243472894237","host":"s3://npm-registry-packages-npm-production"}},"1.3.2":{"name":"@wgroovy/gcf-tool","version":"1.3.2","keywords":["genesys","genesys-cloud","function-data-action"],"author":{"name":"Wen Gu","email":"wen.gu@genesys.com"},"license":"MIT","_id":"@wgroovy/gcf-tool@1.3.2","maintainers":[{"name":"wgroovy","email":"wen.gu@genesys.com"}],"bin":{"gcf-tool":"index.cjs"},"dist":{"shasum":"3029f4cf836fe33d791339ba08c36be89ea59152","tarball":"https://registry.npmjs.org/@wgroovy/gcf-tool/-/gcf-tool-1.3.2.tgz","fileCount":3,"integrity":"sha512-kpF++1udeSRpGrarEXVO4gvBN8IHDJ8FaeIXh20mrqGZhdjB9Mas3mnY6LVulz25jEeXGQegIDYNyepTnLmhPA==","signatures":[{"sig":"MEUCIQDOKP57zK8FWVh8vBGH5/EWTdnn7xYczeudIsLERTRYsgIgKkv31TNcWmoqglCMfVGKp2O0CD318p23eRGPmUuzeuI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":164398},"main":"index.cjs","type":"commonjs","engines":{"node":">=22"},"gitHead":"9cd5050b51e2681a23030c72ce411ee2498b75a2","scripts":{"test":"node --test","build":"esbuild src/main.mjs --bundle --platform=node --target=node22 --format=cjs --outfile=index.cjs --banner:js='#!/usr/bin/env node' --minify"},"_npmUser":{"name":"wgroovy","email":"wen.gu@genesys.com"},"gcFunction":{"secure":false,"functionName":"gcf-tool","gcCliProfile":"default","integrationName":"Test"},"_npmVersion":"11.17.0","description":"Deploy Genesys Functions to a specified Genesys org, with support for bulk operations.","directories":{},"_nodeVersion":"22.22.3","preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"execa":"^9.6.1"},"_npmOperationalInternal":{"tmp":"tmp/gcf-tool_1.3.2_1784212812701_0.9301172366408788","host":"s3://npm-registry-packages-npm-production"}},"1.3.3":{"name":"@wgroovy/gcf-tool","version":"1.3.3","keywords":["genesys","genesys-cloud","function-data-action"],"author":{"name":"Wen Gu","email":"wen.gu@genesys.com"},"license":"MIT","_id":"@wgroovy/gcf-tool@1.3.3","maintainers":[{"name":"wgroovy","email":"wen.gu@genesys.com"}],"bin":{"gcf-tool":"index.cjs"},"dist":{"shasum":"798c73921de9d08d21e2a5da9ef1a24fdcd7903a","tarball":"https://registry.npmjs.org/@wgroovy/gcf-tool/-/gcf-tool-1.3.3.tgz","fileCount":3,"integrity":"sha512-wEFnwsOiMIpmCIfjG8ddyiHUoKpqImc75F5HYpwTWXEDd8b+j7ROmaF/+Rbc3VqvnSx01Klruss/RzYneJUSZA==","signatures":[{"sig":"MEUCIBn3xmRuTwbrx8yFmoZeXmf9QbHV9GcZvpGjn6dWmRALAiEAxLdYfrC0pgSD0zlUhsbytAKWFC0/ASjBvLmsAsVwKlg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":164398},"main":"index.cjs","type":"commonjs","engines":{"node":">=22"},"gitHead":"5d83dac76db4517382a34d758951ed75b96d6d19","scripts":{"test":"node --test","build":"esbuild src/main.mjs --bundle --platform=node --target=node22 --format=cjs --outfile=index.cjs --banner:js='#!/usr/bin/env node' --minify"},"_npmUser":{"name":"wgroovy","email":"wen.gu@genesys.com"},"gcFunction":{"secure":false,"functionName":"gcf-tool","gcCliProfile":"default","integrationName":"Test"},"_npmVersion":"11.17.0","description":"Deploy Genesys Functions to a specified Genesys org, with support for bulk operations.","directories":{},"_nodeVersion":"22.22.3","preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"execa":"^9.6.1"},"_npmOperationalInternal":{"tmp":"tmp/gcf-tool_1.3.3_1784213066578_0.6946750561496893","host":"s3://npm-registry-packages-npm-production"}},"1.3.4":{"name":"@wgroovy/gcf-tool","version":"1.3.4","keywords":["genesys","genesys-cloud","function-data-action"],"author":{"name":"Wen Gu","email":"wen.gu@genesys.com"},"license":"MIT","_id":"@wgroovy/gcf-tool@1.3.4","maintainers":[{"name":"wgroovy","email":"wen.gu@genesys.com"}],"bin":{"gcf-tool":"index.cjs"},"dist":{"shasum":"8fbde7d0e9d0881e1ef177433828571b9097829b","tarball":"https://registry.npmjs.org/@wgroovy/gcf-tool/-/gcf-tool-1.3.4.tgz","fileCount":3,"integrity":"sha512-WoLPjTT7gW6F5sQwzlj4fYxS/F9qJbz645F3p5WszTDLhXxDmhFYrL/r0WQxmJnCEoaZTxmoVSB5F3eSG93+Tw==","signatures":[{"sig":"MEUCIQCO+WxA8yh33mYoSUjvPX/0QHMCjRhmGx0aLy6xvnny2wIgPQyPVl2MtLkOH1P3ap4YOjG1WEtq0EG6PIbKVdOJeGY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":165911},"main":"index.cjs","type":"commonjs","engines":{"node":">=22"},"gitHead":"9e905bbf3243bcc35b41a344dade3938c70c4716","scripts":{"test":"node --test","build":"esbuild src/main.mjs --bundle --platform=node --target=node22 --format=cjs --outfile=index.cjs --banner:js='#!/usr/bin/env node' --minify"},"_npmUser":{"name":"wgroovy","email":"wen.gu@genesys.com"},"gcFunction":{"secure":false,"functionName":"gcf-tool","gcCliProfile":"default","integrationName":"Test"},"_npmVersion":"11.17.0","description":"Deploy Genesys Functions to a specified Genesys org, with support for bulk operations.","directories":{},"_nodeVersion":"22.22.3","preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"execa":"^9.6.1"},"_npmOperationalInternal":{"tmp":"tmp/gcf-tool_1.3.4_1784678522473_0.3027550544088713","host":"s3://npm-registry-packages-npm-production"}},"1.3.5":{"name":"@wgroovy/gcf-tool","version":"1.3.5","keywords":["genesys","genesys-cloud","function-data-action"],"author":{"name":"Wen Gu","email":"wen.gu@genesys.com"},"license":"MIT","_id":"@wgroovy/gcf-tool@1.3.5","maintainers":[{"name":"wgroovy","email":"wen.gu@genesys.com"}],"bin":{"gcf-tool":"index.cjs"},"dist":{"shasum":"5a90c8db341a723e8aed84fde3b4ec0563bece56","tarball":"https://registry.npmjs.org/@wgroovy/gcf-tool/-/gcf-tool-1.3.5.tgz","fileCount":4,"integrity":"sha512-+jN3m3rPBMUy5PAv9yEfmecMa/J0e6KJ8XKsYikvIwkWT9uRtdk3d4hLfw+7JSbLMWSELIv56en918Ab3E8IEw==","signatures":[{"sig":"MEUCIQCPeXN6kcg7axYtPNkBDI1esGb4LDAKDP2ISEicncn9MAIgdtdBvF1aDNHpxL7mhnKc3vdk+mSqQVfVZ8/VaAfxVg4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":184025},"main":"index.cjs","type":"commonjs","engines":{"node":">=22"},"gitHead":"123ea07d2b5d5e0e5e6bb08bec8450cc1c89808a","scripts":{"test":"node --test","build":"esbuild src/main.mjs --bundle --platform=node --target=node22 --format=cjs --outfile=index.cjs --banner:js='#!/usr/bin/env node' --minify"},"_npmUser":{"name":"wgroovy","email":"wen.gu@genesys.com"},"gcFunction":{"secure":false,"functionName":"gcf-tool","gcCliProfile":"default","integrationName":"Test"},"_npmVersion":"11.17.0","description":"Deploy Genesys Functions to a specified Genesys org, with support for bulk operations.","directories":{},"_nodeVersion":"22.22.3","preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"execa":"^9.6.1"},"_npmOperationalInternal":{"tmp":"tmp/gcf-tool_1.3.5_1784744074607_0.7378975925964435","host":"s3://npm-registry-packages-npm-production"}},"1.3.6":{"name":"@wgroovy/gcf-tool","version":"1.3.6","keywords":["genesys","genesys-cloud","function-data-action"],"author":{"name":"Wen Gu","email":"wen.gu@genesys.com"},"license":"MIT","_id":"@wgroovy/gcf-tool@1.3.6","maintainers":[{"name":"wgroovy","email":"wen.gu@genesys.com"}],"bin":{"gcf-tool":"index.cjs"},"dist":{"shasum":"60e8f1724b76121ad2b8448157a0b427f15697c5","tarball":"https://registry.npmjs.org/@wgroovy/gcf-tool/-/gcf-tool-1.3.6.tgz","fileCount":4,"integrity":"sha512-aWTz8ItFg8zpfyAvXJbThH/dpYM8tVxJElAcrCvz1XB6i3X1BIpZUkBuWfSi/AgUaHkahyYspDgkhtjfPdomOA==","signatures":[{"sig":"MEQCIEfy/5CVqcbhJF7eg/8SakqafQJ0oGr9okb+39L44UjHAiARqAZiXoI5vvvJDJsPLLVo7J/V1wB+QWmZVcd6dzWPTw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":184505},"main":"index.cjs","type":"commonjs","engines":{"node":">=22"},"gitHead":"97c5a16df075d0314cf4e78a49b9de0e832340e3","scripts":{"test":"node --test","build":"esbuild src/main.mjs --bundle --platform=node --target=node22 --format=cjs --outfile=index.cjs --banner:js='#!/usr/bin/env node' --minify --define:process.env.GC_TOOL_VERSION=$(node -p \"JSON.stringify(require('./package.json').version)\")"},"_npmUser":{"name":"wgroovy","email":"wen.gu@genesys.com"},"gcFunction":{"secure":false,"functionName":"gcf-tool","gcCliProfile":"default","integrationName":"Test"},"_npmVersion":"11.18.0","description":"Deploy Genesys Functions to a specified Genesys org, with support for bulk operations.","directories":{},"_nodeVersion":"22.19.0","preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"execa":"^9.6.1"},"_npmOperationalInternal":{"tmp":"tmp/gcf-tool_1.3.6_1785203611520_0.37229182011426043","host":"s3://npm-registry-packages-npm-production"}},"1.3.7":{"name":"@wgroovy/gcf-tool","version":"1.3.7","keywords":["genesys","genesys-cloud","function-data-action"],"author":{"name":"Wen Gu","email":"wen.gu@genesys.com"},"license":"MIT","_id":"@wgroovy/gcf-tool@1.3.7","maintainers":[{"name":"wgroovy","email":"wen.gu@genesys.com"}],"bin":{"gcf-tool":"index.cjs"},"dist":{"shasum":"94fd8bf7550900cace04ada0e05e84d1c6f3c6a9","tarball":"https://registry.npmjs.org/@wgroovy/gcf-tool/-/gcf-tool-1.3.7.tgz","fileCount":4,"integrity":"sha512-+2eVeWNVyqB3Ib3dJm9SgjjI5gi4w808JmoJmTInSS2/KjqZHvN3/iVqlz+9wB9hJJCBEsjrBjSGj06twi789g==","signatures":[{"sig":"MEYCIQCPdd08R5CFSIPsZeTceQlDQa5spsqFskKhyA1DUmILIQIhAKTejsrl3cjOqg8npssjiJbj1VG5cL3VLQSH23Qk71X6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":185700},"main":"index.cjs","type":"commonjs","engines":{"node":">=22"},"gitHead":"f9dbe8dd664d3cdf4568a39314967f439155e7d7","scripts":{"test":"node --test","build":"esbuild src/main.mjs --bundle --platform=node --target=node22 --format=cjs --outfile=index.cjs --banner:js='#!/usr/bin/env node' --minify --define:process.env.GC_TOOL_VERSION=$(node -p \"JSON.stringify(require('./package.json').version)\")"},"_npmUser":{"name":"wgroovy","email":"wen.gu@genesys.com"},"gcFunction":{"secure":false,"functionName":"gcf-tool","gcCliProfile":"default","integrationName":"Test"},"_npmVersion":"11.18.0","description":"Deploy Genesys Functions to a specified Genesys org, with support for bulk operations.","directories":{},"_nodeVersion":"22.19.0","preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"execa":"^9.6.1"},"_npmOperationalInternal":{"tmp":"tmp/gcf-tool_1.3.7_1785382991158_0.12870010454782932","host":"s3://npm-registry-packages-npm-production"}},"1.3.8":{"name":"@wgroovy/gcf-tool","version":"1.3.8","description":"Deploy Genesys Functions to a specified Genesys org, with support for bulk operations.","main":"index.cjs","bin":{"gcf-tool":"index.cjs"},"scripts":{"build":"esbuild src/main.mjs --bundle --platform=node --target=node22 --format=cjs --outfile=index.cjs --banner:js='#!/usr/bin/env node' --minify --define:process.env.GC_TOOL_VERSION=$(node -p \"JSON.stringify(require('./package.json').version)\")","test":"node --test"},"keywords":["genesys","genesys-cloud","function-data-action"],"author":{"name":"Wen Gu","email":"wen.gu@genesys.com"},"license":"MIT","preferGlobal":true,"type":"commonjs","engines":{"node":">=22"},"devDependencies":{"execa":"^9.6.1"},"gcFunction":{"integrationName":"Test","functionName":"gcf-tool","gcCliProfile":"default","secure":false},"gitHead":"998ee8661b44ebb90c3ac581f1b3aaa3dc42a762","_id":"@wgroovy/gcf-tool@1.3.8","_nodeVersion":"22.23.2","_npmVersion":"12.0.2","dist":{"integrity":"sha512-mAvBXfaSLNphBdhnAcVH84/qfbZcTSeWm6xUKIK2yESAv+epQF+4m7+3aY62WtfpwPeUGZp2zXHb5c18CMAS6g==","shasum":"2bda62459f90ff1ea6c9277b71204c2942e7183f","tarball":"https://registry.npmjs.org/@wgroovy/gcf-tool/-/gcf-tool-1.3.8.tgz","fileCount":4,"unpackedSize":187977,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCICW6q/3GDvbZ8AuruiLiV07OwXNjrHx89nN7JKZZX0e4AiAvOMejPPm1sR+vudFJAoUPe4u4qkEcsn2fEZiGQNWVvQ=="}]},"_npmUser":{"name":"wgroovy","email":"wen.gu@genesys.com"},"directories":{},"maintainers":[{"name":"wgroovy","email":"wen.gu@genesys.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/gcf-tool_1.3.8_1788060275161_0.8546893739379895"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-27T19:24:28.499Z","modified":"2026-08-30T03:24:35.460Z","1.0.0":"2026-03-24T22:02:26.626Z","1.0.1":"2026-03-24T23:24:43.823Z","1.0.2":"2026-03-25T00:03:54.964Z","1.0.3":"2026-03-25T00:39:12.931Z","1.0.4":"2026-03-25T00:39:25.941Z","1.0.5":"2026-03-25T00:39:45.264Z","1.1.0":"2026-03-27T19:24:28.743Z","1.1.1":"2026-03-31T04:26:01.948Z","1.1.2":"2026-04-10T05:02:05.247Z","1.1.3":"2026-04-13T23:21:48.072Z","1.1.4":"2026-04-17T01:10:56.949Z","1.1.5":"2026-04-24T17:01:11.918Z","1.1.6":"2026-06-10T23:31:24.608Z","1.1.7":"2026-06-11T13:44:55.857Z","1.2.0":"2026-06-11T18:38:50.470Z","1.2.1":"2026-06-12T02:13:26.094Z","1.3.1":"2026-07-16T04:03:06.394Z","1.3.2":"2026-07-16T14:40:12.868Z","1.3.3":"2026-07-16T14:44:26.753Z","1.3.4":"2026-07-22T00:02:02.622Z","1.3.5":"2026-07-22T18:14:34.768Z","1.3.6":"2026-07-28T01:53:31.667Z","1.3.7":"2026-07-30T03:43:11.309Z","1.3.8":"2026-08-30T03:24:35.306Z"},"author":{"name":"Wen Gu","email":"wen.gu@genesys.com"},"license":"MIT","keywords":["genesys","genesys-cloud","function-data-action"],"description":"Deploy Genesys Functions to a specified Genesys org, with support for bulk operations.","maintainers":[{"name":"wgroovy","email":"wen.gu@genesys.com"}],"readme":"# gcf-tool\n\nCLI tool to deploy Genesys Cloud Functions - create, update, delete drafts and publish function actions.\n\n**Package:** [@wgroovy/gcf-tool on npm](https://www.npmjs.com/package/@wgroovy/gcf-tool)\n\n## Installation\n\n```bash\nnpm install -g @wgroovy/gcf-tool\n```\n\n## Prerequisites\n\n- Node.js 22 or higher\n- [gc CLI](https://github.com/MyPureCloud/platform-client-sdk-cli) (version >= 148.0.0), [installation](https://developer.genesys.cloud/devapps/cli) — required for `--extract`, `--scaffold --extract`, `--test`, and deploy\n- `npm` (required only when using `--npmBuild` or `--npmZip`)\n\n## Why the gc CLI?\n\n`gcf-tool` talks to Genesys Cloud through the **`gc` CLI**, not by calling platform APIs directly from Node. That is intentional.\n\nThe [gc CLI](https://developer.genesys.cloud/devapps/cli) is Genesys’s supported command-line tool for automation and CI/CD. Its **profile management** — storing credentials, selecting orgs, and switching environments with `-p` / `--profile` — is mature and maintained by Genesys. `gcf-tool` reuses those profiles (including the `gcCliProfile` default in each function’s `package.json`) instead of building a second login and token layer of its own.\n\nIf you already use `gc` in pipelines or on your workstation, you configure org access once and every `gcf-tool` command picks up the same profile. Deploy, extract, and test all stay aligned with how the rest of your Genesys automation works.\n\n## Configuration\n\nEach function must be in a separate directory with a `gcFunction` property configured in its `package.json`:\n\n```json\n{\n  \"name\": \"my-function\",\n  \"gcFunction\": {\n    \"integrationName\": \"The name of GC function integration\",\n    \"functionName\": \"The name of the GC function\",\n    \"gcCliProfile\": \"The GC CLI profile name\",\n    \"secure\": false\n  }\n}\n```\n\n## Usage\n\n```bash\ngcf-tool [options]\n```\n\n### Options\n\n| Flag | Description |\n|------|-------------|\n| `-p, --gcProfile <name>` | GC CLI profile (default: `gcCliProfile` from package.json) |\n| `-i, --gcIntegration <name>` | GC Integration name (default: `integrationName` from package.json) |\n| `-f, --gcFunction <name>` | GC Function name (default: `functionName` from package.json) |\n| `-s, --secure` | Enable Secure Data support (default: `false`) |\n| `-d, --dir <path>` | Function directory (default: `.`) |\n| `-t, --runtime <n>` | Node runtime version (default: `22` → `nodejs22.x`) |\n| `-a, --apply` | Apply changes (dry-run mode without this flag) |\n| `-r, --remove` | Delete draft and published action (dry-run without `-y`) |\n| `-y, --yes` | Auto-confirm publish/delete |\n| `-n, --noPublish` | Never publish (even with `--apply`) |\n| `-z, --npmBuild` | Run `npm run build` before uploading src.zip |\n| `--npmZip` | Run `npm run zip` before uploading src.zip (cannot be combined with `--npmBuild`) |\n| `-b, --bulk <folders>` | Comma-separated folders or @file (supports glob `*`) |\n| `-c, --scaffold` | Create `package.json` with `gcFunction` config and `index.mjs` if they don't exist |\n| `-e, --extract` | Extract action schemas, request, and response config to local JSON files |\n| `--inputSchema` | Only extract the input schema (requires `--extract` or `--scaffold`) |\n| `--successSchema` | Only extract the success schema (requires `--extract` or `--scaffold`) |\n| `--test` | Execute a function action test in the Genesys Cloud org (prefers draft, falls back to published) |\n| `--testJson <file\\|json>` | Test input JSON file or inline JSON string (default: `input.json`) |\n| `--request` | Only extract the request config (requires `--extract` or `--scaffold`) |\n| `--response` | Only extract the response config (requires `--extract` or `--scaffold`) |\n| `-v, --verbose` | Verbose logging |\n| `-h, --help` | Show help |\n| `--version` | Show version |\n\n### Examples\n\n```bash\n# Dry-run mode (simulate changes)\ngcf-tool\n\n# Create/update draft and publish\ngcf-tool -a -y\n\n# Create/update draft without publishing\ngcf-tool -a -n\n\n# Run npm build before uploading\ngcf-tool -a -z\n\n# Run npm zip before uploading\ngcf-tool -a --npmZip\n\n# Process multiple folders\ngcf-tool -a -b \"folder1,folder2\"\n\n# Process folders from file\ngcf-tool -a -b \"@folders.txt\"\n\n# Delete function (dry-run)\ngcf-tool -r\n\n# Delete function (confirm)\ngcf-tool -r -y\n\n# Use custom profile/integration/function names\ngcf-tool -a -p myprofile -i \"My Integration\" -f \"My Function\"\n\n# Extract action schemas and config to current directory\ngcf-tool -e\n\n# Extract to a specific directory\ngcf-tool -e -d /path/to/dir\n\n# Extract only the input schema\ngcf-tool -e --inputSchema\n\n# Extract only request and response configs\ngcf-tool -e --request --response\n\n# Extract multiple functions to their respective directories\ngcf-tool -e -b \"folder1,folder2\"\n\n# Extract with custom profile/integration/function\ngcf-tool -e -p myprofile -i \"My Integration\" -f \"My Function\"\n\n# Scaffold a new function directory (creates package.json + index.mjs)\ngcf-tool -c -i \"GCF Utilities\" -f LookupTagConfig_01 -p centerpoint-westprod\n\n# Scaffold in current directory (uses directory name as functionName)\ngcf-tool -c -i \"GCF Utilities\"\n\n# Scaffold multiple directories at once\ngcf-tool -c -i \"GCF Utilities\" -b \"folder1,folder2\"\n\n# Scaffold and then extract configs into the new directory\ngcf-tool -c -i \"GCF Utilities\" -e\n\n# Scaffold multiple directories, then extract configs into each\ngcf-tool -c -i \"GCF Utilities\" -e -b \"folder1,folder2\"\n\n# Test a function action (uses input.json)\ngcf-tool --test\n\n# Test with custom input file\ngcf-tool --test --testJson test-cases.json\n\n# Test with an inline JSON string instead of a file\ngcf-tool --test --testJson '{\"datetime\":\"2026-01-01T00:00:00Z\"}'\n\n# Test multiple functions\ngcf-tool --test -b \"folder1,folder2\"\n```\n\n## Behavior\n\n- **Dry-run by default**: No changes are made unless `--apply` is specified.\n- **Apply mode** (`--apply`): Creates/updates draft, resolves the function handler from `index.js`, `index.mjs`, or `index.cjs` inside `src.zip`, uploads `src.zip` if changed for the active GC CLI profile, waits for deployment, validates, and optionally publishes.\n- **Profile-aware upload state**: `src.md5` remembers the last uploaded `src.zip` hash per GC CLI profile. Reusing the same function directory with a different profile triggers a fresh upload until that profile has its own remembered state.\n- **Publish**: \n  - With `--yes`: publishes automatically\n  - Without `--yes` in interactive TTY: prompts for confirmation\n  - Without `--yes` in non-interactive mode: skips publish for safety\n- **Extract mode** (`--extract`): Get an action's configuration from the specified org and extract schemas and templates to local JSON files — the inverse of deploy. By default fetches the action to create `inputSchema.json`, `successSchema.json`, `request.json` and `response.json`. Prefers the published action; falls back to the draft if no published action exists. Use `--inputSchema`, `--successSchema`, `--request`, `--response` to limit which files are written — if none are specified, all four are written (backward compatible).\n- **Scaffold mode** (`--scaffold`): Bootstrap a new function directory by creating `package.json` (with `gcFunction` config) and `index.mjs` (with an empty handler). Use `-i` to specify the integration name (required), `-f` for function name (defaults to directory name), `-p` for GC CLI profile (defaults to `default`), and `-s` for secure data (defaults to `false`). If `package.json` already exists with a `gcFunction` section, it is skipped. If `index.js`/`index.mjs`/`index.cjs` already exists, `index.mjs` creation is skipped.\n- **Scaffold + Extract** (combine `--scaffold --extract`): Scaffold first (creates directory and `package.json`), then extract the action configs from GC into the same directory. Selective sub-flags control only the extract phase.\n- **Test mode** (`--test`): Execute a function action test in the Genesys Cloud org. Prefers the draft action; falls back to the published action if no draft exists. Reads test input from `input.json` by default; override with `--testJson`, which accepts either a file path or an inline JSON string. A value whose first non-whitespace character is `{` or `[` is treated as inline JSON and piped to the GC CLI over stdin; anything else is treated as a path, resolved against the function directory unless it is already absolute. The input is resolved and parsed before any GC call, so a bad path or malformed JSON fails immediately. In bulk mode an inline payload is sent to every function, and a warning says so. The command and input are logged to console, then pass/fail is reported. Dry-run does not apply — test execution is always read-only. The `--flatten=true` flag is passed to the GC CLI. In bulk mode, failures are reported per-directory and processing continues. Requires only the `gc` CLI. Supports `--verbose` to print the full raw JSON response.\n\n## Directory Structure\n\n```\nmy-function/\n├── index.mjs          # The entry file containing `export async function handler(event, context)`\n├── package.json       # Contains gcFunction config\n├── src.zip            # Compiled function code (required)\n├── src.md5            # Auto-generated upload state keyed by GC CLI profile\n├── request.json       # Request configuration (optional)\n├── response.json      # Response configuration (optional)\n├── inputSchema.json   # Input schema (optional, for never-published functions)\n├── successSchema.json # Success schema (optional, for never-published functions)\n├── input.json         # Test input (optional, default source for --test)\n```\n\n`src.md5` is a sidecar state file managed by `gcf-tool`. It stores the remembered `src.zip` hash for each GC CLI profile used with that function directory so same-profile redeploys can skip redundant uploads while profile switches still upload the current artifact to the new org. Older single-hash `src.md5` files are treated as legacy state for the currently active profile and are rewritten into the profile-keyed format after the next successful upload.\n\n`gcf-tool` resolves the function handler based on the directory in the src.zip file. Supported entry file names are `index.js`, `index.mjs`, or `index.cjs`. If the zip file contains `src/index.js`, the resovled handler is `src/index.handler`; if it contains a root-level `index.mjs`, the handler is `index.handler`. If multiple plausible `index.*` entries exist at the same precedence level, the command fails instead of guessing.\n\n## Schema Examples\n\n`inputSchema.json`\n\n```json\n{\n  \"type\": \"object\",\n  \"required\": [\n    \"datetime\"\n  ],\n  \"properties\": {\n    \"datetime\": {\n      \"type\": \"string\",\n      \"description\": \"local datetime in ISO format, e.g. 2023-01-01T08:00:00\",\n      \"default\": \"2023-01-01T08:00:00\"\n    },\n    \"timezone\": {\n      \"type\": \"string\",\n      \"description\": \"timezone name in timezonedb format, e.g. America/New_York\",\n      \"default\": \"America/New_York\"\n    }\n  }\n}\n```\n\n`successSchema.json`\n\n```json\n{\n  \"type\": \"object\",\n  \"properties\": {\n    \"datetimeUtc\": {\n      \"type\": \"string\",\n      \"description\": \"UTC datetime in ISO format, e.g. 2023-01-01T13:00:00.000Z\"\n    },\n    \"error\": {\n      \"type\": \"string\"\n    },\n    \"statusCode\": {\n      \"type\": \"integer\"\n    }\n  }\n}\n```\n\n## Template Examples\n\n`request.json`\n\n```json\n{\n  \"requestType\": \"POST\",\n  \"requestTemplate\": \"{}\",\n  \"headers\": {\n    \"x-logger-host\": \"${credentials.logger_host}\",\n    \"x-logger-token\": \"${credentials.logger_token}\"\n  }\n}\n```\n\n`response.json`\n\n```json\n{\n  \"translationMap\": {},\n  \"translationMapDefaults\": {},\n  \"successTemplate\": \"{}\"\n}\n```\n## Documentation\n\n- [User Guide](https://unpkg.com/@wgroovy/gcf-tool@latest/docs/USER_GUIDE.md) — task-oriented walkthrough of the common workflows (deploy, extract, test, scaffold, delete, bulk).\n\n## License\n\nMIT\n","readmeFilename":"README.md"}