@mintplex-labs/anything-llm-cli 0.0.9 → 0.0.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +30 -12
- package/dist/index.js +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -62,13 +62,27 @@ Download a prebuilt binary from the [Releases](https://github.com/mintplex-labs/
|
|
|
62
62
|
|
|
63
63
|
2. **Set your environment variables:**
|
|
64
64
|
|
|
65
|
+
#### macOS / Linux
|
|
66
|
+
|
|
67
|
+
Run the interactive setup command to configure your environment automatically:
|
|
68
|
+
|
|
65
69
|
```bash
|
|
66
|
-
|
|
67
|
-
# Optional — defaults to http://localhost:3001
|
|
68
|
-
export ANYTHING_LLM_BASE_URL="https://my-instance.example.com"
|
|
70
|
+
any setup
|
|
69
71
|
```
|
|
70
72
|
|
|
71
|
-
|
|
73
|
+
This will prompt you for your instance type, base URL, and API key, then write the appropriate exports to your shell config file (`.zshrc`, `.bashrc`, or `config.fish`).
|
|
74
|
+
|
|
75
|
+
#### Windows
|
|
76
|
+
|
|
77
|
+
Windows users need to set environment variables manually:
|
|
78
|
+
|
|
79
|
+
```powershell
|
|
80
|
+
# PowerShell (current session)
|
|
81
|
+
$env:ANYTHING_LLM_BASE_URL = "https://my-instance.example.com"
|
|
82
|
+
$env:ANYTHING_LLM_API_KEY = "your-api-key"
|
|
83
|
+
|
|
84
|
+
# To persist across sessions, use System Environment Variables settings
|
|
85
|
+
```
|
|
72
86
|
|
|
73
87
|
3. **Send your first prompt:**
|
|
74
88
|
|
|
@@ -80,9 +94,13 @@ That's it! If no workspace is specified, the CLI will automatically create and u
|
|
|
80
94
|
|
|
81
95
|
## Usage
|
|
82
96
|
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
97
|
+
### `any setup` (alias: `s`)
|
|
98
|
+
|
|
99
|
+
Interactive setup wizard that configures your AnythingLLM connection. Prompts for your instance type (Desktop or Cloud/Self-Hosted), base URL, and API key, then writes the environment variables to your shell config file.
|
|
100
|
+
|
|
101
|
+
> **Note:** Only available on macOS and Linux. Windows users must set environment variables manually.
|
|
102
|
+
|
|
103
|
+
### `any prompt <message>` (alias: `p`)
|
|
86
104
|
|
|
87
105
|
### Options
|
|
88
106
|
|
|
@@ -125,11 +143,11 @@ any prompt "Write a summary" > summary.md
|
|
|
125
143
|
|
|
126
144
|
## Environment Variables
|
|
127
145
|
|
|
128
|
-
| Variable | Required | Default
|
|
129
|
-
| ------------------------------------- | -------- |
|
|
130
|
-
| `ANYTHING_LLM_API_KEY` | Yes | —
|
|
131
|
-
| `ANYTHING_LLM_BASE_URL` |
|
|
132
|
-
| `ANYTHING_LLM_DEFAULT_WORKSPACE_SLUG` | No | —
|
|
146
|
+
| Variable | Required | Default | Description |
|
|
147
|
+
| ------------------------------------- | -------- | ------- | ------------------------------------------------- |
|
|
148
|
+
| `ANYTHING_LLM_API_KEY` | Yes | — | Your AnythingLLM API key |
|
|
149
|
+
| `ANYTHING_LLM_BASE_URL` | Yes | — | Base URL of your AnythingLLM instance |
|
|
150
|
+
| `ANYTHING_LLM_DEFAULT_WORKSPACE_SLUG` | No | — | Default workspace slug (avoids needing `-w` flag) |
|
|
133
151
|
|
|
134
152
|
## Development
|
|
135
153
|
|
package/dist/index.js
CHANGED
|
@@ -24,7 +24,7 @@ Expecting one of '${Z.join("', '")}'`);if(this._lifeCycleHooks[q])this._lifeCycl
|
|
|
24
24
|
`),this.outputHelp({error:!0});let Z=J||{},Q=Z.exitCode||1,X=Z.code||"commander.error";this._exit(Q,X,q)}_parseOptionsEnv(){this.options.forEach((q)=>{if(q.envVar&&q.envVar in b.env){let J=q.attributeName();if(this.getOptionValue(J)===void 0||["default","config","env"].includes(this.getOptionValueSource(J)))if(q.required||q.optional)this.emit(`optionEnv:${q.name()}`,b.env[q.envVar]);else this.emit(`optionEnv:${q.name()}`)}})}_parseOptionsImplied(){let q=new P9(this.options),J=(Z)=>{return this.getOptionValue(Z)!==void 0&&!["default","implied"].includes(this.getOptionValueSource(Z))};this.options.filter((Z)=>Z.implied!==void 0&&J(Z.attributeName())&&q.valueFromOption(this.getOptionValue(Z.attributeName()),Z)).forEach((Z)=>{Object.keys(Z.implied).filter((Q)=>!J(Q)).forEach((Q)=>{this.setOptionValueWithSource(Q,Z.implied[Q],"implied")})})}missingArgument(q){let J=`error: missing required argument '${q}'`;this.error(J,{code:"commander.missingArgument"})}optionMissingArgument(q){let J=`error: option '${q.flags}' argument missing`;this.error(J,{code:"commander.optionMissingArgument"})}missingMandatoryOptionValue(q){let J=`error: required option '${q.flags}' not specified`;this.error(J,{code:"commander.missingMandatoryOptionValue"})}_conflictingOption(q,J){let Z=(Y)=>{let z=Y.attributeName(),B=this.getOptionValue(z),G=this.options.find((_)=>_.negate&&z===_.attributeName()),H=this.options.find((_)=>!_.negate&&z===_.attributeName());if(G&&(G.presetArg===void 0&&B===!1||G.presetArg!==void 0&&B===G.presetArg))return G;return H||Y},Q=(Y)=>{let z=Z(Y),B=z.attributeName();if(this.getOptionValueSource(B)==="env")return`environment variable '${z.envVar}'`;return`option '${z.flags}'`},X=`error: ${Q(q)} cannot be used with ${Q(J)}`;this.error(X,{code:"commander.conflictingOption"})}unknownOption(q){if(this._allowUnknownOption)return;let J="";if(q.startsWith("--")&&this._showSuggestionAfterError){let Q=[],X=this;do{let Y=X.createHelp().visibleOptions(X).filter((z)=>z.long).map((z)=>z.long);Q=Q.concat(Y),X=X.parent}while(X&&!X._enablePositionalOptions);J=Q4(q,Q)}let Z=`error: unknown option '${q}'${J}`;this.error(Z,{code:"commander.unknownOption"})}_excessArguments(q){if(this._allowExcessArguments)return;let J=this.registeredArguments.length,Z=J===1?"":"s",X=`error: too many arguments${this.parent?` for '${this.name()}'`:""}. Expected ${J} argument${Z} but got ${q.length}.`;this.error(X,{code:"commander.excessArguments"})}unknownCommand(){let q=this.args[0],J="";if(this._showSuggestionAfterError){let Q=[];this.createHelp().visibleCommands(this).forEach((X)=>{if(Q.push(X.name()),X.alias())Q.push(X.alias())}),J=Q4(q,Q)}let Z=`error: unknown command '${q}'${J}`;this.error(Z,{code:"commander.unknownCommand"})}version(q,J,Z){if(q===void 0)return this._version;this._version=q,J=J||"-V, --version",Z=Z||"output the version number";let Q=this.createOption(J,Z);return this._versionOptionName=Q.attributeName(),this._registerOption(Q),this.on("option:"+Q.name(),()=>{this._outputConfiguration.writeOut(`${q}
|
|
25
25
|
`),this._exit(0,"commander.version",q)}),this}description(q,J){if(q===void 0&&J===void 0)return this._description;if(this._description=q,J)this._argsDescription=J;return this}summary(q){if(q===void 0)return this._summary;return this._summary=q,this}alias(q){if(q===void 0)return this._aliases[0];let J=this;if(this.commands.length!==0&&this.commands[this.commands.length-1]._executableHandler)J=this.commands[this.commands.length-1];if(q===J._name)throw Error("Command alias can't be the same as its name");let Z=this.parent?._findCommand(q);if(Z){let Q=[Z.name()].concat(Z.aliases()).join("|");throw Error(`cannot add alias '${q}' to command '${this.name()}' as already have command '${Q}'`)}return J._aliases.push(q),this}aliases(q){if(q===void 0)return this._aliases;return q.forEach((J)=>this.alias(J)),this}usage(q){if(q===void 0){if(this._usage)return this._usage;let J=this.registeredArguments.map((Z)=>{return W9(Z)});return[].concat(this.options.length||this._helpOption!==null?"[options]":[],this.commands.length?"[command]":[],this.registeredArguments.length?J:[]).join(" ")}return this._usage=q,this}name(q){if(q===void 0)return this._name;return this._name=q,this}helpGroup(q){if(q===void 0)return this._helpGroupHeading??"";return this._helpGroupHeading=q,this}commandsGroup(q){if(q===void 0)return this._defaultCommandGroup??"";return this._defaultCommandGroup=q,this}optionsGroup(q){if(q===void 0)return this._defaultOptionGroup??"";return this._defaultOptionGroup=q,this}_initOptionGroup(q){if(this._defaultOptionGroup&&!q.helpGroupHeading)q.helpGroup(this._defaultOptionGroup)}_initCommandGroup(q){if(this._defaultCommandGroup&&!q.helpGroup())q.helpGroup(this._defaultCommandGroup)}nameFromFilename(q){return this._name=u.basename(q,u.extname(q)),this}executableDir(q){if(q===void 0)return this._executableDir;return this._executableDir=q,this}helpInformation(q){let J=this.createHelp(),Z=this._getOutputContext(q);J.prepareContext({error:Z.error,helpWidth:Z.helpWidth,outputHasColors:Z.hasColors});let Q=J.formatHelp(this,J);if(Z.hasColors)return Q;return this._outputConfiguration.stripColor(Q)}_getOutputContext(q){q=q||{};let J=!!q.error,Z,Q,X;if(J)Z=(z)=>this._outputConfiguration.writeErr(z),Q=this._outputConfiguration.getErrHasColors(),X=this._outputConfiguration.getErrHelpWidth();else Z=(z)=>this._outputConfiguration.writeOut(z),Q=this._outputConfiguration.getOutHasColors(),X=this._outputConfiguration.getOutHelpWidth();return{error:J,write:(z)=>{if(!Q)z=this._outputConfiguration.stripColor(z);return Z(z)},hasColors:Q,helpWidth:X}}outputHelp(q){let J;if(typeof q==="function")J=q,q=void 0;let Z=this._getOutputContext(q),Q={error:Z.error,write:Z.write,command:this};this._getCommandAndAncestors().reverse().forEach((Y)=>Y.emit("beforeAllHelp",Q)),this.emit("beforeHelp",Q);let X=this.helpInformation({error:Z.error});if(J){if(X=J(X),typeof X!=="string"&&!Buffer.isBuffer(X))throw Error("outputHelp callback must return a string or a Buffer")}if(Z.write(X),this._getHelpOption()?.long)this.emit(this._getHelpOption().long);this.emit("afterHelp",Q),this._getCommandAndAncestors().forEach((Y)=>Y.emit("afterAllHelp",Q))}helpOption(q,J){if(typeof q==="boolean"){if(q){if(this._helpOption===null)this._helpOption=void 0;if(this._defaultOptionGroup)this._initOptionGroup(this._getHelpOption())}else this._helpOption=null;return this}if(this._helpOption=this.createOption(q??"-h, --help",J??"display help for command"),q||J)this._initOptionGroup(this._helpOption);return this}_getHelpOption(){if(this._helpOption===void 0)this.helpOption(void 0,void 0);return this._helpOption}addHelpOption(q){return this._helpOption=q,this._initOptionGroup(q),this}help(q){this.outputHelp(q);let J=Number(b.exitCode??0);if(J===0&&q&&typeof q!=="function"&&q.error)J=1;this._exit(J,"commander.help","(outputHelp)")}addHelpText(q,J){let Z=["beforeAll","before","after","afterAll"];if(!Z.includes(q))throw Error(`Unexpected value for position to addHelpText.
|
|
26
26
|
Expecting one of '${Z.join("', '")}'`);let Q=`${q}Help`;return this.on(Q,(X)=>{let Y;if(typeof J==="function")Y=J({error:X.error,command:X.command});else Y=J;if(Y)X.write(`${Y}
|
|
27
|
-
`)}),this}_outputHelpIfRequested(q){let J=this._getHelpOption();if(J&&q.find((Q)=>J.is(Q)))this.outputHelp(),this._exit(0,"commander.helpDisplayed","(outputHelp)")}}function X4(q){return q.map((J)=>{if(!J.startsWith("--inspect"))return J;let Z,Q="127.0.0.1",X="9229",Y;if((Y=J.match(/^(--inspect(-brk)?)$/))!==null)Z=Y[1];else if((Y=J.match(/^(--inspect(-brk|-port)?)=([^:]+)$/))!==null)if(Z=Y[1],/^\d+$/.test(Y[3]))X=Y[3];else Q=Y[3];else if((Y=J.match(/^(--inspect(-brk|-port)?)=([^:]+):(\d+)$/))!==null)Z=Y[1],Q=Y[3],X=Y[4];if(Z&&X!=="0")return`${Z}=${Q}:${parseInt(X)+1}`;return J})}function V1(){if(b.env.NO_COLOR||b.env.FORCE_COLOR==="0"||b.env.FORCE_COLOR==="false")return!1;if(b.env.FORCE_COLOR||b.env.CLICOLOR_FORCE!==void 0)return!0;return}b9.Command=W1;b9.useColor=V1});var H4=h((w9)=>{var{Argument:z4}=s(),{Command:N1}=Y4(),{CommanderError:F9,InvalidArgumentError:B4}=r(),{Help:C9}=S1(),{Option:G4}=U1();w9.program=new N1;w9.createCommand=(q)=>new N1(q);w9.createOption=(q,J)=>new G4(q,J);w9.createArgument=(q,J)=>new z4(q,J);w9.Command=N1;w9.Option=G4;w9.Argument=z4;w9.Help=C9;w9.CommanderError=F9;w9.InvalidArgumentError=B4;w9.InvalidOptionArgumentError=B4});var P1=h((v0,D1)=>{var Z1=process||{},K4=Z1.argv||[],J1=Z1.env||{},o9=!(!!J1.NO_COLOR||K4.includes("--no-color"))&&(!!J1.FORCE_COLOR||K4.includes("--color")||Z1.platform==="win32"||(Z1.stdout||{}).isTTY&&J1.TERM!=="dumb"||!!J1.CI),a9=(q,J,Z=q)=>(Q)=>{let X=""+Q,Y=X.indexOf(J,q.length);return~Y?q+s9(X,J,Z,Y)+J:q+X+J},s9=(q,J,Z,Q)=>{let X="",Y=0;do X+=q.substring(Y,Q)+Z,Y=Q+J.length,Q=q.indexOf(J,Y);while(~Q);return X+q.substring(Y)},I4=(q=o9)=>{let J=q?a9:()=>String;return{isColorSupported:q,reset:J("\x1B[0m","\x1B[0m"),bold:J("\x1B[1m","\x1B[22m","\x1B[22m\x1B[1m"),dim:J("\x1B[2m","\x1B[22m","\x1B[22m\x1B[2m"),italic:J("\x1B[3m","\x1B[23m"),underline:J("\x1B[4m","\x1B[24m"),inverse:J("\x1B[7m","\x1B[27m"),hidden:J("\x1B[8m","\x1B[28m"),strikethrough:J("\x1B[9m","\x1B[29m"),black:J("\x1B[30m","\x1B[39m"),red:J("\x1B[31m","\x1B[39m"),green:J("\x1B[32m","\x1B[39m"),yellow:J("\x1B[33m","\x1B[39m"),blue:J("\x1B[34m","\x1B[39m"),magenta:J("\x1B[35m","\x1B[39m"),cyan:J("\x1B[36m","\x1B[39m"),white:J("\x1B[37m","\x1B[39m"),gray:J("\x1B[90m","\x1B[39m"),bgBlack:J("\x1B[40m","\x1B[49m"),bgRed:J("\x1B[41m","\x1B[49m"),bgGreen:J("\x1B[42m","\x1B[49m"),bgYellow:J("\x1B[43m","\x1B[49m"),bgBlue:J("\x1B[44m","\x1B[49m"),bgMagenta:J("\x1B[45m","\x1B[49m"),bgCyan:J("\x1B[46m","\x1B[49m"),bgWhite:J("\x1B[47m","\x1B[49m"),blackBright:J("\x1B[90m","\x1B[39m"),redBright:J("\x1B[91m","\x1B[39m"),greenBright:J("\x1B[92m","\x1B[39m"),yellowBright:J("\x1B[93m","\x1B[39m"),blueBright:J("\x1B[94m","\x1B[39m"),magentaBright:J("\x1B[95m","\x1B[39m"),cyanBright:J("\x1B[96m","\x1B[39m"),whiteBright:J("\x1B[97m","\x1B[39m"),bgBlackBright:J("\x1B[100m","\x1B[49m"),bgRedBright:J("\x1B[101m","\x1B[49m"),bgGreenBright:J("\x1B[102m","\x1B[49m"),bgYellowBright:J("\x1B[103m","\x1B[49m"),bgBlueBright:J("\x1B[104m","\x1B[49m"),bgMagentaBright:J("\x1B[105m","\x1B[49m"),bgCyanBright:J("\x1B[106m","\x1B[49m"),bgWhiteBright:J("\x1B[107m","\x1B[49m")}};D1.exports=I4();D1.exports.createColors=I4});var E1=h((h0,S4)=>{var b1={to(q,J){if(!J)return`\x1B[${q+1}G`;return`\x1B[${J+1};${q+1}H`},move(q,J){let Z="";if(q<0)Z+=`\x1B[${-q}D`;else if(q>0)Z+=`\x1B[${q}C`;if(J<0)Z+=`\x1B[${-J}A`;else if(J>0)Z+=`\x1B[${J}B`;return Z},up:(q=1)=>`\x1B[${q}A`,down:(q=1)=>`\x1B[${q}B`,forward:(q=1)=>`\x1B[${q}C`,backward:(q=1)=>`\x1B[${q}D`,nextLine:(q=1)=>"\x1B[E".repeat(q),prevLine:(q=1)=>"\x1B[F".repeat(q),left:"\x1B[G",hide:"\x1B[?25l",show:"\x1B[?25h",save:"\x1B7",restore:"\x1B8"},e9={up:(q=1)=>"\x1B[S".repeat(q),down:(q=1)=>"\x1B[T".repeat(q)},t9={screen:"\x1B[2J",up:(q=1)=>"\x1B[1J".repeat(q),down:(q=1)=>"\x1B[J".repeat(q),line:"\x1B[2K",lineEnd:"\x1B[K",lineStart:"\x1B[1K",lines(q){let J="";for(let Z=0;Z<q;Z++)J+=this.line+(Z<q-1?b1.up():"");if(q)J+=b1.left;return J}};S4.exports={cursor:b1,scroll:e9,erase:t9,beep:"\x07"}});var _4=i(H4(),1),{program:m,createCommand:I0,createArgument:S0,createOption:U0,CommanderError:j0,InvalidArgumentError:L0,InvalidOptionArgumentError:V0,Command:W0,Argument:N0,Option:D0,Help:P0}=_4.default;var t={name:"@mintplex-labs/anything-llm-cli",version:"0.0.
|
|
27
|
+
`)}),this}_outputHelpIfRequested(q){let J=this._getHelpOption();if(J&&q.find((Q)=>J.is(Q)))this.outputHelp(),this._exit(0,"commander.helpDisplayed","(outputHelp)")}}function X4(q){return q.map((J)=>{if(!J.startsWith("--inspect"))return J;let Z,Q="127.0.0.1",X="9229",Y;if((Y=J.match(/^(--inspect(-brk)?)$/))!==null)Z=Y[1];else if((Y=J.match(/^(--inspect(-brk|-port)?)=([^:]+)$/))!==null)if(Z=Y[1],/^\d+$/.test(Y[3]))X=Y[3];else Q=Y[3];else if((Y=J.match(/^(--inspect(-brk|-port)?)=([^:]+):(\d+)$/))!==null)Z=Y[1],Q=Y[3],X=Y[4];if(Z&&X!=="0")return`${Z}=${Q}:${parseInt(X)+1}`;return J})}function V1(){if(b.env.NO_COLOR||b.env.FORCE_COLOR==="0"||b.env.FORCE_COLOR==="false")return!1;if(b.env.FORCE_COLOR||b.env.CLICOLOR_FORCE!==void 0)return!0;return}b9.Command=W1;b9.useColor=V1});var H4=h((w9)=>{var{Argument:z4}=s(),{Command:N1}=Y4(),{CommanderError:F9,InvalidArgumentError:B4}=r(),{Help:C9}=S1(),{Option:G4}=U1();w9.program=new N1;w9.createCommand=(q)=>new N1(q);w9.createOption=(q,J)=>new G4(q,J);w9.createArgument=(q,J)=>new z4(q,J);w9.Command=N1;w9.Option=G4;w9.Argument=z4;w9.Help=C9;w9.CommanderError=F9;w9.InvalidArgumentError=B4;w9.InvalidOptionArgumentError=B4});var P1=h((v0,D1)=>{var Z1=process||{},K4=Z1.argv||[],J1=Z1.env||{},o9=!(!!J1.NO_COLOR||K4.includes("--no-color"))&&(!!J1.FORCE_COLOR||K4.includes("--color")||Z1.platform==="win32"||(Z1.stdout||{}).isTTY&&J1.TERM!=="dumb"||!!J1.CI),a9=(q,J,Z=q)=>(Q)=>{let X=""+Q,Y=X.indexOf(J,q.length);return~Y?q+s9(X,J,Z,Y)+J:q+X+J},s9=(q,J,Z,Q)=>{let X="",Y=0;do X+=q.substring(Y,Q)+Z,Y=Q+J.length,Q=q.indexOf(J,Y);while(~Q);return X+q.substring(Y)},I4=(q=o9)=>{let J=q?a9:()=>String;return{isColorSupported:q,reset:J("\x1B[0m","\x1B[0m"),bold:J("\x1B[1m","\x1B[22m","\x1B[22m\x1B[1m"),dim:J("\x1B[2m","\x1B[22m","\x1B[22m\x1B[2m"),italic:J("\x1B[3m","\x1B[23m"),underline:J("\x1B[4m","\x1B[24m"),inverse:J("\x1B[7m","\x1B[27m"),hidden:J("\x1B[8m","\x1B[28m"),strikethrough:J("\x1B[9m","\x1B[29m"),black:J("\x1B[30m","\x1B[39m"),red:J("\x1B[31m","\x1B[39m"),green:J("\x1B[32m","\x1B[39m"),yellow:J("\x1B[33m","\x1B[39m"),blue:J("\x1B[34m","\x1B[39m"),magenta:J("\x1B[35m","\x1B[39m"),cyan:J("\x1B[36m","\x1B[39m"),white:J("\x1B[37m","\x1B[39m"),gray:J("\x1B[90m","\x1B[39m"),bgBlack:J("\x1B[40m","\x1B[49m"),bgRed:J("\x1B[41m","\x1B[49m"),bgGreen:J("\x1B[42m","\x1B[49m"),bgYellow:J("\x1B[43m","\x1B[49m"),bgBlue:J("\x1B[44m","\x1B[49m"),bgMagenta:J("\x1B[45m","\x1B[49m"),bgCyan:J("\x1B[46m","\x1B[49m"),bgWhite:J("\x1B[47m","\x1B[49m"),blackBright:J("\x1B[90m","\x1B[39m"),redBright:J("\x1B[91m","\x1B[39m"),greenBright:J("\x1B[92m","\x1B[39m"),yellowBright:J("\x1B[93m","\x1B[39m"),blueBright:J("\x1B[94m","\x1B[39m"),magentaBright:J("\x1B[95m","\x1B[39m"),cyanBright:J("\x1B[96m","\x1B[39m"),whiteBright:J("\x1B[97m","\x1B[39m"),bgBlackBright:J("\x1B[100m","\x1B[49m"),bgRedBright:J("\x1B[101m","\x1B[49m"),bgGreenBright:J("\x1B[102m","\x1B[49m"),bgYellowBright:J("\x1B[103m","\x1B[49m"),bgBlueBright:J("\x1B[104m","\x1B[49m"),bgMagentaBright:J("\x1B[105m","\x1B[49m"),bgCyanBright:J("\x1B[106m","\x1B[49m"),bgWhiteBright:J("\x1B[107m","\x1B[49m")}};D1.exports=I4();D1.exports.createColors=I4});var E1=h((h0,S4)=>{var b1={to(q,J){if(!J)return`\x1B[${q+1}G`;return`\x1B[${J+1};${q+1}H`},move(q,J){let Z="";if(q<0)Z+=`\x1B[${-q}D`;else if(q>0)Z+=`\x1B[${q}C`;if(J<0)Z+=`\x1B[${-J}A`;else if(J>0)Z+=`\x1B[${J}B`;return Z},up:(q=1)=>`\x1B[${q}A`,down:(q=1)=>`\x1B[${q}B`,forward:(q=1)=>`\x1B[${q}C`,backward:(q=1)=>`\x1B[${q}D`,nextLine:(q=1)=>"\x1B[E".repeat(q),prevLine:(q=1)=>"\x1B[F".repeat(q),left:"\x1B[G",hide:"\x1B[?25l",show:"\x1B[?25h",save:"\x1B7",restore:"\x1B8"},e9={up:(q=1)=>"\x1B[S".repeat(q),down:(q=1)=>"\x1B[T".repeat(q)},t9={screen:"\x1B[2J",up:(q=1)=>"\x1B[1J".repeat(q),down:(q=1)=>"\x1B[J".repeat(q),line:"\x1B[2K",lineEnd:"\x1B[K",lineStart:"\x1B[1K",lines(q){let J="";for(let Z=0;Z<q;Z++)J+=this.line+(Z<q-1?b1.up():"");if(q)J+=b1.left;return J}};S4.exports={cursor:b1,scroll:e9,erase:t9,beep:"\x07"}});var _4=i(H4(),1),{program:m,createCommand:I0,createArgument:S0,createOption:U0,CommanderError:j0,InvalidArgumentError:L0,InvalidOptionArgumentError:V0,Command:W0,Argument:N0,Option:D0,Help:P0}=_4.default;var t={name:"@mintplex-labs/anything-llm-cli",version:"0.0.10",description:"A CLI tool to interact with AnythingLLM from the terminal",type:"module",bin:{any:"dist/index.js"},files:["dist/index.js","README.md"],keywords:["anythingllm","llm","cli","ai"],repository:{type:"git",url:"https://github.com/Mintplex-Labs/anything-llm-cli"},license:"MIT",scripts:{setup:"cp .env.example .env.local && bun install",start:"bun run src/index.ts",build:"bun build --compile --minify --outfile=dist/any src/index.ts","build:npm":"bun build --minify --target=node --banner '#!/usr/bin/env node' --outfile=dist/index.js src/index.ts",prepublishOnly:"bun run build:npm",lint:"bunx biome check --write .","build:linux-x64":"bun build --compile --minify --target=bun-linux-x64 --outfile=dist/any-linux-x64 src/index.ts","build:linux-arm64":"bun build --compile --minify --target=bun-linux-arm64 --outfile=dist/any-linux-arm64 src/index.ts","build:windows-x64":"bun build --compile --minify --target=bun-windows-x64 --outfile=dist/any-windows-x64.exe src/index.ts","build:darwin-x64":"bun build --compile --minify --target=bun-darwin-x64 --outfile=dist/any-darwin-x64 src/index.ts","build:darwin-arm64":"bun build --compile --minify --target=bun-darwin-arm64 --outfile=dist/any-darwin-arm64 src/index.ts","build:all":"bun run build:linux-x64 && bun run build:linux-arm64 && bun run build:windows-x64 && bun run build:darwin-x64 && bun run build:darwin-arm64"},devDependencies:{"@biomejs/biome":"2.3.15","@types/bun":"latest",lefthook:"^2.1.1"},peerDependencies:{typescript:"^5"},dependencies:{"@clack/prompts":"^1.0.1",commander:"^14.0.3"}};import{readFileSync as l9}from"node:fs";import{basename as p9,extname as i9,resolve as n9}from"node:path";class q1{apiKey=process.env.ANYTHINGLLM_API_KEY||"";baseUrl=new URL("http://localhost:3001");static fileToAttachment(q){let J={".png":"image/png",".jpg":"image/jpeg",".jpeg":"image/jpeg",".gif":"image/gif",".webp":"image/webp"},Z=n9(q),Q=i9(Z).toLowerCase(),X=J[Q];if(!X)console.error(`Unsupported file type: ${Q}
|
|
28
28
|
Supported: ${Object.keys(J).join(", ")}`),process.exit(1);let z=l9(Z).toString("base64");return{name:p9(Z),mime:X,contentString:`data:${X};base64,${z}`}}streamResponse(q,J){let Z=this;return{[Symbol.asyncIterator](){return async function*(){let Q=new URL(q,Z.baseUrl),X=await fetch(Q.href,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${Z.apiKey}`},body:JSON.stringify(J)});if(!X.ok||!X.body)throw Error(`Stream request failed with status ${X.status}`);let Y=new TextDecoder,z="";for await(let B of X.body){z+=Y.decode(B,{stream:!0});let G=z.split(`
|
|
29
29
|
|
|
30
30
|
`);z=G.pop()||"";for(let H of G){let _=H.trim();if(!_.startsWith("data:"))continue;yield JSON.parse(_.slice(5).trim())}}}()}}}async callApi(q,J={}){try{let Z=new URL(q,this.baseUrl),Q=await fetch(Z.href,{method:J.method||"GET",headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.apiKey}`},body:J.body?JSON.stringify(J.body):void 0});if(!Q.ok){let Y=await Q.text();throw Error(`API request failed with status ${Q.status}: ${Y}`)}return{ok:!0,data:await Q.json()}}catch(Z){return{ok:!1,error:Z instanceof Error?Z.message:String(Z)}}}admin={};documents={};systemSettings={};embeds={};workspaces={create:async(q)=>{return this.callApi("api/v1/workspace/new",{method:"POST",body:{...q,openAiTemp:q.temperature,openAiHistory:q.historyMessageCount,openAiPrompt:q.systemPrompt,chatMode:q.mode}})},list:async()=>{return this.callApi("api/v1/workspaces")},get:async(q)=>{return this.callApi(`api/v1/workspace/${q.slug}`)},chat:async(q)=>{return this.callApi(`api/v1/workspace/${q.slug}/chat`,{method:"POST",body:{message:q.message,mode:q.mode??"chat",attachments:q.attachments}})},streamChat:(q)=>{return this.streamResponse(`api/v1/workspace/${q.slug}/stream-chat`,{message:q.message,mode:q.mode??"chat",attachments:q.attachments})}};threads={create:async(q)=>{return this.callApi(`api/v1/workspace/${q.workspaceSlug}/thread/new`,{method:"POST",body:{...q,name:q.title}})},chat:async(q)=>{return this.callApi(`api/v1/workspace/${q.workspaceSlug}/thread/${q.threadSlug}/chat`,{method:"POST",body:{message:q.message,mode:q.mode??"chat",attachments:q.attachments}})},streamChat:(q)=>{return this.streamResponse(`api/v1/workspace/${q.workspaceSlug}/thread/${q.threadSlug}/stream-chat`,{message:q.message,mode:q.mode??"chat",attachments:q.attachments})},getMessages:async(q)=>{let J=q.threadSlug?`api/v1/workspace/${q.workspaceSlug}/thread/${q.threadSlug}/chats`:`api/v1/workspace/${q.workspaceSlug}/chats`;return this.callApi(J)}};constructor({apiKey:q,baseUrl:J}){this.apiKey=q||this.apiKey,this.baseUrl=J?new URL(J):this.baseUrl}}function M4(){return new Promise((q)=>{let J="";process.stdin.setEncoding("utf-8"),process.stdin.on("data",(Z)=>{J+=Z}),process.stdin.on("end",()=>q(J))})}var R4="anythingllm-cli-default-workspace";async function T4(q,J){let Z=q.join(" "),Q=process.env.ANYTHING_LLM_API_KEY;if(!Q)console.error("ANYTHING_LLM_API_KEY environment variable is not set"),process.exit(1);let X="";if(!process.stdin.isTTY)X=await M4();let Y=X?`${X} ${Z}`:Z,z=J.attach?J.attach.map(q1.fileToAttachment):void 0,B=new q1({apiKey:Q,baseUrl:process.env.ANYTHING_LLM_BASE_URL}),G=J.workspace||R4;if(G===R4){let U=await B.workspaces.get({slug:G});if(!U.ok)console.error(`Failed to get workspace "${G}": ${U.error}`),process.exit(1);if(U.data.workspace.length===0){let D=await B.workspaces.create({name:"AnythingLLM CLI Default Workspace",systemPrompt:"You are a helpful assistant responding to prompts from the AnythingLLM CLI tool. You will sometimes receive context passed in from the stdinput."});if(!D.ok)console.error(`Failed to create workspace: ${D.error}`),process.exit(1)}}let H=J.thread;if(J.newThread){let U=await B.threads.create({workspaceSlug:G,title:`AnythingLLM CLI Thread - ${new Date().toLocaleString()}`});if(!U.ok)console.error(`Failed to create thread: ${U.error}`),process.exit(1);H=U.data.thread.slug}if(!J.stream){let U=H?await B.threads.chat({threadSlug:H,message:Y,workspaceSlug:G,attachments:z}):await B.workspaces.chat({slug:G,message:Y,attachments:z});if(!U.ok)console.error(`LLM request failed: ${U.error}`),process.exit(1);process.stdout.write(`${U.data.textResponse}
|