{"_id":"@djragsdale/intent-manager","_rev":"2-32ec76d10eba19dc8f5f265ab3de4eab","name":"@djragsdale/intent-manager","dist-tags":{"latest":"1.0.1"},"versions":{"1.0.0":{"name":"@djragsdale/intent-manager","version":"1.0.0","description":"Create and manage conversational interactions","main":"dist/index.js","scripts":{"build":"tsc","coverage":"npm test -- --coverage","test":"jest"},"repository":{"type":"git","url":"git+https://github.com/wilderbeest/intent-manager.git"},"keywords":["conversational","intent","manager"],"author":{"name":"David Ragsdale"},"license":"MIT","bugs":{"url":"https://github.com/wilderbeest/intent-manager/issues"},"homepage":"https://github.com/wilderbeest/intent-manager#readme","dependencies":{},"devDependencies":{"@types/jest":"^26.0.15","@types/node":"^14.14.2","jest":"^26.6.1","ts-jest":"^26.4.2","ts-node":"^9.0.0","typescript":"^4.0.3"},"gitHead":"ca7b69c8e3a2c67bffd5eab389255751d0636804","_id":"@djragsdale/intent-manager@1.0.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-W2pXJPSTsC1hKCGwmnL3Mox/3zAmyyXcTeZIMjs2+4VLdmbhx+iaj5PPcU5+sEuydJm+SBuU5Dt/FXGS/iUkfA==","shasum":"a23a896fdf69db7210238af05d3378aaaa98f804","tarball":"https://registry.npmjs.org/@djragsdale/intent-manager/-/intent-manager-1.0.0.tgz","fileCount":32,"unpackedSize":44480,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfl1U4CRA9TVsSAnZWagAAzcEP/132rWTdvWFZZnWABBE+\nImCSuqdvwFdBgwll10OV/h8GK2XVj52QDdMHnWWe/XhSA3zYcF2itex0vM1n\nymuBPcIvdmXhGkeOyUX0iw2viAAqpynfXSxuEbT94X2Ref1KeOpei6aOZdVP\nogsZhBNBUPL7yrxMgL72QhBtdklGxL4V+U5/rDL9y93V5XLP+mrVh0Ubl7KI\nqymJndn0EvK/RopDe81fSJaAVQ9IXEs+c9YzZaVBiWhhqJ5tS6P3tg7sprLm\n/VXA64owK9BYZQYMt15PXPMybaB5yEJHdvrFJUYWTH/Pbe/MGQYqfGZDen/g\ndgVU0noHeZQErKTU1A/81SIE2aeHQ32HEwBkRArd+ntBx3hBTmxhjTh6bQcu\nvnVFCDFqIP1hdaTEWNXGnsZkL9KcloxYjuLhz28ervXqQPRKQXCSe5o7mVwe\nMxTzdO7bX4Z+9r2/onq6Ncox0unMfRGg2vsOskWzfZU1O2hz/YMxCjDbGStw\nK11cyoYs4ePVTqCMg2OQzUS5I/BUhfKF36MrsYkhx8Cn17Ql9K2mgvDbgE1b\n8GJB49Jz3Nekhy/xUODDakYqykzaZ5J34R2WR0E3MQwOGlSNURbp4txSEphl\nz8fnTZ+nmNvxbguBjt57LZEJshJNgb+4+0ya74gXutcvrhsMGUC4Ju/MK9/l\nq8Fa\r\n=oZwV\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEZiBQFZ2k+fTko+fgsPrUABPRj1gMba6hTJhUtkb1D5AiEAxS8VPI/+VVI75jMmtXF2q7D6Ag9FJvv3eaGB/57+1xc="}]},"maintainers":[{"name":"wilderbeest","email":"wilderbeest@davidjragsdale.com"}],"_npmUser":{"name":"wilderbeest","email":"wilderbeest@davidjragsdale.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/intent-manager_1.0.0_1603753272498_0.4582522320337328"},"_hasShrinkwrap":false},"1.0.1":{"name":"@djragsdale/intent-manager","version":"1.0.1","description":"Create and manage conversational interactions","main":"dist/index.js","scripts":{"build":"tsc","coverage":"npm test -- --coverage","test":"jest"},"repository":{"type":"git","url":"git+https://github.com/wilderbeest/intent-manager.git"},"keywords":["conversational","intent","manager"],"author":{"name":"David Ragsdale"},"license":"MIT","bugs":{"url":"https://github.com/wilderbeest/intent-manager/issues"},"homepage":"https://github.com/wilderbeest/intent-manager#readme","dependencies":{},"devDependencies":{"@types/jest":"^26.0.15","@types/node":"^14.14.2","jest":"^26.6.1","ts-jest":"^26.4.2","ts-node":"^9.0.0","typescript":"^4.0.3"},"gitHead":"90ffb155555bc60f042dd2b8303809f4baebb0e1","_id":"@djragsdale/intent-manager@1.0.1","_nodeVersion":"12.4.0","_npmVersion":"6.13.7","dist":{"integrity":"sha512-OEvlS8pbNoEy/7wt3qz+2R+/9gPjeqUp6P0TPuk1kLRJuqRMRfqqlVk5DXQatlWnx27pmvlC45m+VNEWrysY6w==","shasum":"e344a24c95a993bc32b99de9bcdd2bc13c13cb2b","tarball":"https://registry.npmjs.org/@djragsdale/intent-manager/-/intent-manager-1.0.1.tgz","fileCount":32,"unpackedSize":46749,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfmDnwCRA9TVsSAnZWagAAF18P+QCAiuFsdx+FCF1O/hCm\ndjdtTI/8t1JOxnOF3OIKvVXab2QIF6gk0fWDYrUaJ6aUMryWtmtheagiKQf3\nuB2f1gyKB6aiMQ3TK+6ZrM7f3HGVfA9tOVQwbaExokNYEmkQcLIiHJyvkPLW\nz2wDi/P7DezoLlUrdmfVOlEeyCf8+UltBT40ZXpkDg9zA8BhJbC8ohw1Rert\nPWRiPlQ9KFOU196hyvvy6agV5E2DXFJdJA+08niIrDanwtHGVMoYaq+HmxYi\nC0Qnc3JjJAiOE41Cjc8xS4pG1gQOLz+3F5G96zYPYuzxe9BD0EYc2QijwIp7\nV2c8nxBYm0Rz5Q5GQX/yeHLZoKm5yt5hAhBy/OVLkhyUzUCYw3/PgUp6A/Om\nTXG4fDfyKFsvHNEwhyjstyBE6xGdnIMUYiHD2miohmz+2lB6FA2n7RXUzmUw\ncaXoFQkejtnwJYclB7tzWW0E1HqzsKZkeaNQNFgVtjGYTtkKvaoHz6hsqrg/\nuGyLyXinF7qnDRpCYm3zNa3YpevZ9hHe9ednPaYkyMdBjjDrlBsqzRw1K2+q\n5twLKBW7UJRU4cvTO3tcNR22FQiW86pgAeXZxZAzRotaN3lJiR9seecg2qGq\nOVvmQ+BVlUb6kVhbREo33uY1h6nO/qBV7xhwkHzO+qb8DNsXjwcibQivMXeh\nt/V6\r\n=xpUB\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC22qmYe/SWZ+EgqO+g0rnupEBvnLeFTrEliWEW2GlFyAIgG93TCjW1wFdDfbuvm9XjRm+hNKMPLbLJYi7Hw6Ryn30="}]},"maintainers":[{"name":"wilderbeest","email":"wilderbeest@davidjragsdale.com"}],"_npmUser":{"name":"wilderbeest","email":"wilderbeest@davidjragsdale.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/intent-manager_1.0.1_1603811823995_0.6293544635914137"},"_hasShrinkwrap":false}},"time":{"created":"2020-10-26T23:01:12.206Z","1.0.0":"2020-10-26T23:01:12.640Z","modified":"2022-04-05T04:50:35.003Z","1.0.1":"2020-10-27T15:17:04.151Z"},"maintainers":[{"name":"wilderbeest","email":"wilderbeest@davidjragsdale.com"}],"description":"Create and manage conversational interactions","homepage":"https://github.com/wilderbeest/intent-manager#readme","keywords":["conversational","intent","manager"],"repository":{"type":"git","url":"git+https://github.com/wilderbeest/intent-manager.git"},"author":{"name":"David Ragsdale"},"bugs":{"url":"https://github.com/wilderbeest/intent-manager/issues"},"license":"MIT","readme":"# @djragsdale/intent-manager\n\n## Usage\n\nThe intent manager package should be able to be used as either a CommonJS module or EcmaScript module.\n\n```javascript\nimport { IntentManager } from '@djragsdale/intent-manager';\n```\n\n```javascript\nconst { IntentManager } = require('@djragsdale/intent-manager');\n```\n\n### Adding Utterances From File\n\n```javascript\nimport { IntentManager } from '@djragsdale/intent-manager';\nimport path from 'path';\n\n(async () => {\n  const intentManager = new IntentManager();\n\n  await intentManager.loadUtterancesFromFile(path.join(__dirname, '../__fixtures__/sampleUtterances.txt'));\n})();\n```\n\n### Adding Utterances From Strings\n\n```javascript\nimport { IntentManager } from '@djragsdale/intent-manager';\n\nconst intentManager = new IntentManager();\n\nintentManager.loadUtteranceFromString('GetInfo get {object} info');\n\nexport default intentManager;\n```\n\n### Using Intent Handlers\n\n```javascript\nimport { IntentManager } from '@djragsdale/intent-manager';\n\nconst intentManager = new IntentManager();\n\nintentManager.loadUtteranceFromString('GetInfo get {object} info');\nintentManager.addIntentHandler({\n  intentName: 'GetInfo',\n  handler: async (intent) => {\n    await doAsyncThings(intent);\n  },\n});\n\nintentManager.execute('get user info');\n```\n\n### Handling Intent Matches Manually\n\n```javascript\nimport { IntentManager } from '@djragsdale/intent-manager';\n\nconst intentManager = new IntentManager();\n\nintentManager.loadUtteranceFromString('GetInfo get {object} info');\n\nintentManager.on('intent:found', (intent) => {\n  console.log(`Handling ${intent.name} the event way`);\n});\nintentManager.on('intent:notFound', ({ phrase }) => {\n  console.log(`Could not match the phrase \"${phrase}\"`);\n});\n\nconst intent = intentManager.matchIntent('get user info');\n\nif (!intent) {\n  console.error('Intent not found');\n}\ndoSyncThings(intent);\n```\n\n### Streaming Into the Intent Manager\n\n```javascript\nimport { IntentManager } from '@djragsdale/intent-manager';\n\nconst intentManager = new IntentManager();\n\nintentManager.loadUtteranceFromString('GetInfo get {object} info');\nintentManager.addIntentHandler({\n  intentName: 'GetInfo',\n  handler: (intent) => {\n    console.log('Found intent', intent.name, intent.slots.object);\n  },\n});\n\nprocess.stdin.pipe(intentManager);\n```\n\n### Streaming Out of the Intent Manager\n\n```javascript\nimport { IntentManager } from '@djragsdale/intent-manager';\n\nconst intentManager = new IntentManager();\n\nintentManager.loadUtteranceFromString('GetInfo get {object} info');\nintentManager.addIntentHandler({\n  intentName: 'GetInfo',\n  handler: intent => `Found intent ${intent.name} ${intent.slots.object}\\n`,\n});\n\nprocess.stdin.pipe(intentManager).pipe(process.stdout);\n```\n","readmeFilename":"README.md"}