@hongymagic/q 0.6.1 → 0.7.0
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 +2 -1
- package/dist/q.js +26 -7
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -60,6 +60,7 @@ echo "how do I restart docker" | q
|
|
|
60
60
|
| `-p, --provider <name>` | Override the default provider |
|
|
61
61
|
| `-m, --model <id>` | Override the default model |
|
|
62
62
|
| `--copy` | Copy answer to clipboard |
|
|
63
|
+
| `--no-copy` | Disable copy (overrides config) |
|
|
63
64
|
| `-h, --help` | Show help message |
|
|
64
65
|
|
|
65
66
|
### Commands
|
|
@@ -76,7 +77,7 @@ Config is loaded from (later overrides earlier):
|
|
|
76
77
|
|
|
77
78
|
1. `~/.config/q/config.toml`
|
|
78
79
|
2. `./config.toml` (project-specific)
|
|
79
|
-
3. Environment: `Q_PROVIDER`, `Q_MODEL`
|
|
80
|
+
3. Environment: `Q_PROVIDER`, `Q_MODEL`, `Q_COPY`
|
|
80
81
|
|
|
81
82
|
See [config.example.toml](config.example.toml) for all options.
|
|
82
83
|
|
package/dist/q.js
CHANGED
|
@@ -14522,7 +14522,7 @@ import { parseArgs } from "node:util";
|
|
|
14522
14522
|
// package.json
|
|
14523
14523
|
var package_default = {
|
|
14524
14524
|
name: "@hongymagic/q",
|
|
14525
|
-
version: "0.
|
|
14525
|
+
version: "0.7.0",
|
|
14526
14526
|
description: "Quick AI answers from the command line",
|
|
14527
14527
|
main: "dist/q.js",
|
|
14528
14528
|
type: "module",
|
|
@@ -14686,6 +14686,7 @@ OPTIONS:
|
|
|
14686
14686
|
-p, --provider <name> Override the default provider
|
|
14687
14687
|
-m, --model <id> Override the default model
|
|
14688
14688
|
--copy Copy answer to clipboard
|
|
14689
|
+
--no-copy Disable copy (overrides config)
|
|
14689
14690
|
--debug Enable debug logging to stderr
|
|
14690
14691
|
-h, --help Show this help message
|
|
14691
14692
|
-v, --version Show version
|
|
@@ -14693,12 +14694,13 @@ OPTIONS:
|
|
|
14693
14694
|
ENVIRONMENT:
|
|
14694
14695
|
Q_PROVIDER Override default provider
|
|
14695
14696
|
Q_MODEL Override default model
|
|
14697
|
+
Q_COPY Override default copy behaviour (true/false)
|
|
14696
14698
|
|
|
14697
14699
|
CONFIG:
|
|
14698
14700
|
Config is loaded from (in order, later overrides earlier):
|
|
14699
14701
|
1. ~/.config/q/config.toml (or $XDG_CONFIG_HOME/q/config.toml)
|
|
14700
14702
|
2. ./config.toml (current directory)
|
|
14701
|
-
3. Environment variables (Q_PROVIDER, Q_MODEL)
|
|
14703
|
+
3. Environment variables (Q_PROVIDER, Q_MODEL, Q_COPY)
|
|
14702
14704
|
|
|
14703
14705
|
EXAMPLES:
|
|
14704
14706
|
q how do I restart docker
|
|
@@ -14713,6 +14715,7 @@ function parseCliArgs(argv = Bun.argv.slice(2)) {
|
|
|
14713
14715
|
provider: { type: "string", short: "p" },
|
|
14714
14716
|
model: { type: "string", short: "m" },
|
|
14715
14717
|
copy: { type: "boolean", default: false },
|
|
14718
|
+
"no-copy": { type: "boolean", default: false },
|
|
14716
14719
|
debug: { type: "boolean", default: false },
|
|
14717
14720
|
help: { type: "boolean", short: "h", default: false },
|
|
14718
14721
|
version: { type: "boolean", short: "v", default: false }
|
|
@@ -14724,6 +14727,7 @@ function parseCliArgs(argv = Bun.argv.slice(2)) {
|
|
|
14724
14727
|
provider: values.provider,
|
|
14725
14728
|
model: values.model,
|
|
14726
14729
|
copy: values.copy ?? false,
|
|
14730
|
+
noCopy: values["no-copy"] ?? false,
|
|
14727
14731
|
debug: values.debug ?? false,
|
|
14728
14732
|
help: values.help ?? false,
|
|
14729
14733
|
version: values.version ?? false
|
|
@@ -28402,10 +28406,21 @@ function createEnv(opts) {
|
|
|
28402
28406
|
}
|
|
28403
28407
|
|
|
28404
28408
|
// src/env.ts
|
|
28409
|
+
var booleanString = exports_external.string().optional().transform((val) => {
|
|
28410
|
+
if (val === undefined)
|
|
28411
|
+
return;
|
|
28412
|
+
const lower = val.toLowerCase();
|
|
28413
|
+
if (lower === "true" || lower === "1")
|
|
28414
|
+
return true;
|
|
28415
|
+
if (lower === "false" || lower === "0")
|
|
28416
|
+
return false;
|
|
28417
|
+
throw new Error(`Invalid Q_COPY value: '${val}'. Use 'true', 'false', '1', or '0'.`);
|
|
28418
|
+
});
|
|
28405
28419
|
var env2 = createEnv({
|
|
28406
28420
|
server: {
|
|
28407
28421
|
Q_PROVIDER: exports_external.string().optional(),
|
|
28408
|
-
Q_MODEL: exports_external.string().optional()
|
|
28422
|
+
Q_MODEL: exports_external.string().optional(),
|
|
28423
|
+
Q_COPY: booleanString
|
|
28409
28424
|
},
|
|
28410
28425
|
runtimeEnv: process.env,
|
|
28411
28426
|
emptyStringAsUndefined: true
|
|
@@ -28438,7 +28453,8 @@ var ProviderConfigSchema = exports_external.object({
|
|
|
28438
28453
|
});
|
|
28439
28454
|
var DefaultConfigSchema = exports_external.object({
|
|
28440
28455
|
provider: exports_external.string(),
|
|
28441
|
-
model: exports_external.string()
|
|
28456
|
+
model: exports_external.string(),
|
|
28457
|
+
copy: exports_external.boolean().optional()
|
|
28442
28458
|
});
|
|
28443
28459
|
var ConfigSchema = exports_external.object({
|
|
28444
28460
|
default: DefaultConfigSchema,
|
|
@@ -28492,7 +28508,8 @@ class Config {
|
|
|
28492
28508
|
const finalDefault = {
|
|
28493
28509
|
...mergedDefault,
|
|
28494
28510
|
...env2.Q_PROVIDER ? { provider: env2.Q_PROVIDER } : {},
|
|
28495
|
-
...env2.Q_MODEL ? { model: env2.Q_MODEL } : {}
|
|
28511
|
+
...env2.Q_MODEL ? { model: env2.Q_MODEL } : {},
|
|
28512
|
+
...env2.Q_COPY !== undefined ? { copy: env2.Q_COPY } : {}
|
|
28496
28513
|
};
|
|
28497
28514
|
const merged = {
|
|
28498
28515
|
default: finalDefault,
|
|
@@ -28609,11 +28626,12 @@ var EXAMPLE_CONFIG = `# q configuration file
|
|
|
28609
28626
|
# Config resolution order (later overrides earlier):
|
|
28610
28627
|
# 1. This file (XDG_CONFIG_HOME/q/config.toml or ~/.config/q/config.toml)
|
|
28611
28628
|
# 2. ./config.toml in current directory (project-specific)
|
|
28612
|
-
# 3. Environment variables: Q_PROVIDER, Q_MODEL
|
|
28629
|
+
# 3. Environment variables: Q_PROVIDER, Q_MODEL, Q_COPY
|
|
28613
28630
|
|
|
28614
28631
|
[default]
|
|
28615
28632
|
provider = "anthropic"
|
|
28616
28633
|
model = "claude-sonnet-4-20250514"
|
|
28634
|
+
# copy = true # Always copy answer to clipboard (override with --no-copy)
|
|
28617
28635
|
|
|
28618
28636
|
[providers.anthropic]
|
|
28619
28637
|
type = "anthropic"
|
|
@@ -67404,7 +67422,8 @@ async function main() {
|
|
|
67404
67422
|
context: context2,
|
|
67405
67423
|
systemPrompt: buildSystemPrompt(envInfo)
|
|
67406
67424
|
});
|
|
67407
|
-
|
|
67425
|
+
const shouldCopy = !args.options.noCopy && (args.options.copy || config2.default.copy);
|
|
67426
|
+
if (shouldCopy) {
|
|
67408
67427
|
await clipboardy_default.write(result.text);
|
|
67409
67428
|
logDebug2("Copied to clipboard", debug);
|
|
67410
67429
|
}
|