{"_id":"@photon-ai/flux","_rev":"28-7fd568a6835ec943993c7e414b52b1fc","name":"@photon-ai/flux","dist-tags":{"latest":"0.6.6"},"versions":{"0.0.1":{"name":"@photon-ai/flux","version":"0.0.1","keywords":["photon","ai","flux"],"author":"","license":"MIT","_id":"@photon-ai/flux@0.0.1","maintainers":[{"name":"photon-ai","email":"photon@something.surf"}],"dist":{"shasum":"640d71bc39a0940b24f45ff5ae0cebe0cdae4398","tarball":"https://registry.npmjs.org/@photon-ai/flux/-/flux-0.0.1.tgz","fileCount":3,"integrity":"sha512-L01nOxTHtmLwXML+a/YVbx2bJbAN1WCPCsKE+oIBhizOqXn7k8gxPrA8PQE5EQXcUtrFSqjGgTaLNvUSkXSS1g==","signatures":[{"sig":"MEYCIQDaeslkQz5AJtb+4XOR43BsJGKsagIQz49hyIqzsVyhrgIhAJidnrUMoOkf/A5aUSyQ1XxpmgBF31qia6WwPlSIquTq","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":359},"main":"index.js","_npmUser":{"name":"photon-ai","email":"photon@something.surf"},"_npmVersion":"11.0.0","description":"Photon AI Flux - Placeholder package","directories":{},"_nodeVersion":"20.18.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/flux_0.0.1_1766540391962_0.7830675049065217","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"@photon-ai/flux","version":"0.3.2","_id":"@photon-ai/flux@0.3.2","maintainers":[{"name":"photon-ai","email":"photon@something.surf"}],"bin":{"flux":"dist/index.js"},"dist":{"shasum":"934b239adca8cbffe355c096ac323760df162e19","tarball":"https://registry.npmjs.org/@photon-ai/flux/-/flux-0.3.2.tgz","fileCount":4,"integrity":"sha512-POvSWCmQhFAER/aGPLt7B9YbK7Xbt2Vi7TS+V4Xff4Fa4MvApEg3+0PwzHQHgTyz2r35aBYVm6DZoALnQPZbsg==","signatures":[{"sig":"MEUCIQC5xXfG15o0JJdCHUVTOuSu8F6MUzKibpcVLgcRs/iJ3gIgRAkt9uOnZ6ojGeMLMToFOumw+e2sKgiq3KcC3oUsZ4Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7297928},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"a2ec2341b768407120ea793854adcfe4c5a4e249","scripts":{"flux":"bun src/index.ts","build":"tsup","start":"node dist/index.js"},"_npmUser":{"name":"photon-ai","email":"photon@something.surf"},"_npmVersion":"10.8.2","description":"Flux CLI - Connect LangChain agents to iMessage","directories":{},"_nodeVersion":"20.19.6","dependencies":{"tsx":"^4.19.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.1","@types/bun":"latest","typescript":"^5.3.0","@types/node":"^20.10.0","better-grpc":"^0.2.5"},"_npmOperationalInternal":{"tmp":"tmp/flux_0.3.2_1766694257667_0.3996531343559102","host":"s3://npm-registry-packages-npm-production"}},"0.3.3":{"name":"@photon-ai/flux","version":"0.3.3","_id":"@photon-ai/flux@0.3.3","maintainers":[{"name":"photon-ai","email":"photon@something.surf"}],"bin":{"flux":"dist/index.js"},"dist":{"shasum":"7ed4ea1b2d46e8358ca4f513e330ea43b2eae387","tarball":"https://registry.npmjs.org/@photon-ai/flux/-/flux-0.3.3.tgz","fileCount":4,"integrity":"sha512-B4kmA+D1eV5xh6DSSMOUiOQ+GbfGo5YzYJiEiEMTN4hzC8DsKF1SfrjT63MyxE3rjz8Rk7ZmLssT7tVTKwWZkw==","signatures":[{"sig":"MEQCIFJ1HZMKseUXgSHwZpLF3p0y0C+hUQazfJewtypOLghwAiAIfSZRAFiqn8iP5FclK9GLAlbQ2X9l+rkXQq4EO3MU/Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7309532},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"1794f250caa8bab1a28ac9e356d717f2da02845a","scripts":{"flux":"bun src/index.ts","build":"tsup","start":"node dist/index.js"},"_npmUser":{"name":"photon-ai","email":"photon@something.surf"},"_npmVersion":"10.8.2","description":"Flux CLI - Connect LangChain agents to iMessage","directories":{},"_nodeVersion":"20.19.6","dependencies":{"tsx":"^4.19.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.1","@types/bun":"latest","typescript":"^5.3.0","@types/node":"^20.10.0","better-grpc":"^0.2.5"},"_npmOperationalInternal":{"tmp":"tmp/flux_0.3.3_1766704368408_0.5509349144717195","host":"s3://npm-registry-packages-npm-production"}},"0.3.4":{"name":"@photon-ai/flux","version":"0.3.4","_id":"@photon-ai/flux@0.3.4","maintainers":[{"name":"photon-ai","email":"photon@something.surf"}],"bin":{"flux":"dist/index.js"},"dist":{"shasum":"e723f2bb7e684267d7fd15b31e69f4dbeb2784d4","tarball":"https://registry.npmjs.org/@photon-ai/flux/-/flux-0.3.4.tgz","fileCount":4,"integrity":"sha512-4i2ftJJGsAWRUVuNAlx2rBiolxzHSLgWmNutJzVqXKvNYTfm3KtuihIKoe1yIPAu1Oe766i7QR7UNnR0LEg1dw==","signatures":[{"sig":"MEUCIQCDvxLqFS2bXaVvB17uVDvagbWxyAEU89nmElkrFHL9MgIgGGniRInOqIyz3UhoULz284ZMegU/jnmkaR4vWK6MJ+I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6509077},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"1794f250caa8bab1a28ac9e356d717f2da02845a","scripts":{"flux":"bun src/index.ts","build":"tsup","start":"node dist/index.js"},"_npmUser":{"name":"photon-ai","email":"photon@something.surf"},"_npmVersion":"10.8.2","description":"Flux CLI - Connect LangChain agents to iMessage","directories":{},"_nodeVersion":"20.19.6","dependencies":{"tsx":"^4.19.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.1","@types/bun":"latest","typescript":"^5.3.0","@types/node":"^20.10.0","better-grpc":"^0.2.5"},"_npmOperationalInternal":{"tmp":"tmp/flux_0.3.4_1766734782032_0.502410373103291","host":"s3://npm-registry-packages-npm-production"}},"0.3.5":{"name":"@photon-ai/flux","version":"0.3.5","_id":"@photon-ai/flux@0.3.5","maintainers":[{"name":"photon-ai","email":"photon@something.surf"}],"bin":{"flux":"dist/index.js"},"dist":{"shasum":"33d7567f096368515344a045cb2726a49e982e2b","tarball":"https://registry.npmjs.org/@photon-ai/flux/-/flux-0.3.5.tgz","fileCount":4,"integrity":"sha512-U/cxXzPr1ieOnJ/BoOli0G2/L0m6Or4MkSo5NP4Auq/lDfn7hScJF1insQ1p3kb8GTOlklBMAWfdDLUkqCirzQ==","signatures":[{"sig":"MEUCIQCxVD4iev3sQJN+tmJ7v73jRGQ2ozvvllypT4XQmSfQPAIgeZZC2gBDmPLk4SjdG6GnfZ4Rab+BXr6lDO8uuO/y9PA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6509252},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"26a8eddf89e7f048b09da09870aef00b70e33db6","scripts":{"flux":"bun src/index.ts","build":"tsup","start":"node dist/index.js"},"_npmUser":{"name":"photon-ai","email":"photon@something.surf"},"_npmVersion":"10.8.2","description":"Flux CLI - Connect LangChain agents to iMessage","directories":{},"_nodeVersion":"20.19.6","dependencies":{"tsx":"^4.19.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.1","@types/bun":"latest","typescript":"^5.3.0","@types/node":"^20.10.0","better-grpc":"^0.3.0"},"_npmOperationalInternal":{"tmp":"tmp/flux_0.3.5_1766804322445_0.15717528866605912","host":"s3://npm-registry-packages-npm-production"}},"0.3.6":{"name":"@photon-ai/flux","version":"0.3.6","_id":"@photon-ai/flux@0.3.6","maintainers":[{"name":"photon-ai","email":"photon@something.surf"}],"bin":{"flux":"dist/index.js"},"dist":{"shasum":"c1c17eb96d529c3942e72024dcc8637412ede365","tarball":"https://registry.npmjs.org/@photon-ai/flux/-/flux-0.3.6.tgz","fileCount":4,"integrity":"sha512-jIVaoWQEGYf9syADUBeUafNWrlNdFbYAIJLGCk6hGbSpIGsgReSo4rI0CyXnoJPc8EA7a4ccGz8W8INprl1RdQ==","signatures":[{"sig":"MEQCIHJhImR/sF90tNqfA3GkFyRPqdtSuNQTHYlZEzODKKkwAiB35jACFGBeDf98UtfsAkIGN3iT1z7/K94X1R9CEFEcOQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6511525},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"0432b5ced335757bb15db46a82ce89cc336718b6","scripts":{"flux":"bun src/index.ts","build":"tsup","start":"node dist/index.js"},"_npmUser":{"name":"photon-ai","email":"photon@something.surf"},"_npmVersion":"10.8.2","description":"Flux CLI - Connect LangChain agents to iMessage","directories":{},"_nodeVersion":"20.19.6","dependencies":{"tsx":"^4.19.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.1","@types/bun":"latest","typescript":"^5.3.0","@types/node":"^20.10.0","better-grpc":"^0.3.0"},"_npmOperationalInternal":{"tmp":"tmp/flux_0.3.6_1766810481389_0.9094496466483972","host":"s3://npm-registry-packages-npm-production"}},"0.3.7":{"name":"@photon-ai/flux","version":"0.3.7","_id":"@photon-ai/flux@0.3.7","maintainers":[{"name":"photon-ai","email":"photon@something.surf"}],"bin":{"flux":"dist/index.js"},"dist":{"shasum":"869471f9bf5c1411a74c323e9be1b10583e60bca","tarball":"https://registry.npmjs.org/@photon-ai/flux/-/flux-0.3.7.tgz","fileCount":4,"integrity":"sha512-n9KuRCViOHInhwn4JGOnOiQxULOyR0gK8rl3a8pK+75yn3vYizP7ioHG0qus+6HBU0pcaueL9kMGj48WRbhSvg==","signatures":[{"sig":"MEYCIQDjVsPISKBLI8KqCZYDgumPqi4UgmYyfmMWKWULqxhvFwIhALD8YeSUq7KyecwwgQ3mejv91+lQK+jZVMpE70SQuEqU","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6511525},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"0432b5ced335757bb15db46a82ce89cc336718b6","scripts":{"flux":"bun src/index.ts","build":"tsup","start":"node dist/index.js"},"_npmUser":{"name":"photon-ai","email":"photon@something.surf"},"_npmVersion":"10.8.2","description":"Flux CLI - Connect LangChain agents to iMessage","directories":{},"_nodeVersion":"20.19.6","dependencies":{"tsx":"^4.19.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.1","@types/bun":"latest","typescript":"^5.3.0","@types/node":"^20.10.0","better-grpc":"^0.3.0"},"_npmOperationalInternal":{"tmp":"tmp/flux_0.3.7_1766810534299_0.7113389323155392","host":"s3://npm-registry-packages-npm-production"}},"0.3.8":{"name":"@photon-ai/flux","version":"0.3.8","_id":"@photon-ai/flux@0.3.8","maintainers":[{"name":"photon-ai","email":"photon@something.surf"}],"bin":{"flux":"dist/index.js"},"dist":{"shasum":"7841853c9378c5e2877e5856022709e47886d6e1","tarball":"https://registry.npmjs.org/@photon-ai/flux/-/flux-0.3.8.tgz","fileCount":4,"integrity":"sha512-fwoS+sfVqcrp80xBkP/qBeAidcd9xqQpulUrIQELU4QdFqMplNoaB0jxU+lU4E5B8U7DE07NjOIMjDoFOiAjHw==","signatures":[{"sig":"MEYCIQDFxdUNY8lZ6GjKwTlPXAFWqBcMCVlxvgGJL43FlX4K7AIhAOKplAWhOSMopQHSkzEipa5BmwJJ/QvXe/A5pJwejY+m","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6516679},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"96ad33196d29429be181788c8c2f8891f2390682","scripts":{"flux":"bun src/index.ts","build":"tsup","start":"node dist/index.js"},"_npmUser":{"name":"photon-ai","email":"photon@something.surf"},"_npmVersion":"10.8.2","description":"Flux CLI - Connect LangChain agents to iMessage","directories":{},"_nodeVersion":"20.19.6","dependencies":{"tsx":"^4.19.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.1","@types/bun":"latest","typescript":"^5.3.0","@types/node":"^20.10.0","better-grpc":"^0.3.0"},"_npmOperationalInternal":{"tmp":"tmp/flux_0.3.8_1767134825744_0.6281473852238546","host":"s3://npm-registry-packages-npm-production"}},"0.3.9":{"name":"@photon-ai/flux","version":"0.3.9","_id":"@photon-ai/flux@0.3.9","maintainers":[{"name":"photon-ai","email":"photon@something.surf"}],"bin":{"flux":"dist/index.js"},"dist":{"shasum":"17d58111d50a6a361fcedde69417df3ef9c1ba66","tarball":"https://registry.npmjs.org/@photon-ai/flux/-/flux-0.3.9.tgz","fileCount":4,"integrity":"sha512-39aDN+Oj9QoeMXEdzVuNuhQTpGnOczz+26a4PEM6d5G9FqBo676khvx3M0+sZ/4iOkMvUoQnAVwDyptaF+Z7Jw==","signatures":[{"sig":"MEYCIQDPvM43jgHX4KFEyJ7c62YvRRUPFXkEWpeiUxvYSHZWEAIhALelUa0ey7P8ibtX/oJTcDHfVvUNJAKmhQixQ1krZtaJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6519754},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"df170549bf4f40c17b85c8091402e70c753deda5","scripts":{"flux":"bun src/index.ts","build":"tsup","start":"node dist/index.js"},"_npmUser":{"name":"photon-ai","email":"photon@something.surf"},"_npmVersion":"10.8.2","description":"Flux CLI - Connect LangChain agents to iMessage","directories":{},"_nodeVersion":"20.19.6","dependencies":{"tsx":"^4.19.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.1","@types/bun":"latest","typescript":"^5.3.0","@types/node":"^20.10.0","better-grpc":"^0.3.0"},"_npmOperationalInternal":{"tmp":"tmp/flux_0.3.9_1767159337931_0.17404854270473225","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@photon-ai/flux","version":"0.5.0","_id":"@photon-ai/flux@0.5.0","maintainers":[{"name":"photon-ai","email":"photon@something.surf"}],"bin":{"flux":"dist/index.js"},"dist":{"shasum":"33dad71fa277ffb8684c3700846b4755be0bd67f","tarball":"https://registry.npmjs.org/@photon-ai/flux/-/flux-0.5.0.tgz","fileCount":4,"integrity":"sha512-PPir2P8sgQ9TIn6PVwLEVr97frA1lCe51FBIez8tt4GyKcsHEZ3Zh8tqF6ovdNy4+uWw/372qlg8tX7GKxmDVQ==","signatures":[{"sig":"MEYCIQDbWhgUezuw2MCIqUJGWkMrj8ubo5btqH5ThtlwU8HCWgIhAN7xnvDPJ/iQqdgaEblpLQ/BPgcXNQCOK9Pf4HXAWCzr","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6521666},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"3e9d78499158889592eb74b3031968182b1f674e","scripts":{"flux":"bun src/index.ts","build":"tsup","start":"node dist/index.js"},"_npmUser":{"name":"photon-ai","email":"photon@something.surf"},"_npmVersion":"10.8.2","description":"Flux CLI - Connect LangChain agents to iMessage","directories":{},"_nodeVersion":"20.19.6","dependencies":{"tsx":"^4.19.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.1","@types/bun":"latest","typescript":"^5.3.0","@types/node":"^20.10.0","better-grpc":"^0.3.0"},"_npmOperationalInternal":{"tmp":"tmp/flux_0.5.0_1767160903645_0.4126131511611848","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"@photon-ai/flux","version":"0.5.1","_id":"@photon-ai/flux@0.5.1","maintainers":[{"name":"photon-ai","email":"photon@something.surf"}],"bin":{"flux":"dist/index.js"},"dist":{"shasum":"0f7c52caccb5d7b4772f4d9e83ab8395a0e9162d","tarball":"https://registry.npmjs.org/@photon-ai/flux/-/flux-0.5.1.tgz","fileCount":4,"integrity":"sha512-AUlh4okTvHk9RyprJiaRSdbWG/o9zAUzjZBov/QrRudHoBjUmRutElCPZ5Bk4nY570KuEPrxzUhUNMUs9b9mCw==","signatures":[{"sig":"MEUCIQD4+/RicZC3oWbBD7BVlRsj6wMAriqHpZjy7Ffqp11AywIgdds4pdu08SZLk7Qn2za0DbkbNWSSfZsAdBFM7Y2HfbA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6521840},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"3e9d78499158889592eb74b3031968182b1f674e","scripts":{"flux":"bun src/index.ts","build":"tsup","start":"node dist/index.js"},"_npmUser":{"name":"photon-ai","email":"photon@something.surf"},"_npmVersion":"10.8.2","description":"Flux CLI - Connect LangChain agents to iMessage","directories":{},"_nodeVersion":"20.19.6","dependencies":{"tsx":"^4.19.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.1","@types/bun":"latest","typescript":"^5.3.0","@types/node":"^20.10.0","better-grpc":"^0.3.0"},"_npmOperationalInternal":{"tmp":"tmp/flux_0.5.1_1767162259327_0.3508786482453534","host":"s3://npm-registry-packages-npm-production"}},"0.5.2":{"name":"@photon-ai/flux","version":"0.5.2","_id":"@photon-ai/flux@0.5.2","maintainers":[{"name":"photon-ai","email":"photon@something.surf"}],"bin":{"flux":"dist/index.js"},"dist":{"shasum":"8c14edd425e98b7822a592d2cdc4e809331fb399","tarball":"https://registry.npmjs.org/@photon-ai/flux/-/flux-0.5.2.tgz","fileCount":4,"integrity":"sha512-hMYbP2WdwElDYmuFVW4hq2RODMTdVVTrXtlGiH9bBHlMUx++/V7vJjJKiTtmhxht0BChq3pvnrpDRqax1da/bA==","signatures":[{"sig":"MEQCIFeo43C2XuvCe8rg2EA1tbhuoameaDKktl1ofVfmtaQgAiBoH7sXzB1lU6EWyOZd88EnQ3UQc+eGoAFD1Exx0W+B7A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6522123},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"3e9d78499158889592eb74b3031968182b1f674e","scripts":{"flux":"bun src/index.ts","build":"tsup","start":"node dist/index.js"},"_npmUser":{"name":"photon-ai","email":"photon@something.surf"},"_npmVersion":"10.8.2","description":"Flux CLI - Connect LangChain agents to iMessage","directories":{},"_nodeVersion":"20.19.6","dependencies":{"tsx":"^4.19.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.1","@types/bun":"latest","typescript":"^5.3.0","@types/node":"^20.10.0","better-grpc":"^0.3.0"},"_npmOperationalInternal":{"tmp":"tmp/flux_0.5.2_1767163530468_0.6643478032012518","host":"s3://npm-registry-packages-npm-production"}},"0.5.3":{"name":"@photon-ai/flux","version":"0.5.3","_id":"@photon-ai/flux@0.5.3","maintainers":[{"name":"photon-ai","email":"photon@something.surf"}],"bin":{"flux":"dist/index.js"},"dist":{"shasum":"fd495161bf7100dcacea75f42ea33b0a0f60715c","tarball":"https://registry.npmjs.org/@photon-ai/flux/-/flux-0.5.3.tgz","fileCount":4,"integrity":"sha512-RD6+Sr6xwclpjm0APcefn/HikQf/8eQSzMVNFwRsgPlZL94teTui4PbRMr022zqlpbkp9g2O/0CWBBwEObytXg==","signatures":[{"sig":"MEQCIF45ohhblQnl25mT+BsFHo1kcAIkoqaOWm12SzMpSOfvAiAMava5H5tZ3wyPWc4C93X/57XyctQanUZzFhU9zKtCmw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6522123},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"3e9d78499158889592eb74b3031968182b1f674e","scripts":{"flux":"bun src/index.ts","build":"tsup","start":"node dist/index.js"},"_npmUser":{"name":"photon-ai","email":"photon@something.surf"},"_npmVersion":"10.8.2","description":"Flux CLI - Connect LangChain agents to iMessage","directories":{},"_nodeVersion":"20.19.6","dependencies":{"tsx":"^4.19.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.1","@types/bun":"latest","typescript":"^5.3.0","@types/node":"^20.10.0","better-grpc":"^0.3.0"},"_npmOperationalInternal":{"tmp":"tmp/flux_0.5.3_1767163628841_0.7225932936195529","host":"s3://npm-registry-packages-npm-production"}},"0.5.5":{"name":"@photon-ai/flux","version":"0.5.5","_id":"@photon-ai/flux@0.5.5","maintainers":[{"name":"photon-ai","email":"photon@something.surf"}],"bin":{"flux":"dist/index.js"},"dist":{"shasum":"2ac88c80676f700dc8d298168ca1fff50dfd2307","tarball":"https://registry.npmjs.org/@photon-ai/flux/-/flux-0.5.5.tgz","fileCount":4,"integrity":"sha512-aoW07pl/uOLVnmLsXYqpZYYYcVyHNKsV80aFAJcy8q+xAWT6gvJuBg4JQQxDZBK2WKbXuPrMzyBMSxY9EaFgyg==","signatures":[{"sig":"MEUCIQDs90YTXgtdExKlv66AC5t9M7RC8vTr/8quCdHu6ndSMgIgFMB4/hZokApenoItOWeddMUWs3Xwelb49VZFownmzhU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6522123},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"3e9d78499158889592eb74b3031968182b1f674e","scripts":{"flux":"bun src/index.ts","build":"tsup","start":"node dist/index.js"},"_npmUser":{"name":"photon-ai","email":"photon@something.surf"},"_npmVersion":"10.8.2","description":"Flux CLI - Connect LangChain agents to iMessage","directories":{},"_nodeVersion":"20.19.6","dependencies":{"tsx":"^4.19.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.1","@types/bun":"latest","typescript":"^5.3.0","@types/node":"^20.10.0","better-grpc":"^0.3.0"},"_npmOperationalInternal":{"tmp":"tmp/flux_0.5.5_1767163910094_0.5129518563117252","host":"s3://npm-registry-packages-npm-production"}},"0.5.6":{"name":"@photon-ai/flux","version":"0.5.6","_id":"@photon-ai/flux@0.5.6","maintainers":[{"name":"photon-ai","email":"photon@something.surf"}],"bin":{"flux":"dist/index.js"},"dist":{"shasum":"e725c7240a947905dbeb9e314863a0eb29bc2b23","tarball":"https://registry.npmjs.org/@photon-ai/flux/-/flux-0.5.6.tgz","fileCount":4,"integrity":"sha512-hJp4XjsSqi3+d0C/q3eqvz1Fck37Bw02FcLmtTsgeXsbsGVAm6RupbCxebT75Gh58yk+lvyi5NCb8Spf/OB4kA==","signatures":[{"sig":"MEYCIQDmOAMTQKiYtQcB0KMXSFnu3CcRzmMRQM6hKZBqDUt1ygIhAIc7dOlm47DZb7aPPY9ipfc0cSH/c2pq/wiefpmJvA3y","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6521963},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"3e9d78499158889592eb74b3031968182b1f674e","scripts":{"flux":"bun src/index.ts","build":"tsup","start":"node dist/index.js"},"_npmUser":{"name":"photon-ai","email":"photon@something.surf"},"_npmVersion":"10.8.2","description":"Flux CLI - Connect LangChain agents to iMessage","directories":{},"_nodeVersion":"20.19.6","dependencies":{"tsx":"^4.19.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.1","@types/bun":"latest","typescript":"^5.3.0","@types/node":"^20.10.0","better-grpc":"^0.3.0"},"_npmOperationalInternal":{"tmp":"tmp/flux_0.5.6_1767165109907_0.4313940373827485","host":"s3://npm-registry-packages-npm-production"}},"0.5.7":{"name":"@photon-ai/flux","version":"0.5.7","_id":"@photon-ai/flux@0.5.7","maintainers":[{"name":"photon-ai","email":"photon@something.surf"}],"bin":{"flux":"dist/index.js"},"dist":{"shasum":"b6ba69cd82b19722bd785a3b4ba59a48d0e62c84","tarball":"https://registry.npmjs.org/@photon-ai/flux/-/flux-0.5.7.tgz","fileCount":4,"integrity":"sha512-fPV3l0Yd6EF74Ji4CEboWP2Flx5DW7tOkm8P42nQCdRtgp4haJXEMVFa3qDvqE62i4nF8Lo3dEKNUh1Zhv9N0Q==","signatures":[{"sig":"MEQCIDGV7ubeLfuJHVl9rV8AlF4oBxcYdA7gi2Vo6nvxC1WFAiAJWVNSmqIRSmo5ByyBOsG4R63KW4fWXkwque/m9S3shg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6521963},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"3e9d78499158889592eb74b3031968182b1f674e","scripts":{"flux":"bun src/index.ts","build":"tsup","start":"node dist/index.js"},"_npmUser":{"name":"photon-ai","email":"photon@something.surf"},"_npmVersion":"10.8.2","description":"Flux CLI - Connect LangChain agents to iMessage","directories":{},"_nodeVersion":"20.19.6","dependencies":{"tsx":"^4.19.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.1","@types/bun":"latest","typescript":"^5.3.0","@types/node":"^20.10.0","better-grpc":"^0.3.0"},"_npmOperationalInternal":{"tmp":"tmp/flux_0.5.7_1767165598182_0.6190841314999236","host":"s3://npm-registry-packages-npm-production"}},"0.5.8":{"name":"@photon-ai/flux","version":"0.5.8","_id":"@photon-ai/flux@0.5.8","maintainers":[{"name":"photon-ai","email":"photon@something.surf"}],"bin":{"flux":"dist/index.js"},"dist":{"shasum":"25a26dedc59d1e82510ca90e080a9813a6da8c1b","tarball":"https://registry.npmjs.org/@photon-ai/flux/-/flux-0.5.8.tgz","fileCount":4,"integrity":"sha512-UjMl6hbs0MUD5pF+dbYKLg6C2ZAb2TUf4fU37ha7efdPGB8ooRx+6UPrrLM+8iCxJgMIFrUeRhBKaVexk71JuA==","signatures":[{"sig":"MEYCIQDVz3cktO+LlHkJ7+DR+0uRhYvM7hiIo4DAdIig9X84ogIhAIO5y7RgupHVGJk9RDcBs4qAFU7OH9p0msWuMb9y0fse","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6521944},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"3e9d78499158889592eb74b3031968182b1f674e","scripts":{"flux":"bun src/index.ts","build":"tsup","start":"node dist/index.js"},"_npmUser":{"name":"photon-ai","email":"photon@something.surf"},"_npmVersion":"10.8.2","description":"Flux CLI - Connect LangChain agents to iMessage","directories":{},"_nodeVersion":"20.19.6","dependencies":{"tsx":"^4.19.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.1","@types/bun":"latest","typescript":"^5.3.0","@types/node":"^20.10.0","better-grpc":"^0.3.0"},"_npmOperationalInternal":{"tmp":"tmp/flux_0.5.8_1767165734576_0.6307065195340942","host":"s3://npm-registry-packages-npm-production"}},"0.5.9":{"name":"@photon-ai/flux","version":"0.5.9","_id":"@photon-ai/flux@0.5.9","maintainers":[{"name":"photon-ai","email":"photon@something.surf"}],"bin":{"flux":"dist/index.js"},"dist":{"shasum":"51f1083d3e8ca0c353393f975bbb2820921398a7","tarball":"https://registry.npmjs.org/@photon-ai/flux/-/flux-0.5.9.tgz","fileCount":4,"integrity":"sha512-FjJ55+PVy/u/DBMU039QhBYEmDxw5lUsQswk+JXbRZN0WOn5AxbpaVAxEnCMtzkBMGtqw9F8C4Lr6xupNWVh7g==","signatures":[{"sig":"MEUCIQCurf08NOO9i+0uWfojRn2zFc2U1X+l6g65lLxuej948AIgZ25ulNRoGwpLWaIcOKo4XeVqaUhBtmlGMHkarNCnT6g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6521707},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"3e9d78499158889592eb74b3031968182b1f674e","scripts":{"flux":"bun src/index.ts","build":"tsup","start":"node dist/index.js"},"_npmUser":{"name":"photon-ai","email":"photon@something.surf"},"_npmVersion":"10.8.2","description":"Flux CLI - Connect LangChain agents to iMessage","directories":{},"_nodeVersion":"20.19.6","dependencies":{"tsx":"^4.19.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.1","@types/bun":"latest","typescript":"^5.3.0","@types/node":"^20.10.0","better-grpc":"^0.3.0"},"_npmOperationalInternal":{"tmp":"tmp/flux_0.5.9_1767166250994_0.3421727442578564","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@photon-ai/flux","version":"0.6.0","_id":"@photon-ai/flux@0.6.0","maintainers":[{"name":"photon-ai","email":"photon@something.surf"}],"bin":{"flux":"dist/index.js"},"dist":{"shasum":"bf468651a0c56979f23befd65810f3d84c6412b6","tarball":"https://registry.npmjs.org/@photon-ai/flux/-/flux-0.6.0.tgz","fileCount":4,"integrity":"sha512-CRceScIW5jQ312G1F01mPPREUy24HudKeDK5tv0WERq+p/YN3/suRXqSEHMxKIIrb1NzE/pQcqlPVcfhWxtbnQ==","signatures":[{"sig":"MEYCIQDq2P9tb8Nxxmmh/TRNLBmOJwLQyzYGs/barBWlGf87MAIhAI6vaX5QnKENwCS+f59s4jRK5zb0kQj79lq29C9LyA0Z","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6521707},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"3e9d78499158889592eb74b3031968182b1f674e","scripts":{"flux":"bun src/index.ts","build":"tsup","start":"node dist/index.js"},"_npmUser":{"name":"photon-ai","email":"photon@something.surf"},"_npmVersion":"10.8.2","description":"Flux CLI - Connect LangChain agents to iMessage","directories":{},"_nodeVersion":"20.19.6","dependencies":{"tsx":"^4.19.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.1","@types/bun":"latest","typescript":"^5.3.0","@types/node":"^20.10.0","better-grpc":"^0.3.0"},"_npmOperationalInternal":{"tmp":"tmp/flux_0.6.0_1767166274162_0.01190049456438591","host":"s3://npm-registry-packages-npm-production"}},"0.6.1":{"name":"@photon-ai/flux","version":"0.6.1","_id":"@photon-ai/flux@0.6.1","maintainers":[{"name":"photon-ai","email":"photon@something.surf"}],"bin":{"flux":"dist/index.js"},"dist":{"shasum":"9cef1a10a2e76b8cb24fc88bb83e39cf6ff70a45","tarball":"https://registry.npmjs.org/@photon-ai/flux/-/flux-0.6.1.tgz","fileCount":4,"integrity":"sha512-q9wt4l92r0ZLzZiTS9PjfGQgjGEHhpeX75Mffb9WFDYIuTxDGIu1dBPtE8sCPEcxbXotxsTCzR/8qmvfKZ/p5g==","signatures":[{"sig":"MEUCIDMNbMySGlEwG0SdVy8g2vZ6sB5vfr4e9XrZGTyqcZ7SAiEAlQKTpU868wBlpq+2nyXfs1O9yJkFZLfNnTGqmUavspc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6521707},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"3e9d78499158889592eb74b3031968182b1f674e","scripts":{"flux":"bun src/index.ts","build":"tsup","start":"node dist/index.js"},"_npmUser":{"name":"photon-ai","email":"photon@something.surf"},"_npmVersion":"10.8.2","description":"Flux CLI - Connect LangChain agents to iMessage","directories":{},"_nodeVersion":"20.19.6","dependencies":{"tsx":"^4.19.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.1","@types/bun":"latest","typescript":"^5.3.0","@types/node":"^20.10.0","better-grpc":"^0.3.0"},"_npmOperationalInternal":{"tmp":"tmp/flux_0.6.1_1767222908586_0.2999186891091543","host":"s3://npm-registry-packages-npm-production"}},"0.6.2":{"name":"@photon-ai/flux","version":"0.6.2","_id":"@photon-ai/flux@0.6.2","maintainers":[{"name":"photon-ai","email":"photon@something.surf"}],"bin":{"flux":"dist/index.js"},"dist":{"shasum":"27896585c63715cc407de785055262418798e32c","tarball":"https://registry.npmjs.org/@photon-ai/flux/-/flux-0.6.2.tgz","fileCount":4,"integrity":"sha512-8lBrlGWPyFgb5hA5zCNfXdc1k5LmHeKNlk4Pt83C8pbS7bwA/5UX/oehvdCJLIpAmv78Z5C8A70f1uuGJyJ7aQ==","signatures":[{"sig":"MEUCIQDBvVS+cplm/3UGYwemnaBvPLyA98Gabz6T8ST1EovfQAIgYDkYUD9YEfyqX0l82KDnrSrqEQMPZofIVWIKSkLXa04=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6522626},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"fc323ba39ffa274c0a9a46f0d160055a53273045","scripts":{"flux":"bun src/index.ts","build":"tsup","start":"node dist/index.js"},"_npmUser":{"name":"photon-ai","email":"photon@something.surf"},"_npmVersion":"10.8.2","description":"Flux CLI - Connect LangChain agents to iMessage","directories":{},"_nodeVersion":"20.19.6","dependencies":{"tsx":"^4.19.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.1","@types/bun":"latest","typescript":"^5.3.0","@types/node":"^20.10.0","better-grpc":"^0.3.0"},"_npmOperationalInternal":{"tmp":"tmp/flux_0.6.2_1767225739452_0.9840830264451359","host":"s3://npm-registry-packages-npm-production"}},"0.6.3":{"name":"@photon-ai/flux","version":"0.6.3","_id":"@photon-ai/flux@0.6.3","maintainers":[{"name":"photon-ai","email":"photon@something.surf"}],"bin":{"flux":"dist/index.js"},"dist":{"shasum":"3176b731ee546e00a61dfc4e55dd0185af373460","tarball":"https://registry.npmjs.org/@photon-ai/flux/-/flux-0.6.3.tgz","fileCount":4,"integrity":"sha512-bip4mY0r33ZXopGUFYgbWDD3BZoWX1AF8o6yGxjpwxE6kCpxJUduUeGM/iiTTsxxUZNw6oD5Tl5Cycz2X7olzQ==","signatures":[{"sig":"MEQCIE8cWB6aeP59Kwlxc5onVcp0Pyd0uvRM0T6JcZtCaCLOAiAQROOrAqXBlL8zJl/ICvqOngQSVCrOeQELdJaYskY57g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6523887},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"fc323ba39ffa274c0a9a46f0d160055a53273045","scripts":{"flux":"bun src/index.ts","build":"tsup","start":"node dist/index.js"},"_npmUser":{"name":"photon-ai","email":"photon@something.surf"},"_npmVersion":"10.8.2","description":"Flux CLI - Connect LangChain agents to iMessage","directories":{},"_nodeVersion":"20.19.6","dependencies":{"tsx":"^4.19.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.1","@types/bun":"latest","typescript":"^5.3.0","@types/node":"^20.10.0","better-grpc":"^0.3.0"},"_npmOperationalInternal":{"tmp":"tmp/flux_0.6.3_1767226067806_0.7194073011232287","host":"s3://npm-registry-packages-npm-production"}},"0.6.5":{"name":"@photon-ai/flux","version":"0.6.5","_id":"@photon-ai/flux@0.6.5","maintainers":[{"name":"photon-ai","email":"photon@something.surf"}],"bin":{"flux":"dist/index.js"},"dist":{"shasum":"cb008196ad97b9eee5819f4b946523be0aca20ac","tarball":"https://registry.npmjs.org/@photon-ai/flux/-/flux-0.6.5.tgz","fileCount":4,"integrity":"sha512-g2tvML/JxIUKhXhuZK/xMp0f5TfrYooz0NVsoRAx1PKsEhOXIBQw/kvJr9hzS8hdW3uoJANLsvWJxSfTKI+lJA==","signatures":[{"sig":"MEQCIDc4PuW5mo+9GShVpI4nk1bixtLqYyZryWQ9wHwPH9JsAiADLxuhii87oRBKWT4iG/M1AhqOOaoXeuTWL3+2N//cTg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6522288},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"fc323ba39ffa274c0a9a46f0d160055a53273045","scripts":{"flux":"bun src/index.ts","build":"tsup","start":"node dist/index.js"},"_npmUser":{"name":"photon-ai","email":"photon@something.surf"},"_npmVersion":"10.8.2","description":"Flux CLI - Connect LangChain agents to iMessage","directories":{},"_nodeVersion":"20.19.6","dependencies":{"tsx":"^4.19.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.1","@types/bun":"latest","typescript":"^5.3.0","@types/node":"^20.10.0","better-grpc":"^0.3.0"},"_npmOperationalInternal":{"tmp":"tmp/flux_0.6.5_1767226383273_0.025025173873690854","host":"s3://npm-registry-packages-npm-production"}},"0.6.6":{"name":"@photon-ai/flux","version":"0.6.6","_id":"@photon-ai/flux@0.6.6","maintainers":[{"name":"photon-ai","email":"photon@something.surf"}],"bin":{"flux":"dist/index.js"},"dist":{"shasum":"c4d3830064fdc1eaf3d4d0df614c0be5894b199b","tarball":"https://registry.npmjs.org/@photon-ai/flux/-/flux-0.6.6.tgz","fileCount":4,"integrity":"sha512-/+05+yTz+BuIoHqh4X3GAIW2ORiIg25IQlCFiFbUSWhYNQ+hvkcvXw+B4HHYBstVtFeA45yI3eT6/K+eZozv2Q==","signatures":[{"sig":"MEUCIC8r1/xYw2WERi5PSdhwH0viryxKN+A+2nKjyPCspw/DAiEAtqpq1y/7oeVEiKpLJZDYJgdU9+WPOP0H4AnRoNuCoto=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6530356},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"b542d5630ef8dceb72c63525533b246e47d0425f","scripts":{"flux":"bun src/index.ts","build":"tsup","start":"node dist/index.js"},"_npmUser":{"name":"photon-ai","email":"photon@something.surf"},"_npmVersion":"10.8.2","description":"Flux CLI - Connect LangChain agents to iMessage","directories":{},"_nodeVersion":"20.19.6","dependencies":{"tsx":"^4.19.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.1","@types/bun":"latest","typescript":"^5.3.0","@types/node":"^20.10.0","better-grpc":"^0.3.0"},"_npmOperationalInternal":{"tmp":"tmp/flux_0.6.6_1767235326765_0.007671653186591465","host":"s3://npm-registry-packages-npm-production"}}},"time":{"created":"2025-12-24T01:39:51.859Z","modified":"2026-07-11T06:16:26.557Z","0.0.1":"2025-12-24T01:39:52.103Z","0.3.2":"2025-12-25T20:24:17.871Z","0.3.3":"2025-12-25T23:12:48.633Z","0.3.4":"2025-12-26T07:39:42.323Z","0.3.5":"2025-12-27T02:58:42.900Z","0.3.6":"2025-12-27T04:41:21.610Z","0.3.7":"2025-12-27T04:42:14.536Z","0.3.8":"2025-12-30T22:47:05.976Z","0.3.9":"2025-12-31T05:35:38.137Z","0.5.0":"2025-12-31T06:01:43.907Z","0.5.1":"2025-12-31T06:24:19.529Z","0.5.2":"2025-12-31T06:45:30.698Z","0.5.3":"2025-12-31T06:47:09.049Z","0.5.5":"2025-12-31T06:51:50.315Z","0.5.6":"2025-12-31T07:11:50.166Z","0.5.7":"2025-12-31T07:19:58.416Z","0.5.8":"2025-12-31T07:22:14.808Z","0.5.9":"2025-12-31T07:30:51.228Z","0.6.0":"2025-12-31T07:31:14.371Z","0.6.1":"2025-12-31T23:15:08.855Z","0.6.2":"2026-01-01T00:02:19.669Z","0.6.3":"2026-01-01T00:07:48.010Z","0.6.5":"2026-01-01T00:13:03.460Z","0.6.6":"2026-01-01T02:42:07.009Z"},"description":"Flux CLI - Connect LangChain agents to iMessage","maintainers":[{"email":"team@photon.codes","name":"photon_dev"},{"email":"ryan@photon.codes","name":"ryanzhuuuu"},{"email":"me@qwerzl.me","name":"qwerzl"},{"email":"synapse-05.giddy@icloud.com","name":"lcandy"}],"readme":"<div align=\"center\">\n\n# @photon-ai/flux\n\n> An open-source CLI for deploying LangChain agents to iMessage in seconds\n\n</div>\n\n[![npm version](https://img.shields.io/npm/v/@photon-ai/flux.svg)](https://www.npmjs.com/package/@photon-ai/flux)\n[![TypeScript](https://img.shields.io/badge/TypeScript-5.3-blue.svg)](https://www.typescriptlang.org/)\n[![GitHub release](https://img.shields.io/github/v/release/photon-hq/flux?include_prereleases)](https://github.com/photon-hq/flux/releases)\n[![License](https://img.shields.io/badge/license-MIT-blue.svg)](./LICENSE)\n[![Discord](https://img.shields.io/badge/Discord-Join-5865F2.svg?logo=discord&logoColor=white)](https://discord.gg/bZd4CMd2H5)\n\nFlux is an open-sourced CLI tool that lets developers build and deploy LangChain agents that connect to iMessage at no cost and under 5 seconds. \n\n## Features \n\n\n- **Deploy with a single command**: Export a LangChain agent and deploy it to iMessage with one command\n- **Text your agent from your phone**: Send an iMessage to the Flux number and get responses from your running agent\n- **Testing mode**: Test your agent through your terminal before connecting to the iMessage bridge\n- **Phone Number Authentication**: Log in with just your phone number and iMessage\n- **Agent Validation**: Automatically validate your LangChain agent in the CLI\n\n## Quick Start\n\n\nGet started with Flux in seconds:\n\n```bash\n# No installation needed - use npx directly\nnpx @photon-ai/flux login\n\n# Create your agent file\necho 'export default {\n  async invoke({ message }: { message: string }) {\n    return `You said: ${message}`;\n  }\n};' > agent.ts\n\n# Test locally\nnpx @photon-ai/flux run --local\n\n# Deploy to production\nnpx @photon-ai/flux run --prod\n```\n\n## 📦 Installation\n\n### Recommended: Global Installation\n\nFor the best experience, install Flux globally:\n\n```bash\nnpm install -g @photon-ai/flux\n# or\nbun add -g @photon-ai/flux\n```\n\nThen run commands directly:\n\n```bash\nflux login\nflux run --local\nflux run --prod\n```\n\n### Alternative: Use npx (No Installation Required)\n\nYou can use Flux without installing it by using `npx` or `bunx`:\n\n```bash\nnpx @photon-ai/flux login\nnpx @photon-ai/flux run --local\n// or\nbunx @photon-ai/flux login\nbunx @photon-ai/flux run --local\n```\n\n> **Note:** When using `npx` or `bunx`, there's no need to install the package first. `npx` or `bunx` will download and execute it automatically.\n\n### Local Installation (For Development)\n\nIf you're integrating Flux into a project:\n\n```bash\nnpm install @photon-ai/flux\n# or\nbun add @photon-ai/flux\n```\n\n## 📖 Usage Guide\n\n### Step 1: Create Your LangChain Agent\n\nCreate an `agent.ts` file with your LangChain agent. Make sure to have `export default agent`. Here's a simple example:\n\n```typescript\n// agent.ts\nexport default {\n  async invoke({ message }: { message: string }) {\n    return `You said: ${message}`;\n  }\n};\n```\n\n### Step 2: Authenticate with iMessage\n\nAuthenticate with your phone number and iMessage:\n\n```bash\nflux login\n# or\nnpx @photon-ai/flux login\n```\n\n**Example session:**\n\n```\nEnter your phone number (e.g. +15551234567): +1234567890\n[FLUX] Requesting verification code...\n[FLUX] Verification code: d33gwu\n[FLUX] Opening iMessage to send verification code...\n[FLUX] Please send the code \"d33gwu\" to +16286298650 via iMessage.\n[FLUX] Waiting for verification...\n[FLUX] Successfully logged in as +1234567890\n```\n\nIf already logged in:\n\n```\n[FLUX] Already logged in as +1234567890\n```\n\nTo log out:\n\n```bash\nflux logout\n```\n\n```\n[FLUX] Logged out.\n```\n\n### Step 3: Validate Your Agent\n\nValidate that your agent works and exports correctly:\n\n```bash\nflux validate\n# or\nnpx @photon-ai/flux validate\n```\n\n**Output:**\n\n```\n[FLUX] Validating agent.ts...\n[FLUX] Agent is valid!\n```\n\n### Step 4: Test Locally (Development Mode)\n\nTest your agent through your terminal (no iMessage connection):\n\n```bash\nflux run --local\n# or\nnpx @photon-ai/flux run --local\n```\n\n**Interactive session:**\n\n```\n[FLUX] Welcome to Flux! Your agent is loaded.\n[FLUX] Type a message to test it. Press Ctrl+C to exit.\n\nYou: Hello!\n[FLUX] Thinking...\nAgent: Hello! How can I assist you today?\n```\n\n### Step 5: Deploy to Production (Live iMessage)\n\nRun your agent locally and connect it to the iMessage bridge. When you message the Flux number (`+16286298650`) from your registered phone, you'll receive responses from your LangChain agent:\n\n```bash\nflux run --prod\n# or\nnpx @photon-ai/flux run --prod\n```\n\n**Output:**\n\n```\n[FLUX] Loading agent from agent.ts...\n[FLUX] Agent loaded successfully!\n[FLUX] Connected to server at fluxy.photon.codes:443\n[FLUX] Registered agent for +1234567890\n[FLUX] Agent running in production mode. Press Ctrl+C to stop.\n[FLUX] Messages to +1234567890 will be processed by your agent.\n```\n\nNow text **`+16286298650`** from your phone to interact with your agent!\n\n## 🛠️ CLI Commands\n\n| Command | Description |\n|---------|-------------|\n| `flux` or `npx @photon-ai/flux` | Show help |\n| `flux whoami` | Check currently logged-in account |\n| `flux login` | Login and signup with phone number |\n| `flux logout` | Logout from current session |\n| `flux validate` | Check your agent code for errors |\n| `flux run --local` | Start development server (local testing mode) |\n| `flux run --prod` | Start with live iMessage bridge |\n\n## 🔐 Authentication\n\nAuthentication is based on iMessage to ensure secure and simple access:\n\n1. **Code Generation**: The server generates a unique UUID for each login attempt\n2. **Phone Verification**: You send the verification code to the Flux number (`+16286298650`) via iMessage to prove phone ownership\n3. **Token Issuance**: Once verified, the server issues an authentication token\n4. **Persistent Login**: Credentials (token, phone, timestamp) are saved to `credentials.json`, so you only need to log in once\n\n## Proactive Messaging \n\nAgents can initiate conversations without waiting for a user message.  In production mode, `onInit` receives a sendMessage function that lets your agent send messages at any time.\n\n```\nlet sendMessage: (to: string, text: string) => Promise<boolean>;\n\nexport default {\n  async onInit(send) {\n    sendMessage = send;\n    // Now you can call sendMessage() anywhere in your agent\n  },\n  // ...\n};\n```\n\n## Multi-Bubble Responses\n\nAgents can send multi-bubble responses by using '\\n'. \n\nThe `splitIntoMessages` helper function splits messages using `\\n` and then loops through the split messages and sends each one. \n\nFor example, `\"Hello!\\nHow are you?\\nNice to meet you!\"` will be sent as three separate message bubbles. \n\n## Tapbacks\n\nAgents can send tapback reactions (love, like, dislike, laugh, emphasize, question). When your agent receives a message, it can react to it using the `sendTapback` function. \n\nTo use `sendTapback`, you need to: \n1. Capture `sendTapback` in `onInit` once at startup\n2. Call it in `invoke` when processing messages\n\n```\nimport { FluxAgent, SendTapbackFn } from '@photon-ai/flux';\n\nlet sendTapback: SendTapbackFn | undefined;\n\nconst agent: FluxAgent = {\n  onInit: async (_sendMessage, _sendTapback) => {\n    sendTapback = _sendTapback;  // Save it for later\n  },\n\n  invoke: async ({ message, userPhoneNumber, messageGuid }) => {\n    // Now you can use it\n    if (sendTapback && messageGuid) {\n      await sendTapback(messageGuid, 'love', userPhoneNumber);\n    }\n\n    return \"Hello!\";\n  },\n};\n\nexport default agent;\n```\n\n## 💡 Examples\n\n### Weather Agent\n\nAn agent with a weather tool (returns mock data). \n\n```typescript\nimport * as z from \"zod\";\nimport { createAgent, tool } from \"langchain\";\n\nconst getWeather = tool(\n  ({ city }) => `It's always sunny in ${city}!`,\n  {\n    name: \"get_weather\",\n    description: \"Get the weather for a given city\",\n    schema: z.object({\n      city: z.string(),\n    }),\n  },\n);\n\nconst agent = createAgent({\n  model: \"claude-sonnet-4-5-20250929\",\n  tools: [getWeather],\n});\n\nexport default agent\n```\n\n### Chatbot with Memory\n\nAn advanced agent with memory:\n\n```typescript\n// agent.ts\nimport \"dotenv/config\";\nimport { ChatOpenAI } from \"@langchain/openai\";\nimport { HumanMessage, AIMessage, SystemMessage } from \"@langchain/core/messages\";\n\nconst llm = new ChatOpenAI({ modelName: \"gpt-4o-mini\" });\nconst history: Array<HumanMessage | AIMessage> = [];\n\nexport default {\n  async invoke({ message }: { message: string }) {\n    history.push(new HumanMessage(message));\n    \n    const response = await llm.invoke([\n      new SystemMessage(\"You are a helpful assistant. Be concise.\"),\n      ...history,\n    ]);\n    \n    const reply = response.content as string;\n    history.push(new AIMessage(reply));\n    \n    // Keep last 20 messages to avoid token limits\n    if (history.length > 20) {\n      history.splice(0, 2);\n    }\n    \n    return reply;\n  }\n};\n```\n\n### Chatbot with Tapbacks\n\nA conversational chatbot with tapback functionalities: \n\n```\nimport \"dotenv/config\";\nimport OpenAI from \"openai\";\n\nconst openai = new OpenAI();\nconst conversations = new Map<string, Array<{ role: \"user\" | \"assistant\" | \"system\"; content: string }>>();\n\nlet sendTapback: ((messageGuid: string, reaction: string, userPhoneNumber: string) => Promise<boolean>) | undefined;\n\nexport default {\n  onInit: async (_sendMessage: any, _sendTapback: any) => {\n    sendTapback = _sendTapback;\n  },\n\n  invoke: async ({ message, userPhoneNumber, messageGuid }: { message: string; userPhoneNumber: string; messageGuid?: string }) => {\n    // Get or create conversation history\n    if (!conversations.has(userPhoneNumber)) {\n      conversations.set(userPhoneNumber, [{\n        role: \"system\",\n        content: \"You are a friendly iMessage assistant. Keep responses concise. For positive messages, start with [TAPBACK:love], [TAPBACK:laugh], or [TAPBACK:like].\"\n      }]);\n    }\n    const history = conversations.get(userPhoneNumber)!;\n    history.push({ role: \"user\", content: message });\n\n    // Call OpenAI\n    const completion = await openai.chat.completions.create({\n      model: \"gpt-4o-mini\",\n      messages: history,\n    });\n\n    let response = completion.choices[0]?.message?.content || \"Hello!\";\n\n    // Extract and send tapback if present\n    const tapbackMatch = response.match(/^\\[TAPBACK:(love|like|laugh|emphasize)\\]/i);\n    if (tapbackMatch && sendTapback && messageGuid) {\n      await sendTapback(messageGuid, tapbackMatch[1].toLowerCase(), userPhoneNumber);\n      response = response.replace(tapbackMatch[0], \"\").trim();\n    }\n\n    history.push({ role: \"assistant\", content: response });\n    return response;\n  },\n};\n```\n\n##  Why Flux?\n\nConnecting agents to messaging platforms traditionally involves complex processes like setting up servers, configuring webhooks, and dealing with platform APIs. Most solutions rely on SMS or WhatsApp, which can be unintuitive for many users.\n\n**Flux solves these problems:**\n\n- **Deploy in < 5 seconds** — Link your LangChain agent to iMessage with a single command\n- **Fully iMessage native** — Direct iMessage integration, not SMS or WhatsApp\n- **Zero Infrastructure** — No servers to manage, webhooks to configure, or Apple Developer account needed\n- **Open source** — Fully community-driven and transparent\n- **Free to use** — No subscription fees or hidden costs\n\n## 👤 Single-User Design\n\n**Important:** Flux is designed for personal use and development. When you deploy an agent with Flux, **only your registered phone number** can interact with it via iMessage. This means:\n\n- ✅ Perfect for personal assistants and prototypes\n- ✅ Great for testing and development\n- ✅ Simple single-user experience\n- ❌ Not designed for multi-user conversations\n- ❌ No enterprise-level user management\n\n### Need Enterprise Support?\n\nFor **enterprise-level iMessage agents** with advanced features, consider our [Advanced iMessage Kit](https://github.com/photon-hq/advanced-imessage-kit):\n\n- **Multi-user support** — Handle thousands of users simultaneously\n- **Dedicated phone line** — Get your own iMessage number\n- **Enterprise features** — Advanced conversation management and analytics\n- **Production-ready** — Enhanced stability and performance\n- **More features** — Additional tools and integrations\n\n[**Explore Advanced iMessage Kit →**](https://github.com/photon-hq/advanced-imessage-kit)\n\n## ⚙️ Requirements\n\n- **Node.js** 18+ or **Bun** (for the CLI)\n- **Python** 3.9+ (for the agent, if using Python-based LangChain)\n- **LLM API Keys** (e.g., OpenAI API key for GPT-powered agents)\n\n## 🤝 Contributing\n\nWe welcome contributions! Flux is fully open source and community-driven. Feel free to:\n\n- 🐛 [Report bugs](https://github.com/photon-hq/flux/issues)\n- 💡 [Request features](https://github.com/photon-hq/flux/issues)\n- 🔧 Submit pull requests\n- ⭐ Star the repository\n\n## 💬 Support\n\n- **Discord**: Join our community at [discord.gg/bZd4CMd2H5](https://discord.gg/bZd4CMd2H5)\n- **Issues**: Report problems on [GitHub Issues](https://github.com/photon-hq/flux/issues)\n- **Documentation**: Check out this README for comprehensive guides\n\n## 📄 License\n\nMIT License - see the [LICENSE](./LICENSE) file for details.\n\n<br /><div align=\"center\">\n  <sub>Built with ⚡ by <a href=\"https://photon.codes\">Photon</a></sub>\n</div>\n","readmeFilename":"README.md"}