@datagusto/cli 0.1.0 → 0.2.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 +4 -4
- package/dist/adapters/claude-code.d.ts +2 -1
- package/dist/adapters/claude-code.js +24 -31
- package/dist/adapters/claude-code.js.map +1 -1
- package/dist/adapters/kiro.js +39 -27
- package/dist/adapters/kiro.js.map +1 -1
- package/dist/adapters/types.d.ts +2 -0
- package/dist/adapters/types.js.map +1 -1
- package/dist/display.js +5 -1
- package/dist/display.js.map +1 -1
- package/dist/fs/atomic.d.ts +6 -0
- package/dist/fs/atomic.js +26 -2
- package/dist/fs/atomic.js.map +1 -1
- package/dist/platform.d.ts +24 -0
- package/dist/platform.js +61 -0
- package/dist/platform.js.map +1 -0
- package/dist/vendor.js +1 -1
- package/dist/vendor.js.map +1 -1
- package/package.json +3 -3
- package/vendor/manifest.json +1 -1
package/README.md
CHANGED
|
@@ -77,7 +77,7 @@ dg setup kiro --server-url https://datagusto.your-company.example # prompts
|
|
|
77
77
|
|
|
78
78
|
`dg setup kiro`:
|
|
79
79
|
|
|
80
|
-
1. checks that the workspace is a folder and that the Kiro CLI is installed (`kiro-cli` on `PATH`). If it isn't, setup stops and prints the install command (`curl -fsSL https://cli.kiro.dev/install | bash`,
|
|
80
|
+
1. checks that the workspace is a folder and that the Kiro CLI is installed (`kiro-cli` on `PATH`). If it isn't, setup stops and prints the install command (`curl -fsSL https://cli.kiro.dev/install | bash`, `brew install --cask kiro-cli` on macOS, or the Windows installer from kiro.dev). The Kiro IDE on its own is not enough
|
|
81
81
|
2. stops, before asking for the key, if the workspace already has a file at one of the paths below that dg didn't put there (most often the project's own `dist/index.js`)
|
|
82
82
|
3. reads the agent API key (see below) and checks it with whoami, exactly as for Claude Code. `--server-url` is the same flag
|
|
83
83
|
4. copies the bundled plugin to `<workspace>/dist/`, writes `<workspace>/kiro.json` (server URL + key, mode `0600`), and copies the five hook files to `<workspace>/.kiro/hooks/datagusto-*.json`
|
|
@@ -113,7 +113,7 @@ A flag value ends up in shell history and in `ps` output, so `dg` reads the key
|
|
|
113
113
|
|
|
114
114
|
## Bundled plugins
|
|
115
115
|
|
|
116
|
-
`npm run vendor` (`scripts/vendor-plugins.
|
|
116
|
+
`npm run vendor` (`scripts/vendor-plugins.mjs`) does a clean build of `../claude_code` and copies its runtime files into `vendor/claude_code/`: `dist/*.js`, `.claude-plugin/`, `hooks/`, `package.json` (needed for `"type": "module"`) and `README.md`. It does the same for `../kiro` into `vendor/kiro/`: `dist/*.js`, `.kiro/hooks/` and `package.json`. Then `scripts/write-vendor-manifest.mjs` records a sha256 for every file in `vendor/manifest.json`.
|
|
117
117
|
|
|
118
118
|
Setup refuses to install if the bundled files don't match the manifest, and `dg status` compares the installed files against the hashes copied into the install's marker. `vendor/` is git-ignored. `npm test` and `prepublishOnly` regenerate it, so the npm package always ships a fresh build.
|
|
119
119
|
|
|
@@ -134,7 +134,7 @@ Setup refuses to install if the bundled files don't match the manifest, and `dg
|
|
|
134
134
|
| `src/state/installs.ts` | `~/.datagusto/installs.json` ledger: paths and agent id only, dir `0700`, file `0600` |
|
|
135
135
|
| `src/fs/atomic.ts` | Crash-safe writes: temp file → chmod → rename |
|
|
136
136
|
| `src/vendor.ts` | Reads `vendor/manifest.json` and checks file hashes |
|
|
137
|
-
| `scripts/` | `vendor-plugins.
|
|
137
|
+
| `scripts/` | `vendor-plugins.mjs` and `write-vendor-manifest.mjs`, plus `dev-whoami-stub.mjs` (dev only, not in the npm package) |
|
|
138
138
|
|
|
139
139
|
`DATAGUSTO_HOME` overrides `~/.datagusto`. It's used by the tests and is handy when trying things locally.
|
|
140
140
|
|
|
@@ -146,7 +146,7 @@ npm test # vendors ../claude_code and ../kiro, builds, then runs node -
|
|
|
146
146
|
./bin/run.js --help
|
|
147
147
|
```
|
|
148
148
|
|
|
149
|
-
Needs Node 22 or later. The tests use a throwaway `HOME` and a local stand-in for the Datagusto API, so they never touch your real `~/.claude`. The Kiro tests use a throwaway workspace as well.
|
|
149
|
+
Needs Node 22 or later, on macOS, Linux or Windows. GitHub Actions runs the tests on all three (`.github/workflows/cli-test.yml`). The tests use a throwaway `HOME` and a local stand-in for the Datagusto API, so they never touch your real `~/.claude`. The Kiro tests use a throwaway workspace as well.
|
|
150
150
|
|
|
151
151
|
To try it by hand without touching your real home:
|
|
152
152
|
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { type ApiResult, type WhoamiResponse } from "../api/client.js";
|
|
2
|
+
import { type Platform } from "../platform.js";
|
|
2
3
|
import type { InstallRecord } from "../state/installs.js";
|
|
3
4
|
import { type HooksConfig } from "./claude-settings.js";
|
|
4
5
|
import { type AdapterContext, type AgentAdapter, type ClearResult, type DetectResult, type DoctorReport, type InstallPlan, type PluginConnection } from "./types.js";
|
|
@@ -43,5 +44,5 @@ export declare class ClaudeCodeAdapter implements AgentAdapter {
|
|
|
43
44
|
* becomes the absolute plugin folder (only plugins get that variable), and
|
|
44
45
|
* events `version` doesn't know are left out.
|
|
45
46
|
*/
|
|
46
|
-
export declare function settingsHooks(pluginHooks: HooksConfig,
|
|
47
|
+
export declare function settingsHooks(pluginHooks: HooksConfig, pluginDir: string, version: string | undefined, platform?: Platform): HooksConfig;
|
|
47
48
|
export declare function compareVersions(a: string, b: string): number;
|
|
@@ -29,12 +29,13 @@
|
|
|
29
29
|
import { execFile } from "node:child_process";
|
|
30
30
|
import { randomBytes } from "node:crypto";
|
|
31
31
|
import { access, constants, copyFile, lstat, mkdir, readFile, rename, rm, stat } from "node:fs/promises";
|
|
32
|
-
import {
|
|
32
|
+
import { dirname, join } from "node:path";
|
|
33
33
|
import { promisify } from "node:util";
|
|
34
34
|
import { DatagustoApiClient } from "../api/client.js";
|
|
35
35
|
import { explainApiError } from "../api/errors.js";
|
|
36
36
|
import { tildify } from "../display.js";
|
|
37
|
-
import { ensureDir, writeFileAtomic } from "../fs/atomic.js";
|
|
37
|
+
import { ensureDir, renameWithRetry, writeFileAtomic } from "../fs/atomic.js";
|
|
38
|
+
import { hasUnixPermissions, hookCommandPath, isWindows, onPath } from "../platform.js";
|
|
38
39
|
import { changedFiles, loadVendoredPlugin } from "../vendor.js";
|
|
39
40
|
import { addHooks, eventsWithHooks, readSettings, removeHooks, writeSettings, } from "./claude-settings.js";
|
|
40
41
|
import { AdapterError, } from "./types.js";
|
|
@@ -89,14 +90,16 @@ export class ClaudeCodeAdapter {
|
|
|
89
90
|
return join(ctx.homeDir, ".claude", "settings.json");
|
|
90
91
|
}
|
|
91
92
|
async detect(ctx) {
|
|
92
|
-
if ((await isDir(join(ctx.homeDir, ".claude"))) || (await onPath("claude", ctx.env))) {
|
|
93
|
+
if ((await isDir(join(ctx.homeDir, ".claude"))) || (await onPath("claude", ctx.env, ctx.platform))) {
|
|
93
94
|
return { found: true };
|
|
94
95
|
}
|
|
96
|
+
const install = isWindows(ctx.platform)
|
|
97
|
+
? "`irm https://claude.ai/install.ps1 | iex` in PowerShell"
|
|
98
|
+
: "`curl -fsSL https://claude.ai/install.sh | bash`";
|
|
95
99
|
return {
|
|
96
100
|
found: false,
|
|
97
101
|
detail: "Claude Code doesn't look installed: there's no `claude` command on your PATH and no ~/.claude folder. " +
|
|
98
|
-
|
|
99
|
-
"then run this again.",
|
|
102
|
+
`Install it with ${install}, start \`claude\` once to sign in, then run this again.`,
|
|
100
103
|
};
|
|
101
104
|
}
|
|
102
105
|
async plan(ctx, _conn) {
|
|
@@ -109,7 +112,7 @@ export class ClaudeCodeAdapter {
|
|
|
109
112
|
const update = owner.state === "ours";
|
|
110
113
|
// Read now so a broken settings.json stops setup before anything is written.
|
|
111
114
|
await readSettings(this.settingsPath(ctx));
|
|
112
|
-
const hooks = settingsHooks(await readVendoredHooks(join(ctx.vendorDir, VENDOR_NAME)), dir, version);
|
|
115
|
+
const hooks = settingsHooks(await readVendoredHooks(join(ctx.vendorDir, VENDOR_NAME)), dir, version, ctx.platform);
|
|
113
116
|
const changes = [
|
|
114
117
|
{
|
|
115
118
|
kind: "copy-dir",
|
|
@@ -152,9 +155,9 @@ export class ClaudeCodeAdapter {
|
|
|
152
155
|
throw foreignDirError(dir, ctx.homeDir);
|
|
153
156
|
const legacyOwner = await ownership(legacyDir);
|
|
154
157
|
// Work out the new settings.json before touching disk.
|
|
155
|
-
const hooks = settingsHooks(await readVendoredHooks(src), dir, version);
|
|
158
|
+
const hooks = settingsHooks(await readVendoredHooks(src), dir, version, ctx.platform);
|
|
156
159
|
const settings = await readSettings(this.settingsPath(ctx));
|
|
157
|
-
removeHooks(settings, pointsInto(dir, legacyDir));
|
|
160
|
+
removeHooks(settings, pointsInto(ctx.platform, dir, legacyDir));
|
|
158
161
|
addHooks(settings, hooks);
|
|
159
162
|
// A re-run keeps any other options the user put in claude-code.json
|
|
160
163
|
// (verbose, monitorOnly, …).
|
|
@@ -294,7 +297,8 @@ export class ClaudeCodeAdapter {
|
|
|
294
297
|
});
|
|
295
298
|
return report;
|
|
296
299
|
}
|
|
297
|
-
|
|
300
|
+
// Windows has no mode bits to check: the user profile's access rules keep the file private.
|
|
301
|
+
const fileMode = hasUnixPermissions(ctx.platform) ? (await stat(configPath)).mode & 0o777 : 0o600;
|
|
298
302
|
add(fileMode & 0o077
|
|
299
303
|
? {
|
|
300
304
|
name: "Config",
|
|
@@ -330,7 +334,7 @@ export class ClaudeCodeAdapter {
|
|
|
330
334
|
/** Drop hooks pointing into `dirs` from settings.json; true if any went. */
|
|
331
335
|
async removeSettingsHooks(ctx, dirs) {
|
|
332
336
|
const settings = await readSettings(this.settingsPath(ctx));
|
|
333
|
-
if (!settings.exists || removeHooks(settings, pointsInto(...dirs)) === 0)
|
|
337
|
+
if (!settings.exists || removeHooks(settings, pointsInto(ctx.platform, ...dirs)) === 0)
|
|
334
338
|
return false;
|
|
335
339
|
await writeSettings(settings);
|
|
336
340
|
return true;
|
|
@@ -369,7 +373,7 @@ export class ClaudeCodeAdapter {
|
|
|
369
373
|
throw err;
|
|
370
374
|
return { name, status: "fail", detail: `${err.message.split(",")[0]}, so Claude Code may be ignoring it.` };
|
|
371
375
|
}
|
|
372
|
-
const present = eventsWithHooks(settings, pointsInto(dir));
|
|
376
|
+
const present = eventsWithHooks(settings, pointsInto(ctx.platform, dir));
|
|
373
377
|
const missing = expected.filter((e) => !present.includes(e));
|
|
374
378
|
return missing.length === 0
|
|
375
379
|
? { name, status: "ok", detail: `${present.length} events in ~/.claude/settings.json` }
|
|
@@ -382,8 +386,9 @@ export class ClaudeCodeAdapter {
|
|
|
382
386
|
}
|
|
383
387
|
// -- Internal helpers ---------------------------------------------------------
|
|
384
388
|
/** Matches hook commands that run a script inside one of `dirs`. */
|
|
385
|
-
function pointsInto(...dirs) {
|
|
386
|
-
|
|
389
|
+
function pointsInto(platform, ...dirs) {
|
|
390
|
+
const prefixes = dirs.map((d) => `${hookCommandPath(d, platform)}/`);
|
|
391
|
+
return (command) => prefixes.some((p) => command.includes(p));
|
|
387
392
|
}
|
|
388
393
|
async function readVendoredHooks(pluginSrc) {
|
|
389
394
|
const parsed = JSON.parse(await readFile(join(pluginSrc, "hooks", "hooks.json"), "utf8"));
|
|
@@ -394,7 +399,8 @@ async function readVendoredHooks(pluginSrc) {
|
|
|
394
399
|
* becomes the absolute plugin folder (only plugins get that variable), and
|
|
395
400
|
* events `version` doesn't know are left out.
|
|
396
401
|
*/
|
|
397
|
-
export function settingsHooks(pluginHooks,
|
|
402
|
+
export function settingsHooks(pluginHooks, pluginDir, version, platform) {
|
|
403
|
+
const dir = hookCommandPath(pluginDir, platform);
|
|
398
404
|
if (/["$`\\]/.test(dir)) {
|
|
399
405
|
throw new AdapterError(`Your home folder path (${dir}) has characters dg can't safely put in a hook command ` +
|
|
400
406
|
'(a double quote, $, backtick or backslash).');
|
|
@@ -442,10 +448,10 @@ async function swapIntoPlace(staging, target) {
|
|
|
442
448
|
let backup;
|
|
443
449
|
if (await exists(target)) {
|
|
444
450
|
backup = `${staging}.old`;
|
|
445
|
-
await
|
|
451
|
+
await renameWithRetry(target, backup);
|
|
446
452
|
}
|
|
447
453
|
try {
|
|
448
|
-
await
|
|
454
|
+
await renameWithRetry(staging, target);
|
|
449
455
|
}
|
|
450
456
|
catch (err) {
|
|
451
457
|
if (backup)
|
|
@@ -507,23 +513,10 @@ async function isDir(path) {
|
|
|
507
513
|
return false;
|
|
508
514
|
}
|
|
509
515
|
}
|
|
510
|
-
async function onPath(bin, env) {
|
|
511
|
-
for (const dir of (env.PATH ?? "").split(delimiter)) {
|
|
512
|
-
if (!dir)
|
|
513
|
-
continue;
|
|
514
|
-
try {
|
|
515
|
-
await access(join(dir, bin), constants.X_OK);
|
|
516
|
-
return true;
|
|
517
|
-
}
|
|
518
|
-
catch {
|
|
519
|
-
// keep looking
|
|
520
|
-
}
|
|
521
|
-
}
|
|
522
|
-
return false;
|
|
523
|
-
}
|
|
524
516
|
async function runClaudeVersion(env) {
|
|
525
517
|
try {
|
|
526
|
-
|
|
518
|
+
// On Windows `claude` may be an npm .cmd shim, which only runs through a shell.
|
|
519
|
+
const { stdout } = await promisify(execFile)("claude", ["--version"], { env, timeout: 10_000, shell: isWindows() });
|
|
527
520
|
return stdout;
|
|
528
521
|
}
|
|
529
522
|
catch {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-code.js","sourceRoot":"","sources":["../../src/adapters/claude-code.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"claude-code.js","sourceRoot":"","sources":["../../src/adapters/claude-code.ts"],"names":[],"mappings":"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"}
|
package/dist/adapters/kiro.js
CHANGED
|
@@ -54,12 +54,13 @@
|
|
|
54
54
|
import { execFile } from "node:child_process";
|
|
55
55
|
import { randomBytes } from "node:crypto";
|
|
56
56
|
import { access, constants, copyFile, lstat, mkdir, readFile, rename, rm, rmdir, stat } from "node:fs/promises";
|
|
57
|
-
import { basename,
|
|
57
|
+
import { basename, dirname, join, posix, relative, sep } from "node:path";
|
|
58
58
|
import { promisify } from "node:util";
|
|
59
59
|
import { DatagustoApiClient } from "../api/client.js";
|
|
60
60
|
import { explainApiError } from "../api/errors.js";
|
|
61
61
|
import { tildify } from "../display.js";
|
|
62
|
-
import { writeFileAtomic } from "../fs/atomic.js";
|
|
62
|
+
import { renameWithRetry, writeFileAtomic } from "../fs/atomic.js";
|
|
63
|
+
import { hasUnixPermissions, isWindows, onPath } from "../platform.js";
|
|
63
64
|
import { changedFiles, hashFile, loadVendoredPlugin, VendorError } from "../vendor.js";
|
|
64
65
|
import { addAgentHooks, agentHooks, eventsWithAgentHooks, hashText, readAgentFile, removeAgentHooks, serializeAgent, writeAgentFile, } from "./kiro-agent.js";
|
|
65
66
|
import { AdapterError, } from "./types.js";
|
|
@@ -80,6 +81,13 @@ const AGENT_ENGINE_SETTING = "chat.agentEngine";
|
|
|
80
81
|
const UNSUPPORTED_ENGINE = "v1";
|
|
81
82
|
const DEFAULT_ENGINE = "v2";
|
|
82
83
|
const KIRO_CLI_INSTALL = "curl -fsSL https://cli.kiro.dev/install | bash";
|
|
84
|
+
/** How to install the Kiro CLI on this operating system. */
|
|
85
|
+
function kiroInstallHint(platform) {
|
|
86
|
+
if (isWindows(platform))
|
|
87
|
+
return "the Windows installer from kiro.dev";
|
|
88
|
+
const viaBrew = (platform ?? process.platform) === "darwin" ? " (or `brew install --cask kiro-cli`)" : "";
|
|
89
|
+
return `\`${KIRO_CLI_INSTALL}\`${viaBrew}`;
|
|
90
|
+
}
|
|
83
91
|
// On the default engine hooks belong to an agent, so only sessions running the default agent get them.
|
|
84
92
|
const AGENT_CAVEAT = "On the default engine only the default agent runs the hooks: a session started with `--agent <name>` " +
|
|
85
93
|
"or switched with `/agent` to another agent is not protected. Neither is one started with `--agent-engine v1`, " +
|
|
@@ -108,14 +116,13 @@ export class KiroAdapter {
|
|
|
108
116
|
};
|
|
109
117
|
}
|
|
110
118
|
// The Kiro IDE (`kiro`, ~/.kiro) isn't enough: the hooks are only verified on the CLI.
|
|
111
|
-
if (await onPath("kiro-cli", ctx.env))
|
|
119
|
+
if (await onPath("kiro-cli", ctx.env, ctx.platform))
|
|
112
120
|
return { found: true };
|
|
113
121
|
return {
|
|
114
122
|
found: false,
|
|
115
123
|
detail: "The Kiro CLI isn't installed: there's no `kiro-cli` command on your PATH. Datagusto's hooks run in " +
|
|
116
124
|
"the Kiro CLI, and the Kiro IDE on its own is not enough. Install it with " +
|
|
117
|
-
|
|
118
|
-
(process.platform === "darwin" ? " (or `brew install --cask kiro-cli`)" : "") +
|
|
125
|
+
kiroInstallHint(ctx.platform) +
|
|
119
126
|
", sign in with `kiro-cli login`, open a new terminal, then run this again.",
|
|
120
127
|
};
|
|
121
128
|
}
|
|
@@ -215,7 +222,7 @@ export class KiroAdapter {
|
|
|
215
222
|
for (const rel of hooks)
|
|
216
223
|
await copy(rel);
|
|
217
224
|
for (const { tmp, to } of staged)
|
|
218
|
-
await
|
|
225
|
+
await renameWithRetry(tmp, to);
|
|
219
226
|
// The agent config goes last and in one step: it may be the user's own
|
|
220
227
|
// file, so there must be nothing left to fail once it has changed.
|
|
221
228
|
await writeAgentFile(agent.file, agent.text);
|
|
@@ -293,9 +300,9 @@ export class KiroAdapter {
|
|
|
293
300
|
const add = (check) => report.checks.push(check);
|
|
294
301
|
const ws = record.workspace ?? workspaceOf(ctx);
|
|
295
302
|
const again = `Run \`dg setup kiro --workspace ${ws}\` again`;
|
|
296
|
-
add((await onPath("kiro-cli", ctx.env))
|
|
303
|
+
add((await onPath("kiro-cli", ctx.env, ctx.platform))
|
|
297
304
|
? { name: "Kiro CLI", status: "ok", detail: `found on your PATH. ${IDE_CAVEAT}` }
|
|
298
|
-
: { name: "Kiro CLI", status: "warn", detail: `\`kiro-cli\` isn't on your PATH. Install it with
|
|
305
|
+
: { name: "Kiro CLI", status: "warn", detail: `\`kiro-cli\` isn't on your PATH. Install it with ${kiroInstallHint(ctx.platform)}. ${IDE_CAVEAT}`,
|
|
299
306
|
});
|
|
300
307
|
const owner = await ownership(ws);
|
|
301
308
|
if (owner.state !== "ours") {
|
|
@@ -353,7 +360,8 @@ export class KiroAdapter {
|
|
|
353
360
|
});
|
|
354
361
|
return report;
|
|
355
362
|
}
|
|
356
|
-
|
|
363
|
+
// Windows has no mode bits to check: the user profile's access rules keep the file private.
|
|
364
|
+
const fileMode = hasUnixPermissions(ctx.platform) ? (await stat(configPath)).mode & 0o777 : 0o600;
|
|
357
365
|
if (fileMode & 0o077) {
|
|
358
366
|
add({
|
|
359
367
|
name: "Config",
|
|
@@ -619,7 +627,7 @@ async function refuseConflicts(ws, files, owner, homeDir) {
|
|
|
619
627
|
const ours = new Set(owner.state === "ours" ? [...Object.keys(owner.marker.files), CONFIG_FILE, MARKER_FILE] : []);
|
|
620
628
|
const conflicts = [];
|
|
621
629
|
for (const rel of [...Object.keys(files), CONFIG_FILE, MARKER_FILE]) {
|
|
622
|
-
if (!ours.has(rel) && (await occupied(
|
|
630
|
+
if (!ours.has(rel) && (await occupied(ws, rel)))
|
|
623
631
|
conflicts.push(rel);
|
|
624
632
|
}
|
|
625
633
|
if (conflicts.length > 0) {
|
|
@@ -696,14 +704,32 @@ async function exists(path) {
|
|
|
696
704
|
}
|
|
697
705
|
}
|
|
698
706
|
/** Like exists(), but a file where a parent folder should be also counts. */
|
|
699
|
-
|
|
707
|
+
/**
|
|
708
|
+
* True when something already sits at `rel` inside `ws`, or a file sits where
|
|
709
|
+
* one of its folders should be (a file called `dist` blocks `dist/index.js`).
|
|
710
|
+
* macOS and Linux report the second case as ENOTDIR; Windows says ENOENT, so
|
|
711
|
+
* the folders on the way are checked one by one.
|
|
712
|
+
*/
|
|
713
|
+
async function occupied(ws, rel) {
|
|
714
|
+
const parts = rel.split("/");
|
|
700
715
|
try {
|
|
701
|
-
await lstat(
|
|
716
|
+
await lstat(join(ws, ...parts));
|
|
702
717
|
return true;
|
|
703
718
|
}
|
|
704
719
|
catch (err) {
|
|
705
|
-
|
|
720
|
+
if (err.code === "ENOTDIR")
|
|
721
|
+
return true;
|
|
722
|
+
}
|
|
723
|
+
for (let i = 1; i < parts.length; i++) {
|
|
724
|
+
try {
|
|
725
|
+
if (!(await lstat(join(ws, ...parts.slice(0, i)))).isDirectory())
|
|
726
|
+
return true;
|
|
727
|
+
}
|
|
728
|
+
catch {
|
|
729
|
+
return false; // that folder doesn't exist, so nothing below it does either
|
|
730
|
+
}
|
|
706
731
|
}
|
|
732
|
+
return false;
|
|
707
733
|
}
|
|
708
734
|
async function isDir(path) {
|
|
709
735
|
try {
|
|
@@ -713,20 +739,6 @@ async function isDir(path) {
|
|
|
713
739
|
return false;
|
|
714
740
|
}
|
|
715
741
|
}
|
|
716
|
-
async function onPath(bin, env) {
|
|
717
|
-
for (const dir of (env.PATH ?? "").split(delimiter)) {
|
|
718
|
-
if (!dir)
|
|
719
|
-
continue;
|
|
720
|
-
try {
|
|
721
|
-
await access(join(dir, bin), constants.X_OK);
|
|
722
|
-
return true;
|
|
723
|
-
}
|
|
724
|
-
catch {
|
|
725
|
-
// keep looking
|
|
726
|
-
}
|
|
727
|
-
}
|
|
728
|
-
return false;
|
|
729
|
-
}
|
|
730
742
|
/** `git check-ignore`: exit 0 is ignored, 1 is not, anything else isn't a repo. */
|
|
731
743
|
async function runGitCheckIgnore(workspace, file, env) {
|
|
732
744
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kiro.js","sourceRoot":"","sources":["../../src/adapters/kiro.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"kiro.js","sourceRoot":"","sources":["../../src/adapters/kiro.ts"],"names":[],"mappings":"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"}
|
package/dist/adapters/types.d.ts
CHANGED
|
@@ -10,6 +10,8 @@ export interface AdapterContext {
|
|
|
10
10
|
vendorDir: string;
|
|
11
11
|
/** Used for PATH lookups; process.env outside tests. */
|
|
12
12
|
env: NodeJS.ProcessEnv;
|
|
13
|
+
/** The operating system; process.platform outside tests. */
|
|
14
|
+
platform?: NodeJS.Platform;
|
|
13
15
|
}
|
|
14
16
|
/** What the plugin's existing config file needs (claude-code.json, kiro.json). */
|
|
15
17
|
export interface PluginConnection {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/adapters/types.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,kCAAkC;AAClC,8EAA8E;AAC9E,EAAE;AACF,uEAAuE;AACvE,4EAA4E;AAC5E,uEAAuE;AACvE,yBAAyB;AAIzB,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,CAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/adapters/types.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,kCAAkC;AAClC,8EAA8E;AAC9E,EAAE;AACF,uEAAuE;AACvE,4EAA4E;AAC5E,uEAAuE;AACvE,yBAAyB;AAIzB,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,CAAU,CAAC;AAmErE,0EAA0E;AAC1E,MAAM,OAAO,YAAa,SAAQ,KAAK;IAC5B,IAAI,GAAG,cAAc,CAAC;CAChC"}
|
package/dist/display.js
CHANGED
|
@@ -3,6 +3,10 @@ import { sep } from "node:path";
|
|
|
3
3
|
export function tildify(path, homeDir) {
|
|
4
4
|
if (path === homeDir)
|
|
5
5
|
return "~";
|
|
6
|
-
|
|
6
|
+
if (!path.startsWith(homeDir + sep))
|
|
7
|
+
return path;
|
|
8
|
+
// ~\.kiro\settings on Windows reads oddly next to the .kiro/agents names dg uses
|
|
9
|
+
// everywhere else; PowerShell and cmd accept forward slashes.
|
|
10
|
+
return "~" + path.slice(homeDir.length).split(sep).join("/");
|
|
7
11
|
}
|
|
8
12
|
//# sourceMappingURL=display.js.map
|
package/dist/display.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"display.js","sourceRoot":"","sources":["../src/display.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAEhC,6EAA6E;AAC7E,MAAM,UAAU,OAAO,CAAC,IAAY,EAAE,OAAe;IACnD,IAAI,IAAI,KAAK,OAAO;QAAE,OAAO,GAAG,CAAC;IACjC,
|
|
1
|
+
{"version":3,"file":"display.js","sourceRoot":"","sources":["../src/display.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAEhC,6EAA6E;AAC7E,MAAM,UAAU,OAAO,CAAC,IAAY,EAAE,OAAe;IACnD,IAAI,IAAI,KAAK,OAAO;QAAE,OAAO,GAAG,CAAC;IACjC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,GAAG,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IACjD,iFAAiF;IACjF,8DAA8D;IAC9D,OAAO,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/D,CAAC"}
|
package/dist/fs/atomic.d.ts
CHANGED
|
@@ -15,3 +15,9 @@ export interface AtomicWriteOptions {
|
|
|
15
15
|
export declare function writeFileAtomic(path: string, data: string, options?: AtomicWriteOptions): Promise<void>;
|
|
16
16
|
/** Create `dir` (and parents) if missing and force it to `mode`. */
|
|
17
17
|
export declare function ensureDir(dir: string, mode?: number): Promise<void>;
|
|
18
|
+
/**
|
|
19
|
+
* rename(), retried briefly on Windows. There a file that another program has
|
|
20
|
+
* open (an editor, a virus scanner, Claude Code reading settings.json) can't be
|
|
21
|
+
* replaced for a moment, and rename fails with EPERM, EACCES or EBUSY.
|
|
22
|
+
*/
|
|
23
|
+
export declare function renameWithRetry(from: string, to: string, platform?: NodeJS.Platform): Promise<void>;
|
package/dist/fs/atomic.js
CHANGED
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
* target — rename is atomic on the same filesystem.
|
|
9
9
|
*/
|
|
10
10
|
import { chmod, mkdir, open, rename, rm } from "node:fs/promises";
|
|
11
|
+
import { setTimeout as sleep } from "node:timers/promises";
|
|
11
12
|
import { randomBytes } from "node:crypto";
|
|
12
13
|
import { basename, dirname, join } from "node:path";
|
|
13
14
|
/** Write `data` to `path` via temp file → chmod → rename. */
|
|
@@ -26,7 +27,7 @@ export async function writeFileAtomic(path, data, options = {}) {
|
|
|
26
27
|
}
|
|
27
28
|
// open()'s mode is filtered by the umask; set the final mode explicitly.
|
|
28
29
|
await chmod(tmp, mode);
|
|
29
|
-
await
|
|
30
|
+
await renameWithRetry(tmp, path);
|
|
30
31
|
}
|
|
31
32
|
catch (err) {
|
|
32
33
|
await rm(tmp, { force: true });
|
|
@@ -36,6 +37,29 @@ export async function writeFileAtomic(path, data, options = {}) {
|
|
|
36
37
|
/** Create `dir` (and parents) if missing and force it to `mode`. */
|
|
37
38
|
export async function ensureDir(dir, mode = 0o700) {
|
|
38
39
|
await mkdir(dir, { recursive: true, mode });
|
|
39
|
-
|
|
40
|
+
// Windows folders have no mode bits; the user profile's access rules apply.
|
|
41
|
+
if (process.platform !== "win32")
|
|
42
|
+
await chmod(dir, mode);
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* rename(), retried briefly on Windows. There a file that another program has
|
|
46
|
+
* open (an editor, a virus scanner, Claude Code reading settings.json) can't be
|
|
47
|
+
* replaced for a moment, and rename fails with EPERM, EACCES or EBUSY.
|
|
48
|
+
*/
|
|
49
|
+
export async function renameWithRetry(from, to, platform = process.platform) {
|
|
50
|
+
const delays = platform === "win32" ? [50, 100, 200, 400, 800] : [];
|
|
51
|
+
for (let attempt = 0;; attempt++) {
|
|
52
|
+
try {
|
|
53
|
+
await rename(from, to);
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
catch (err) {
|
|
57
|
+
const code = err.code;
|
|
58
|
+
const transient = code === "EPERM" || code === "EACCES" || code === "EBUSY";
|
|
59
|
+
if (!transient || attempt >= delays.length)
|
|
60
|
+
throw err;
|
|
61
|
+
await sleep(delays[attempt]);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
40
64
|
}
|
|
41
65
|
//# sourceMappingURL=atomic.js.map
|
package/dist/fs/atomic.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"atomic.js","sourceRoot":"","sources":["../../src/fs/atomic.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAOpD,6DAA6D;AAC7D,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,IAAY,EACZ,IAAY,EACZ,UAA8B,EAAE;IAEhC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,KAAK,CAAC;IACnC,MAAM,GAAG,GAAG,IAAI,CACd,OAAO,CAAC,IAAI,CAAC,EACb,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,GAAG,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAC1E,CAAC;IAEF,IAAI,CAAC;QACH,yEAAyE;QACzE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAC3C,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACrC,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;QACtB,CAAC;gBAAS,CAAC;YACT,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QACvB,CAAC;QACD,yEAAyE;QACzE,MAAM,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACvB,MAAM,
|
|
1
|
+
{"version":3,"file":"atomic.js","sourceRoot":"","sources":["../../src/fs/atomic.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,UAAU,IAAI,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAOpD,6DAA6D;AAC7D,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,IAAY,EACZ,IAAY,EACZ,UAA8B,EAAE;IAEhC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,KAAK,CAAC;IACnC,MAAM,GAAG,GAAG,IAAI,CACd,OAAO,CAAC,IAAI,CAAC,EACb,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,GAAG,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAC1E,CAAC;IAEF,IAAI,CAAC;QACH,yEAAyE;QACzE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAC3C,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACrC,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;QACtB,CAAC;gBAAS,CAAC;YACT,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QACvB,CAAC;QACD,yEAAyE;QACzE,MAAM,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACvB,MAAM,eAAe,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACnC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/B,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC;AAED,oEAAoE;AACpE,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,GAAW,EAAE,IAAI,GAAG,KAAK;IACvD,MAAM,KAAK,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5C,4EAA4E;IAC5E,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO;QAAE,MAAM,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;AAC3D,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,IAAY,EAAE,EAAU,EAAE,WAA4B,OAAO,CAAC,QAAQ;IAC1G,MAAM,MAAM,GAAG,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACpE,KAAK,IAAI,OAAO,GAAG,CAAC,GAAI,OAAO,EAAE,EAAE,CAAC;QAClC,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACvB,OAAO;QACT,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,IAAI,GAAI,GAA6B,CAAC,IAAI,CAAC;YACjD,MAAM,SAAS,GAAG,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,OAAO,CAAC;YAC5E,IAAI,CAAC,SAAS,IAAI,OAAO,IAAI,MAAM,CAAC,MAAM;gBAAE,MAAM,GAAG,CAAC;YACtD,MAAM,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export type Platform = NodeJS.Platform;
|
|
2
|
+
/** True on Windows. */
|
|
3
|
+
export declare function isWindows(platform?: Platform): boolean;
|
|
4
|
+
/**
|
|
5
|
+
* True when `bin` can be run from one of the PATH folders in `env`.
|
|
6
|
+
*
|
|
7
|
+
* Windows has no execute bit and finds programs by extension (`kiro-cli.exe`,
|
|
8
|
+
* `claude.cmd`), so there it checks each PATHEXT extension and only that the
|
|
9
|
+
* file exists.
|
|
10
|
+
*/
|
|
11
|
+
export declare function onPath(bin: string, env: NodeJS.ProcessEnv, platform?: Platform): Promise<boolean>;
|
|
12
|
+
/**
|
|
13
|
+
* A path as it should appear inside a hook command. On Windows, Claude Code
|
|
14
|
+
* runs hook commands in Git Bash, or in PowerShell when Git Bash isn't
|
|
15
|
+
* installed; both accept forward slashes, and Git Bash would treat
|
|
16
|
+
* backslashes as escapes. Elsewhere the path is unchanged.
|
|
17
|
+
*/
|
|
18
|
+
export declare function hookCommandPath(path: string, platform?: Platform): string;
|
|
19
|
+
/**
|
|
20
|
+
* Whether Unix file permissions mean anything here. On Windows a file's
|
|
21
|
+
* privacy comes from the user profile's access rules, not from mode bits, and
|
|
22
|
+
* stat() reports every file as 0o666 or 0o444.
|
|
23
|
+
*/
|
|
24
|
+
export declare function hasUnixPermissions(platform?: Platform): boolean;
|
package/dist/platform.js
ADDED
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
// ---------------------------------------------------------------------------
|
|
2
|
+
// dg CLI - operating-system differences
|
|
3
|
+
// ---------------------------------------------------------------------------
|
|
4
|
+
//
|
|
5
|
+
// dg runs on macOS, Linux and Windows. The few places where Windows behaves
|
|
6
|
+
// differently live here, so the adapters stay free of platform checks. Every
|
|
7
|
+
// helper takes the platform as an argument (defaulting to the real one), so
|
|
8
|
+
// the Windows branches are tested on any machine.
|
|
9
|
+
import { access, constants } from "node:fs/promises";
|
|
10
|
+
import { join } from "node:path";
|
|
11
|
+
/** True on Windows. */
|
|
12
|
+
export function isWindows(platform = process.platform) {
|
|
13
|
+
return platform === "win32";
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* True when `bin` can be run from one of the PATH folders in `env`.
|
|
17
|
+
*
|
|
18
|
+
* Windows has no execute bit and finds programs by extension (`kiro-cli.exe`,
|
|
19
|
+
* `claude.cmd`), so there it checks each PATHEXT extension and only that the
|
|
20
|
+
* file exists.
|
|
21
|
+
*/
|
|
22
|
+
export async function onPath(bin, env, platform = process.platform) {
|
|
23
|
+
const windows = isWindows(platform);
|
|
24
|
+
// On Windows the variable is usually spelt "Path"; process.env hides that, a copied env doesn't.
|
|
25
|
+
const pathVar = env.PATH ?? (windows ? env.Path : undefined) ?? "";
|
|
26
|
+
const names = windows
|
|
27
|
+
? [bin, ...(env.PATHEXT ?? ".COM;.EXE;.BAT;.CMD").split(";").filter(Boolean).map((ext) => bin + ext.toLowerCase())]
|
|
28
|
+
: [bin];
|
|
29
|
+
for (const dir of pathVar.split(windows ? ";" : ":")) {
|
|
30
|
+
if (!dir)
|
|
31
|
+
continue;
|
|
32
|
+
for (const name of names) {
|
|
33
|
+
try {
|
|
34
|
+
await access(join(dir, name), windows ? constants.F_OK : constants.X_OK);
|
|
35
|
+
return true;
|
|
36
|
+
}
|
|
37
|
+
catch {
|
|
38
|
+
// keep looking
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
return false;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* A path as it should appear inside a hook command. On Windows, Claude Code
|
|
46
|
+
* runs hook commands in Git Bash, or in PowerShell when Git Bash isn't
|
|
47
|
+
* installed; both accept forward slashes, and Git Bash would treat
|
|
48
|
+
* backslashes as escapes. Elsewhere the path is unchanged.
|
|
49
|
+
*/
|
|
50
|
+
export function hookCommandPath(path, platform = process.platform) {
|
|
51
|
+
return isWindows(platform) ? path.replace(/\\/g, "/") : path;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Whether Unix file permissions mean anything here. On Windows a file's
|
|
55
|
+
* privacy comes from the user profile's access rules, not from mode bits, and
|
|
56
|
+
* stat() reports every file as 0o666 or 0o444.
|
|
57
|
+
*/
|
|
58
|
+
export function hasUnixPermissions(platform = process.platform) {
|
|
59
|
+
return !isWindows(platform);
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=platform.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,wCAAwC;AACxC,8EAA8E;AAC9E,EAAE;AACF,4EAA4E;AAC5E,6EAA6E;AAC7E,4EAA4E;AAC5E,kDAAkD;AAElD,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAIjC,uBAAuB;AACvB,MAAM,UAAU,SAAS,CAAC,WAAqB,OAAO,CAAC,QAAQ;IAC7D,OAAO,QAAQ,KAAK,OAAO,CAAC;AAC9B,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,GAAW,EAAE,GAAsB,EAAE,WAAqB,OAAO,CAAC,QAAQ;IACrG,MAAM,OAAO,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;IACpC,iGAAiG;IACjG,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;IACnE,MAAM,KAAK,GAAG,OAAO;QACnB,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,OAAO,IAAI,qBAAqB,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;QACnH,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACV,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;QACrD,IAAI,CAAC,GAAG;YAAE,SAAS;QACnB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC;gBACH,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gBACzE,OAAO,IAAI,CAAC;YACd,CAAC;YAAC,MAAM,CAAC;gBACP,eAAe;YACjB,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,IAAY,EAAE,WAAqB,OAAO,CAAC,QAAQ;IACjF,OAAO,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC/D,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,WAAqB,OAAO,CAAC,QAAQ;IACtE,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;AAC9B,CAAC"}
|
package/dist/vendor.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
// dg CLI - bundled plugin builds (cli/vendor/)
|
|
3
3
|
// ---------------------------------------------------------------------------
|
|
4
4
|
//
|
|
5
|
-
// scripts/vendor-plugins.
|
|
5
|
+
// scripts/vendor-plugins.mjs copies each plugin's runtime files into
|
|
6
6
|
// vendor/<plugin>/ and hashes them into vendor/manifest.json. Setup checks
|
|
7
7
|
// the copies against the manifest before installing them, and doctor checks
|
|
8
8
|
// the installed files against the hashes recorded at install time.
|
package/dist/vendor.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vendor.js","sourceRoot":"","sources":["../src/vendor.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,+CAA+C;AAC/C,8EAA8E;AAC9E,EAAE;AACF,
|
|
1
|
+
{"version":3,"file":"vendor.js","sourceRoot":"","sources":["../src/vendor.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@datagusto/cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "Connect a coding agent (Claude Code, Kiro) to your company's Datagusto server with one command",
|
|
5
5
|
"homepage": "https://github.com/datagusto/safety-platform-plugins/tree/main/cli#readme",
|
|
6
6
|
"repository": {
|
|
@@ -18,10 +18,10 @@
|
|
|
18
18
|
},
|
|
19
19
|
"scripts": {
|
|
20
20
|
"typecheck": "tsc --noEmit",
|
|
21
|
-
"vendor": "
|
|
21
|
+
"vendor": "node scripts/vendor-plugins.mjs",
|
|
22
22
|
"build": "tsc",
|
|
23
23
|
"prepublishOnly": "npm run vendor && npm run build",
|
|
24
|
-
"test": "npm run vendor && npm run build && node --test tests/*.test.mjs"
|
|
24
|
+
"test": "npm run vendor && npm run build && node --test --test-timeout=600000 tests/*.test.mjs"
|
|
25
25
|
},
|
|
26
26
|
"files": [
|
|
27
27
|
"bin/",
|