@qelos/aidev 0.1.15 → 0.1.16
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/.env.aidev.example +5 -0
- package/README.md +31 -0
- package/aidev.log +248 -0
- package/dist/__tests__/config.test.d.ts +2 -0
- package/dist/__tests__/config.test.d.ts.map +1 -0
- package/dist/__tests__/config.test.js +272 -0
- package/dist/__tests__/config.test.js.map +1 -0
- package/dist/__tests__/init.test.js +17 -0
- package/dist/__tests__/init.test.js.map +1 -1
- package/dist/__tests__/schedule.test.js +58 -0
- package/dist/__tests__/schedule.test.js.map +1 -1
- package/dist/cli.js +6 -0
- package/dist/cli.js.map +1 -1
- package/dist/commands/init.d.ts +1 -0
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +11 -0
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/schedule.d.ts +3 -0
- package/dist/commands/schedule.d.ts.map +1 -1
- package/dist/commands/schedule.js +93 -0
- package/dist/commands/schedule.js.map +1 -1
- package/dist/config.d.ts +19 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +96 -3
- package/dist/config.js.map +1 -1
- package/package.json +2 -2
package/dist/config.js
CHANGED
|
@@ -33,21 +33,114 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
33
33
|
};
|
|
34
34
|
})();
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.mergeNullDelimited = mergeNullDelimited;
|
|
37
|
+
exports.sourceShellProfile = sourceShellProfile;
|
|
38
|
+
exports.resolveEnvPath = resolveEnvPath;
|
|
39
|
+
exports.applyEnvFiles = applyEnvFiles;
|
|
36
40
|
exports.loadConfig = loadConfig;
|
|
37
41
|
const dotenv = __importStar(require("dotenv"));
|
|
38
42
|
const path = __importStar(require("node:path"));
|
|
39
43
|
const fs = __importStar(require("node:fs"));
|
|
44
|
+
const os = __importStar(require("node:os"));
|
|
45
|
+
const node_child_process_1 = require("node:child_process");
|
|
40
46
|
const git_1 = require("./git");
|
|
47
|
+
function mergeNullDelimited(stdout) {
|
|
48
|
+
for (const entry of stdout.split('\0')) {
|
|
49
|
+
const eq = entry.indexOf('=');
|
|
50
|
+
if (eq === -1)
|
|
51
|
+
continue;
|
|
52
|
+
const key = entry.slice(0, eq);
|
|
53
|
+
const val = entry.slice(eq + 1);
|
|
54
|
+
if (key && !(key in process.env)) {
|
|
55
|
+
process.env[key] = val;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
// profiles: list of rc file paths to source (injectable for tests; defaults to platform standard files)
|
|
60
|
+
function sourceShellProfile(profiles) {
|
|
61
|
+
const platform = process.platform;
|
|
62
|
+
if (platform === 'darwin' || platform === 'linux') {
|
|
63
|
+
const shell = platform === 'darwin' ? 'zsh' : (process.env.SHELL || 'bash');
|
|
64
|
+
const defaultProfiles = platform === 'darwin'
|
|
65
|
+
? ['~/.zprofile', '~/.zshrc']
|
|
66
|
+
: ['~/.profile', '~/.bash_profile', '~/.bashrc'];
|
|
67
|
+
const paths = profiles ?? defaultProfiles;
|
|
68
|
+
// Pass paths as positional args — no shell interpolation of path strings
|
|
69
|
+
const script = 'for f in "$@"; do source "$f" 2>/dev/null; done; env -0';
|
|
70
|
+
const result = (0, node_child_process_1.spawnSync)(shell, ['-c', script, '--', ...paths], {
|
|
71
|
+
encoding: 'utf8',
|
|
72
|
+
env: process.env,
|
|
73
|
+
});
|
|
74
|
+
if (result.status === 0 && result.stdout)
|
|
75
|
+
mergeNullDelimited(result.stdout);
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
if (platform === 'win32') {
|
|
79
|
+
// Read user-level env vars from the registry via PowerShell
|
|
80
|
+
const ps = '[System.Environment]::GetEnvironmentVariables("User").GetEnumerator() | ' +
|
|
81
|
+
'ForEach-Object { [System.Text.Encoding]::UTF8.GetBytes($_.Key + "=" + $_.Value + [char]0) | ' +
|
|
82
|
+
'[System.Console]::OpenStandardOutput().Write($_, 0, $_.Length) }';
|
|
83
|
+
const result = (0, node_child_process_1.spawnSync)('powershell', ['-NoProfile', '-Command', ps], {
|
|
84
|
+
encoding: 'buffer',
|
|
85
|
+
env: process.env,
|
|
86
|
+
});
|
|
87
|
+
if (result.status === 0 && result.stdout)
|
|
88
|
+
mergeNullDelimited(result.stdout.toString('utf8'));
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Merges env vars from a global extend file and a local project file into
|
|
93
|
+
* process.env. Priority order (highest → lowest):
|
|
94
|
+
* 1. process.env (already-set shell variables — never overwritten)
|
|
95
|
+
* 2. local .env.aidev values
|
|
96
|
+
* 3. AIDEV_ENV_EXTEND file values (global base)
|
|
97
|
+
*
|
|
98
|
+
* `envExtend` can be supplied explicitly (e.g. from process.env.AIDEV_ENV_EXTEND
|
|
99
|
+
* set by sourceShellProfile) OR discovered inside the local file itself.
|
|
100
|
+
*/
|
|
101
|
+
/**
|
|
102
|
+
* Resolves a path that may be absolute, `~/…`, or relative.
|
|
103
|
+
* Relative paths are resolved against `relativeBase` (the directory of the
|
|
104
|
+
* local env file, or CWD when the path comes from the shell environment).
|
|
105
|
+
*/
|
|
106
|
+
function resolveEnvPath(rawPath, relativeBase) {
|
|
107
|
+
if (rawPath.startsWith('~/') || rawPath === '~') {
|
|
108
|
+
return path.join(os.homedir(), rawPath.slice(2));
|
|
109
|
+
}
|
|
110
|
+
if (path.isAbsolute(rawPath))
|
|
111
|
+
return rawPath;
|
|
112
|
+
return path.resolve(relativeBase, rawPath);
|
|
113
|
+
}
|
|
114
|
+
function applyEnvFiles(localPath, envExtend) {
|
|
115
|
+
const localVars = localPath && fs.existsSync(localPath)
|
|
116
|
+
? dotenv.parse(fs.readFileSync(localPath, 'utf8'))
|
|
117
|
+
: {};
|
|
118
|
+
// Extend path: caller-supplied wins, then local file's own AIDEV_ENV_EXTEND entry
|
|
119
|
+
const rawExtend = envExtend || localVars['AIDEV_ENV_EXTEND'] || '';
|
|
120
|
+
// Relative paths in local file resolve against the local file's directory;
|
|
121
|
+
// paths from shell env resolve against CWD.
|
|
122
|
+
const extendBase = localPath ? path.dirname(localPath) : process.cwd();
|
|
123
|
+
const extendPath = rawExtend ? resolveEnvPath(rawExtend, extendBase) : '';
|
|
124
|
+
const extendVars = extendPath && fs.existsSync(extendPath)
|
|
125
|
+
? dotenv.parse(fs.readFileSync(extendPath, 'utf8'))
|
|
126
|
+
: {};
|
|
127
|
+
// local overrides extend; neither overrides already-set process.env values
|
|
128
|
+
const merged = { ...extendVars, ...localVars };
|
|
129
|
+
for (const [key, val] of Object.entries(merged)) {
|
|
130
|
+
if (!(key in process.env)) {
|
|
131
|
+
process.env[key] = val;
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
}
|
|
41
135
|
function loadConfig(customEnvPath) {
|
|
136
|
+
sourceShellProfile();
|
|
42
137
|
const envPath = customEnvPath
|
|
43
138
|
? path.resolve(customEnvPath)
|
|
44
139
|
: path.join(process.cwd(), '.env.aidev');
|
|
45
140
|
if (customEnvPath && !fs.existsSync(envPath)) {
|
|
46
141
|
throw new Error(`Env file not found: ${envPath}`);
|
|
47
142
|
}
|
|
48
|
-
|
|
49
|
-
dotenv.config({ path: envPath });
|
|
50
|
-
}
|
|
143
|
+
applyEnvFiles(fs.existsSync(envPath) ? envPath : undefined, process.env.AIDEV_ENV_EXTEND);
|
|
51
144
|
const provider = (process.env.PROVIDER || 'clickup').toLowerCase();
|
|
52
145
|
const required = provider === 'jira'
|
|
53
146
|
? ['JIRA_BASE_URL', 'JIRA_EMAIL', 'JIRA_API_TOKEN', 'JIRA_PROJECT']
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@qelos/aidev",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.16",
|
|
4
4
|
"description": "AI-powered task executor — polls ClickUp (and more) to implement tasks with Claude or Cursor",
|
|
5
5
|
"type": "commonjs",
|
|
6
6
|
"bin": {
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"node": ">=22.0.0"
|
|
12
12
|
},
|
|
13
13
|
"scripts": {
|
|
14
|
-
"build": "tsc && node -e \"if(process.platform!=='win32')require('fs').chmodSync('dist/cli.js',0o755)\"",
|
|
14
|
+
"build": "tsc && node -e \"if(process.platform!=='win32')require('node:fs').chmodSync('dist/cli.js',0o755)\"",
|
|
15
15
|
"dev": "tsx src/cli.ts",
|
|
16
16
|
"test": "node --require tsx/cjs --test 'src/__tests__/**/*.test.ts'",
|
|
17
17
|
"prepublishOnly": "npm run build"
|