@nodesify/astria 1.1.1 → 1.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.
Files changed (81) hide show
  1. package/README.md +2 -2
  2. package/dist/commands/change-review.d.ts +73 -0
  3. package/dist/commands/change-review.d.ts.map +1 -0
  4. package/dist/commands/change-review.js +15 -0
  5. package/dist/commands/change-review.js.map +1 -0
  6. package/dist/commands/doctor.d.ts +6 -0
  7. package/dist/commands/doctor.d.ts.map +1 -0
  8. package/dist/commands/doctor.js +139 -0
  9. package/dist/commands/doctor.js.map +1 -0
  10. package/dist/commands/global.d.ts.map +1 -1
  11. package/dist/commands/global.js +3 -1
  12. package/dist/commands/global.js.map +1 -1
  13. package/dist/commands/indexing-profile.d.ts +14 -0
  14. package/dist/commands/indexing-profile.d.ts.map +1 -0
  15. package/dist/commands/indexing-profile.js +74 -0
  16. package/dist/commands/indexing-profile.js.map +1 -0
  17. package/dist/commands/install.d.ts.map +1 -1
  18. package/dist/commands/install.js +52 -53
  19. package/dist/commands/install.js.map +1 -1
  20. package/dist/commands/merge-driver.d.ts.map +1 -1
  21. package/dist/commands/merge-driver.js +23 -11
  22. package/dist/commands/merge-driver.js.map +1 -1
  23. package/dist/commands/merge-gate.d.ts.map +1 -1
  24. package/dist/commands/merge-gate.js +10 -7
  25. package/dist/commands/merge-gate.js.map +1 -1
  26. package/dist/commands/prs.d.ts.map +1 -1
  27. package/dist/commands/prs.js +139 -278
  28. package/dist/commands/prs.js.map +1 -1
  29. package/dist/commands/query.d.ts.map +1 -1
  30. package/dist/commands/query.js +13 -3
  31. package/dist/commands/query.js.map +1 -1
  32. package/dist/commands/risk.d.ts +2 -3
  33. package/dist/commands/risk.d.ts.map +1 -1
  34. package/dist/commands/risk.js +5 -12
  35. package/dist/commands/risk.js.map +1 -1
  36. package/dist/commands/run.d.ts.map +1 -1
  37. package/dist/commands/run.js +2 -9
  38. package/dist/commands/run.js.map +1 -1
  39. package/dist/commands/status.d.ts.map +1 -1
  40. package/dist/commands/status.js +45 -100
  41. package/dist/commands/status.js.map +1 -1
  42. package/dist/commands/update.d.ts +3 -1
  43. package/dist/commands/update.d.ts.map +1 -1
  44. package/dist/commands/update.js +3 -10
  45. package/dist/commands/update.js.map +1 -1
  46. package/dist/commands/watch.d.ts +1 -0
  47. package/dist/commands/watch.d.ts.map +1 -1
  48. package/dist/commands/watch.js +64 -21
  49. package/dist/commands/watch.js.map +1 -1
  50. package/dist/index.d.ts.map +1 -1
  51. package/dist/index.js +21 -4
  52. package/dist/index.js.map +1 -1
  53. package/dist/install/atomic.d.ts +3 -0
  54. package/dist/install/atomic.d.ts.map +1 -1
  55. package/dist/install/atomic.js +59 -20
  56. package/dist/install/atomic.js.map +1 -1
  57. package/dist/install/hooks.d.ts +2 -2
  58. package/dist/install/hooks.d.ts.map +1 -1
  59. package/dist/install/hooks.js +5 -3
  60. package/dist/install/hooks.js.map +1 -1
  61. package/dist/install/index.d.ts +5 -3
  62. package/dist/install/index.d.ts.map +1 -1
  63. package/dist/install/index.js +173 -222
  64. package/dist/install/index.js.map +1 -1
  65. package/dist/install/platforms.d.ts +2 -3
  66. package/dist/install/platforms.d.ts.map +1 -1
  67. package/dist/install/platforms.js +1 -4
  68. package/dist/install/platforms.js.map +1 -1
  69. package/dist/install/settings-inject.d.ts +11 -4
  70. package/dist/install/settings-inject.d.ts.map +1 -1
  71. package/dist/install/settings-inject.js +60 -37
  72. package/dist/install/settings-inject.js.map +1 -1
  73. package/dist/install/state.d.ts +12 -0
  74. package/dist/install/state.d.ts.map +1 -0
  75. package/dist/install/state.js +85 -0
  76. package/dist/install/state.js.map +1 -0
  77. package/dist/native.d.ts +3 -0
  78. package/dist/native.d.ts.map +1 -1
  79. package/dist/native.js +22 -18
  80. package/dist/native.js.map +1 -1
  81. package/package.json +10 -7
package/README.md CHANGED
@@ -10,8 +10,6 @@ npm install -g @nodesify/astria
10
10
 
11
11
  Requires Node.js >= 22. No Rust toolchain needed — ships prebuilt native binaries for macOS, Linux, and Windows.
12
12
 
13
- > **Migrating from `@nodesify/graphify`?** Run `astria migrate` once (renames `.graphify/` → `.astria/` and the global store), then `astria install` to refresh AI-tool skills and hooks. `GRAPHIFY_*` env vars keep working; `ASTRIA_*` takes precedence.
14
-
15
13
  ## Usage
16
14
 
17
15
  ```bash
@@ -71,3 +69,5 @@ Place a `.astriaignore` file in your project root (gitignore syntax) to exclude
71
69
  ## License
72
70
 
73
71
  MIT
72
+
73
+ Installation defaults to project scope: `astria install --platform codex --scope project`. Use `--scope user` explicitly for user-wide integrations. Run `astria doctor` after setup or upgrades. See the [installation lifecycle guide](https://nodesify.github.io/astria/docs/guides/installation-lifecycle) for supported platforms, upgrade, backup/restore and complete removal.
@@ -0,0 +1,73 @@
1
+ export interface ChangedDeclaration {
2
+ id: string;
3
+ label: string;
4
+ file: string;
5
+ line: number;
6
+ endLine: number;
7
+ kind: string;
8
+ snapshot: 'before' | 'after';
9
+ change: string;
10
+ owners: string[];
11
+ ownerSource: string | null;
12
+ }
13
+ export interface ChangeConsumer {
14
+ id: string;
15
+ label: string;
16
+ file: string;
17
+ line: number | null;
18
+ snapshot: 'before' | 'after';
19
+ changedId: string;
20
+ depth: number;
21
+ evidence: string;
22
+ stillPresent: boolean;
23
+ isTest: boolean;
24
+ owners: string[];
25
+ ownerSource: string | null;
26
+ path: Array<{
27
+ from: string;
28
+ to: string;
29
+ relation: string;
30
+ evidence: string;
31
+ file: string;
32
+ line: number | null;
33
+ }>;
34
+ }
35
+ export interface ChangeReview {
36
+ schemaVersion: 1;
37
+ score: number | null;
38
+ level: string;
39
+ scope: string;
40
+ baseCommit: string;
41
+ requestedBaseCommit: string;
42
+ headCommit: string | null;
43
+ beforeIdentity: string;
44
+ afterIdentity: string;
45
+ changedFiles: Array<{
46
+ status: string;
47
+ oldPath: string | null;
48
+ newPath: string | null;
49
+ }>;
50
+ declarations: ChangedDeclaration[];
51
+ consumers: ChangeConsumer[];
52
+ impacted: number;
53
+ directConsumers: number;
54
+ inferredConsumers: number;
55
+ testConsumers: number;
56
+ coverageComplete: boolean;
57
+ coverageIssues: string[];
58
+ unresolvedBefore: number;
59
+ unresolvedAfter: number;
60
+ filesIndexedBefore: number;
61
+ filesIndexedAfter: number;
62
+ indexingMs: number;
63
+ text: string;
64
+ }
65
+ export interface ReviewOptions {
66
+ graph: string;
67
+ staged?: boolean;
68
+ base?: string;
69
+ head?: string;
70
+ }
71
+ /** One native engine serves local review, merge gates, and the PR dashboard. */
72
+ export declare function changeReview(opts: ReviewOptions): ChangeReview;
73
+ //# sourceMappingURL=change-review.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"change-review.d.ts","sourceRoot":"","sources":["../../src/commands/change-review.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IACvE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAC3D,MAAM,EAAE,MAAM,EAAE,CAAC;IAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9C;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7D,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IACjF,YAAY,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAC;IAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IACrF,IAAI,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC,CAAC;CAClH;AAED,MAAM,WAAW,YAAY;IAC3B,aAAa,EAAE,CAAC,CAAC;IACjB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IACnD,UAAU,EAAE,MAAM,CAAC;IAAC,mBAAmB,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3E,cAAc,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC;IAC9C,YAAY,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC,CAAC;IACxF,YAAY,EAAE,kBAAkB,EAAE,CAAC;IAAC,SAAS,EAAE,cAAc,EAAE,CAAC;IAChE,QAAQ,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,MAAM,CAAC;IAAC,iBAAiB,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC;IAC5F,gBAAgB,EAAE,OAAO,CAAC;IAAC,cAAc,EAAE,MAAM,EAAE,CAAC;IACpD,gBAAgB,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,MAAM,CAAC;IAClD,kBAAkB,EAAE,MAAM,CAAC;IAAC,iBAAiB,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAC1E,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,aAAa;IAAG,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE;AAEhG,gFAAgF;AAChF,wBAAgB,YAAY,CAAC,IAAI,EAAE,aAAa,GAAG,YAAY,CAM9D"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.changeReview = changeReview;
4
+ const native_1 = require("../native");
5
+ /** One native engine serves local review, merge gates, and the PR dashboard. */
6
+ function changeReview(opts) {
7
+ if (opts.head && !opts.base)
8
+ throw new Error('--head requires --base');
9
+ if (opts.staged && opts.base)
10
+ throw new Error('--staged cannot be combined with --base');
11
+ const result = (0, native_1.riskReport)(opts.graph, opts.staged === true, opts.base, opts.base ? (opts.head ?? 'HEAD') : undefined);
12
+ const report = JSON.parse(result.reportJson);
13
+ return { ...report, text: result.text };
14
+ }
15
+ //# sourceMappingURL=change-review.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"change-review.js","sourceRoot":"","sources":["../../src/commands/change-review.ts"],"names":[],"mappings":";;;AAAA,sCAAuC;AA+BvC,gFAAgF;AAChF,sBAA6B,IAAmB;IAC9C,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;IACvE,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;IACzF,MAAM,MAAM,GAAG,IAAA,mBAAU,EAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACtH,MAAM,MAAM,GAAiB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAC3D,OAAO,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;AAC1C,CAAC"}
@@ -0,0 +1,6 @@
1
+ export declare function doctorCommand(opts: {
2
+ graph: string;
3
+ scope: string;
4
+ json?: boolean;
5
+ }): void;
6
+ //# sourceMappingURL=doctor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAwBA,wBAAgB,aAAa,CAAC,IAAI,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,CAuD1F"}
@@ -0,0 +1,139 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.doctorCommand = doctorCommand;
37
+ const fs = __importStar(require("fs"));
38
+ const path = __importStar(require("path"));
39
+ const native_1 = require("../native");
40
+ const state_1 = require("../install/state");
41
+ const platforms_1 = require("../install/platforms");
42
+ const settings_inject_1 = require("../install/settings-inject");
43
+ const hooks_1 = require("../install/hooks");
44
+ const crypto_1 = require("crypto");
45
+ function executableOnPath(name) {
46
+ const extensions = process.platform === 'win32' ? (process.env.PATHEXT ?? '.EXE;.CMD;.BAT').split(';') : [''];
47
+ for (const dir of (process.env.PATH ?? '').split(path.delimiter)) {
48
+ if (!dir)
49
+ continue;
50
+ for (const extension of extensions) {
51
+ const file = path.join(dir.replace(/^"|"$/g, ''), name + extension);
52
+ try {
53
+ fs.accessSync(file, process.platform === 'win32' ? fs.constants.R_OK : fs.constants.X_OK);
54
+ if (fs.statSync(file).isFile())
55
+ return file;
56
+ }
57
+ catch { /* Try next PATH entry. */ }
58
+ }
59
+ }
60
+ return undefined;
61
+ }
62
+ function doctorCommand(opts) {
63
+ const checks = [];
64
+ const add = (name, status, detail) => checks.push({ name, status, detail });
65
+ const check = (name, work) => { try {
66
+ work();
67
+ }
68
+ catch (error) {
69
+ add(name, 'error', error.message);
70
+ } };
71
+ check('node', () => add('node', Number(process.versions.node.split('.')[0]) >= 22 ? 'ok' : 'error', `${process.version} at ${process.execPath}; requires Node 22+`));
72
+ check('native', () => {
73
+ const embed = (0, native_1.embeddingsSupported)();
74
+ add('native', 'ok', `Loaded ${(0, native_1.getPlatformSuffix)()}`);
75
+ add('embeddings', embed ? 'ok' : 'warning', embed ? 'Local embeddings supported; doctor does not download the model' : 'This build has no local embedding runtime; omit --embed');
76
+ });
77
+ const executable = executableOnPath('astria');
78
+ add('executable', executable ? 'ok' : 'error', executable ? `PATH resolves to ${executable}; check the editor uses this same PATH and restart it after upgrades` : 'astria is absent from PATH; install globally or expose the local node_modules/.bin directory to the editor');
79
+ check('installation', () => {
80
+ const scope = (0, state_1.parseScope)(opts.scope);
81
+ const root = (0, state_1.installRoot)(opts.graph, scope);
82
+ const state = (0, state_1.readInstallState)(opts.graph, scope);
83
+ add('installation', state.platforms.length ? 'ok' : 'warning', `${scope}: ${state.platforms.join(', ') || 'no recorded integrations'}`);
84
+ for (const platform of state.platforms.length ? state.platforms : platforms_1.PLATFORM_NAMES) {
85
+ const cfg = platforms_1.PLATFORMS[platform];
86
+ if (!cfg) {
87
+ add(platform, 'error', 'Unknown platform in installation record');
88
+ continue;
89
+ }
90
+ if (cfg.mcp && (scope === 'project' || platform === 'codex'))
91
+ check(`${platform} MCP`, () => {
92
+ const result = (0, settings_inject_1.inspectAgentMcp)(root, cfg.mcp);
93
+ if (!result.present && !state.platforms.includes(platform))
94
+ return;
95
+ add(`${platform} MCP`, !result.present ? 'error' : result.managed ? 'ok' : 'warning', `${result.file}: ${result.present ? (result.managed ? 'registered' : 'customized; inspect command and arguments') : 'missing; rerun install'}`);
96
+ });
97
+ }
98
+ for (const [file, expected] of Object.entries(state.files))
99
+ check('managed file', () => {
100
+ const actual = (0, crypto_1.createHash)('sha256').update(fs.readFileSync(file, 'utf8')).digest('hex');
101
+ add('managed file', actual === expected ? 'ok' : 'warning', `${file}: ${actual === expected ? 'intact' : 'customized; install/uninstall will preserve it and request manual resolution'}`);
102
+ });
103
+ let existing = root;
104
+ while (!fs.existsSync(existing) && path.dirname(existing) !== existing)
105
+ existing = path.dirname(existing);
106
+ fs.accessSync(existing, fs.constants.W_OK);
107
+ for (const file of Object.keys(state.files)) {
108
+ let target = file;
109
+ while (!fs.existsSync(target) && path.dirname(target) !== target)
110
+ target = path.dirname(target);
111
+ fs.accessSync(target, fs.constants.W_OK);
112
+ }
113
+ add('permissions', 'ok', `${existing} is writable; editor sandbox permissions may differ`);
114
+ });
115
+ check('git hooks', () => {
116
+ const hooks = (0, hooks_1.statusGitHooks)(path.resolve(opts.graph));
117
+ add('git hooks', hooks.some(h => /unsafe|legacy|Not a git/.test(h)) ? 'warning' : 'ok', hooks.join('; '));
118
+ });
119
+ check('graph', () => {
120
+ if (!fs.existsSync(path.join(opts.graph, '.astria', 'db.sqlite'))) {
121
+ add('graph', 'warning', 'No graph; run astria run . --backend none');
122
+ return;
123
+ }
124
+ const info = (0, native_1.graphBuildInfo)(path.resolve(opts.graph));
125
+ const outdated = info.extractionHashVersion !== info.currentExtractionHashVersion;
126
+ add('graph', outdated ? 'warning' : 'ok', outdated ? 'Extraction rules changed; run astria update .' : `Graph built by Astria ${info.astriaVersion ?? 'unknown'}`);
127
+ if (info.staleExternalIndexes.length)
128
+ add('external indexes', 'warning', `Reimport: ${info.staleExternalIndexes.join(', ')}`);
129
+ });
130
+ const ok = !checks.some(c => c.status === 'error');
131
+ if (opts.json)
132
+ console.log(JSON.stringify({ ok, checks }, null, 2));
133
+ else
134
+ for (const c of checks)
135
+ console.log(`${c.status.toUpperCase()} ${c.name}: ${c.detail}`);
136
+ if (!ok)
137
+ process.exitCode = 1;
138
+ }
139
+ //# sourceMappingURL=doctor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"global.d.ts","sourceRoot":"","sources":["../../src/commands/global.ts"],"names":[],"mappings":"AAEA,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;IAAE,EAAE,CAAC,EAAE,MAAM,CAAA;CAAE,iBAYzE;AAED,wBAAsB,mBAAmB,CAAC,GAAG,EAAE,MAAM,iBAQpD;AAED,wBAAsB,iBAAiB,kBAetC;AAED,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,iBAYrE"}
1
+ {"version":3,"file":"global.d.ts","sourceRoot":"","sources":["../../src/commands/global.ts"],"names":[],"mappings":"AAEA,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;IAAE,EAAE,CAAC,EAAE,MAAM,CAAA;CAAE,iBAYzE;AAED,wBAAsB,mBAAmB,CAAC,GAAG,EAAE,MAAM,iBAQpD;AAED,wBAAsB,iBAAiB,kBAiBtC;AAED,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,iBAYrE"}
@@ -36,7 +36,9 @@ async function globalListCommand() {
36
36
  }
37
37
  console.log('Global graph repos:');
38
38
  for (const e of entries) {
39
- console.log(` ${e.tag} — ${e.nodes} nodes, ${e.edges} edges`);
39
+ console.log(` ${e.tag} — ${e.nodes} nodes, ${e.edges} edges | ${e.state}`);
40
+ console.log(` commit: ${e.sourceCommit ?? 'unknown'} | generation: ${e.graphGeneration ?? 'unknown'}`);
41
+ console.log(` source: ${e.root || 'unavailable'} | built: ${e.graphBuiltAt ?? 'unknown'}`);
40
42
  }
41
43
  }
42
44
  catch (e) {
@@ -1 +1 @@
1
- {"version":3,"file":"global.js","sourceRoot":"","sources":["../../src/commands/global.ts"],"names":[],"mappings":";;;;;;AAAA,sCAA4E;AAErE,KAAK,2BAA2B,IAAY,EAAE,IAAqB;IACxE,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAA,kBAAS,EAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,GAAG,iCAAiC,CAAC,CAAC;QAClE,OAAO,CAAC,GAAG,CACT,UAAU,MAAM,CAAC,UAAU,aAAa,MAAM,CAAC,UAAU,KAAK;YAC5D,iBAAiB,MAAM,CAAC,aAAa,wBAAwB,MAAM,CAAC,kBAAkB,EAAE,CAC3F,CAAC;IACJ,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QAChB,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,OAAO,IAAI,CAAC,EAAE,CAAC,CAAC;QAC1C,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACvB,CAAC;AACH,CAAC;AAEM,KAAK,8BAA8B,GAAW;IACnD,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,IAAA,qBAAY,EAAC,GAAG,CAAC,CAAC;QAClC,OAAO,CAAC,GAAG,CAAC,YAAY,GAAG,MAAM,OAAO,gCAAgC,CAAC,CAAC;IAC5E,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QAChB,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,OAAO,IAAI,CAAC,EAAE,CAAC,CAAC;QAC1C,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACvB,CAAC;AACH,CAAC;AAEM,KAAK;IACV,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,IAAA,mBAAU,GAAE,CAAC;QAC7B,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,CAAC,GAAG,CAAC,iEAAiE,CAAC,CAAC;YAC/E,OAAO;QACT,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;QACnC,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACxB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,KAAK,WAAW,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QAChB,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,OAAO,IAAI,CAAC,EAAE,CAAC,CAAC;QAC1C,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACvB,CAAC;AACH,CAAC;AAEM,KAAK,4BAA4B,MAAc,EAAE,MAAc;IACpE,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAA,mBAAU,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC1C,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,CAAC,GAAG,CAAC,0BAA0B,MAAM,UAAU,MAAM,IAAI,CAAC,CAAC;YAClE,OAAO;QACT,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC,CAAC;IAC1D,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QAChB,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,OAAO,IAAI,CAAC,EAAE,CAAC,CAAC;QAC1C,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACvB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"global.js","sourceRoot":"","sources":["../../src/commands/global.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ export interface IndexingOptions {
2
+ dedup?: boolean;
3
+ backend?: string;
4
+ judge?: string;
5
+ model?: string;
6
+ embed?: boolean;
7
+ labelCommunities?: boolean;
8
+ deep?: boolean;
9
+ refreshPolicy?: boolean;
10
+ llmBudget?: string;
11
+ }
12
+ /** Updates reuse the project's policy, including an explicitly disabled backend. */
13
+ export declare function indexingOptions(root: string, opts: IndexingOptions, update: boolean): IndexingOptions;
14
+ //# sourceMappingURL=indexing-profile.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"indexing-profile.d.ts","sourceRoot":"","sources":["../../src/commands/indexing-profile.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,eAAe;IAC9B,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAClE,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IAC5D,aAAa,CAAC,EAAE,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7C;AAQD,oFAAoF;AACpF,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,OAAO,GAAG,eAAe,CAkDrG"}
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.indexingOptions = indexingOptions;
4
+ const fs_1 = require("fs");
5
+ const path_1 = require("path");
6
+ const KEYS = ['LLM_BACKEND', 'LLM_MODEL', 'LLM_BASE_URL', 'LLM_JUDGE', 'KIMI_BASE_URL',
7
+ 'AZURE_ENDPOINT', 'AZURE_DEPLOYMENT', 'AZURE_API_VERSION', 'AWS_REGION', 'LLM_BUDGET'];
8
+ /** Updates reuse the project's policy, including an explicitly disabled backend. */
9
+ function indexingOptions(root, opts, update) {
10
+ if (opts.refreshPolicy)
11
+ process.env.ASTRIA_REFRESH_POLICY = '1';
12
+ else
13
+ delete process.env.ASTRIA_REFRESH_POLICY;
14
+ const filename = (0, path_1.join)(root, '.astria', 'indexing-profile.json');
15
+ const profile = update && (0, fs_1.existsSync)(filename)
16
+ ? JSON.parse((0, fs_1.readFileSync)(filename, 'utf8')) : undefined;
17
+ if (profile && profile.version !== 1)
18
+ throw new Error('Unsupported indexing profile version; rebuild with an explicit policy');
19
+ const incoming = Object.fromEntries(KEYS.map(k => [`ASTRIA_${k}`, process.env[`ASTRIA_${k}`]]));
20
+ if (profile) {
21
+ for (const key of KEYS) {
22
+ const name = `ASTRIA_${key}`;
23
+ if (profile.environment[name] !== undefined)
24
+ process.env[name] = profile.environment[name];
25
+ else
26
+ delete process.env[name];
27
+ }
28
+ // Only an explicit refresh opts into new shell-level routing settings.
29
+ if (opts.refreshPolicy)
30
+ for (const [key, value] of Object.entries(incoming)) {
31
+ if (value !== undefined)
32
+ process.env[key] = value;
33
+ }
34
+ }
35
+ else if (update && !opts.backend) {
36
+ process.env.ASTRIA_LLM_BACKEND = 'none';
37
+ delete process.env.ASTRIA_LLM_JUDGE;
38
+ }
39
+ if (opts.backend)
40
+ process.env.ASTRIA_LLM_BACKEND = opts.backend;
41
+ if (opts.backend?.trim().toLowerCase() === 'none')
42
+ delete process.env.ASTRIA_LLM_JUDGE;
43
+ if (opts.judge)
44
+ process.env.ASTRIA_LLM_JUDGE = opts.judge;
45
+ if (opts.model)
46
+ process.env.ASTRIA_LLM_MODEL = opts.model;
47
+ if (opts.llmBudget !== undefined) {
48
+ if (!/^[1-9]\d*$/.test(opts.llmBudget))
49
+ throw new Error('--llm-budget must be a positive integer');
50
+ process.env.ASTRIA_LLM_BUDGET = opts.llmBudget;
51
+ }
52
+ const effective = {
53
+ ...opts,
54
+ dedup: opts.dedup ?? profile?.dedup ?? true,
55
+ embed: opts.embed ?? profile?.embed ?? false,
56
+ labelCommunities: opts.labelCommunities ?? (opts.backend?.trim().toLowerCase() === 'none' ? false : profile?.label_communities) ?? false,
57
+ deep: opts.deep ?? (opts.backend?.trim().toLowerCase() === 'none' ? false : profile?.deep) ?? false,
58
+ };
59
+ const backend = process.env.ASTRIA_LLM_BACKEND?.trim().toLowerCase();
60
+ const paid = Boolean(backend && backend !== 'none');
61
+ const changed = profile && (KEYS.filter(k => k !== 'LLM_BUDGET').some(k => profile.environment[`ASTRIA_${k}`] !== process.env[`ASTRIA_${k}`]) ||
62
+ profile.label_communities !== effective.labelCommunities || profile.deep !== effective.deep);
63
+ const previousPaid = profile && profile.environment.ASTRIA_LLM_BACKEND !== 'none';
64
+ if (update && (paid || previousPaid) && (changed || !profile || opts.refreshPolicy)) {
65
+ if (!opts.refreshPolicy)
66
+ throw new Error('Changing indexing policy requires --refresh-policy');
67
+ if (paid && !opts.llmBudget)
68
+ throw new Error('Changing paid indexing policy requires --llm-budget <positive tokens>');
69
+ }
70
+ if (opts.refreshPolicy && !opts.llmBudget && paid)
71
+ throw new Error('Paid refresh requires --llm-budget <positive tokens>');
72
+ return effective;
73
+ }
74
+ //# sourceMappingURL=indexing-profile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"indexing-profile.js","sourceRoot":"","sources":["../../src/commands/indexing-profile.ts"],"names":[],"mappings":";;;AAAA,2BAA8C;AAC9C,+BAA4B;AAW5B,MAAM,IAAI,GAAG,CAAC,aAAa,EAAE,WAAW,EAAE,cAAc,EAAE,WAAW,EAAE,eAAe;IACpF,gBAAgB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC;AAEzF,oFAAoF;AACpF,yBAAgC,IAAY,EAAE,IAAqB,EAAE,MAAe;IAClF,IAAI,IAAI,CAAC,aAAa;QAAE,OAAO,CAAC,GAAG,CAAC,qBAAqB,GAAG,GAAG,CAAC;;QAC3D,OAAO,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC;IAC9C,MAAM,QAAQ,GAAG,IAAA,WAAI,EAAC,IAAI,EAAE,SAAS,EAAE,uBAAuB,CAAC,CAAC;IAChE,MAAM,OAAO,GAAwB,MAAM,IAAI,IAAA,eAAU,EAAC,QAAQ,CAAC;QACjE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAA,iBAAY,EAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3D,IAAI,OAAO,IAAI,OAAO,CAAC,OAAO,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAC;IAC/H,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,EAAE,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAChG,IAAI,OAAO,EAAE,CAAC;QACZ,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,IAAI,GAAG,UAAU,GAAG,EAAE,CAAC;YAC7B,IAAI,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,SAAS;gBAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;;gBACtF,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC;QACD,uEAAuE;QACvE,IAAI,IAAI,CAAC,aAAa;YAAE,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC5E,IAAI,KAAK,KAAK,SAAS;oBAAE,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YACpD,CAAC;IACH,CAAC;SAAM,IAAI,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,kBAAkB,GAAG,MAAM,CAAC;QACxC,OAAO,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;IACtC,CAAC;IACD,IAAI,IAAI,CAAC,OAAO;QAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC;IAChE,IAAI,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,MAAM;QAAE,OAAO,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;IACvF,IAAI,IAAI,CAAC,KAAK;QAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC;IAC1D,IAAI,IAAI,CAAC,KAAK;QAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC;IAC1D,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QACjC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;QACnG,OAAO,CAAC,GAAG,CAAC,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC;IACjD,CAAC;IACD,MAAM,SAAS,GAAG;QAChB,GAAG,IAAI;QACP,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,OAAO,EAAE,KAAK,IAAI,IAAI;QAC3C,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,OAAO,EAAE,KAAK,IAAI,KAAK;QAC5C,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,iBAAiB,CAAC,IAAI,KAAK;QACxI,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,KAAK;KACpG,CAAC;IACF,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACrE,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,IAAI,OAAO,KAAK,MAAM,CAAC,CAAC;IACpD,MAAM,OAAO,GAAG,OAAO,IAAI,CACzB,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QACjH,OAAO,CAAC,iBAAiB,KAAK,SAAS,CAAC,gBAAgB,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI,CAC5F,CAAC;IACF,MAAM,YAAY,GAAG,OAAO,IAAI,OAAO,CAAC,WAAW,CAAC,kBAAkB,KAAK,MAAM,CAAC;IAClF,IAAI,MAAM,IAAI,CAAC,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;QACpF,IAAI,CAAC,IAAI,CAAC,aAAa;YAAE,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;QAC/F,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAC;IACxH,CAAC;IACD,IAAI,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;IAC3H,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,QAkEtD"}
1
+ {"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAcpC,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,QAwCtD"}
@@ -3,71 +3,70 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.registerInstallCommand = registerInstallCommand;
4
4
  const index_1 = require("../install/index");
5
5
  const platforms_1 = require("../install/platforms");
6
+ const state_1 = require("../install/state");
7
+ const hooks_1 = require("../install/hooks");
8
+ const merge_driver_1 = require("./merge-driver");
9
+ function report(work) {
10
+ try {
11
+ for (const message of work())
12
+ console.log(message);
13
+ return true;
14
+ }
15
+ catch (error) {
16
+ console.error(`Failed: ${error.message || error}`);
17
+ process.exitCode = 1;
18
+ return false;
19
+ }
20
+ }
6
21
  function registerInstallCommand(program) {
7
- program
8
- .command('install')
9
- .description(`Install astria skill + MCP for an AI platform (${platforms_1.PLATFORM_NAMES.join(', ')}) or all of them`)
22
+ program.command('install')
23
+ .description('Install Astria integrations in this project, or explicitly for the user')
10
24
  .option('--platform <name>', `Platform: ${platforms_1.PLATFORM_NAMES.join(', ')}`, 'claude')
11
- .option('--all', 'Install for every supported platform')
12
- .action(async (opts) => {
25
+ .option('--scope <scope>', 'project or user', 'project')
26
+ .option('--all', 'Install for every supported project platform')
27
+ .action((opts) => {
13
28
  try {
14
- if (opts.all) {
15
- for (const platform of platforms_1.PLATFORM_NAMES) {
16
- for (const msg of (0, index_1.installPlatform)(platform, process.cwd())) {
17
- console.log(msg);
18
- }
19
- }
20
- return;
21
- }
22
- const results = (0, index_1.installPlatform)(opts.platform, process.cwd());
23
- for (const msg of results) {
24
- console.log(msg);
29
+ const scope = (0, state_1.parseScope)(opts.scope);
30
+ if (opts.all && scope === 'user')
31
+ throw new Error('Choose one platform for --scope user; --all is project-only.');
32
+ for (const platform of opts.all ? platforms_1.PLATFORM_NAMES : [opts.platform]) {
33
+ report(() => (0, index_1.installPlatform)(platform, process.cwd(), scope));
25
34
  }
26
- // A single-platform install is silent about every other tool — point
27
- // the user at the rest so multi-tool setups don't get half wired.
28
- if (opts.platform !== 'claude')
29
- return;
30
- const others = platforms_1.PLATFORM_NAMES.filter((p) => p !== 'claude');
31
- console.log(`\nOther supported platforms: ${others.join(', ')}`);
32
- console.log('Install for all of them with: astria install --all');
35
+ if (!process.exitCode)
36
+ console.log('Integration setup complete. Restart your assistant/MCP server, then run astria doctor.');
33
37
  }
34
- catch (err) {
35
- console.error(err.message || err);
38
+ catch (error) {
39
+ console.error(error.message);
36
40
  process.exitCode = 1;
37
41
  }
38
42
  });
39
- program
40
- .command('uninstall')
41
- .description('Uninstall astria skill for an AI platform (--purge removes everything: hooks, merge driver, graph data, global store)')
43
+ program.command('uninstall')
44
+ .description('Remove scoped integrations; data is kept unless separately selected for deletion')
42
45
  .option('--platform <name>', `Platform: ${platforms_1.PLATFORM_NAMES.join(', ')}`, 'claude')
43
- .option('--all', 'Uninstall from every supported platform')
44
- .option('--purge', 'Deep clean: uninstall every platform, git hooks, merge driver, .astria/ graph data, and the ~/.astria global store')
45
- .action(async (opts) => {
46
+ .option('--scope <scope>', 'project or user', 'project')
47
+ .option('--all', 'Remove every recorded integration in the selected scope')
48
+ .option('--purge-project', 'Also remove this project graph, git hooks and merge-driver wiring')
49
+ .option('--purge-global', 'Also delete the user-wide cross-repository store')
50
+ .action((opts) => {
46
51
  try {
47
- if (opts.purge) {
48
- // The flag is the consent: purge removes graph data and the
49
- // global store, which no plain uninstall ever touches.
50
- for (const msg of (0, index_1.purgeEverything)(process.cwd())) {
51
- console.log(msg);
52
- }
53
- console.log('\nastria fully removed from this machine and project.');
54
- return;
55
- }
56
- if (opts.all) {
57
- for (const platform of platforms_1.PLATFORM_NAMES) {
58
- for (const msg of (0, index_1.uninstallPlatform)(platform, process.cwd())) {
59
- console.log(msg);
60
- }
61
- }
62
- return;
63
- }
64
- const results = (0, index_1.uninstallPlatform)(opts.platform, process.cwd());
65
- for (const msg of results) {
66
- console.log(msg);
52
+ const scope = (0, state_1.parseScope)(opts.scope);
53
+ const platforms = opts.all ? (0, state_1.readInstallState)(process.cwd(), scope).platforms : [opts.platform];
54
+ let complete = true;
55
+ for (const platform of platforms)
56
+ complete = report(() => (0, index_1.uninstallPlatform)(platform, process.cwd(), scope)) && complete;
57
+ if (opts.purgeProject) {
58
+ complete = report(() => (0, hooks_1.uninstallGitHooks)(process.cwd())) && complete;
59
+ complete = report(() => (0, merge_driver_1.mergeDriverUninstall)(process.cwd())) && complete;
60
+ // Retain data when integration removal failed, so recovery remains possible.
61
+ if (complete)
62
+ complete = report(() => (0, index_1.purgeData)(process.cwd(), false));
67
63
  }
64
+ if (opts.purgeGlobal && complete)
65
+ complete = report(() => (0, index_1.purgeData)(process.cwd(), true));
66
+ console.log(complete ? 'Selected cleanup completed. The npm package remains installed; see the lifecycle guide for package removal.' : 'Cleanup incomplete. Resolve the failures above and retry; remaining graph data was retained.');
68
67
  }
69
- catch (err) {
70
- console.error(err.message || err);
68
+ catch (error) {
69
+ console.error(error.message);
71
70
  process.exitCode = 1;
72
71
  }
73
72
  });
@@ -1 +1 @@
1
- {"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":";;;AACA,4CAAiF;AACjF,oDAAsD;AACtD,4CAAgE;AAChE,4CAAqD;AACrD,iDAAsD;AAItD,SAAS,MAAM,CAAC,IAAoB;IAClC,IAAI,CAAC;QAAC,KAAK,MAAM,OAAO,IAAI,IAAI,EAAE;YAAE,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAAC,OAAO,IAAI,CAAC;IAAC,CAAC;IACxE,OAAO,KAAU,EAAE,CAAC;QAAC,OAAO,CAAC,KAAK,CAAC,WAAW,KAAK,CAAC,OAAO,IAAI,KAAK,EAAE,CAAC,CAAC;QAAC,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QAAC,OAAO,KAAK,CAAC;IAAC,CAAC;AAChH,CAAC;AAED,gCAAuC,OAAgB;IACrD,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC;SACvB,WAAW,CAAC,yEAAyE,CAAC;SACtF,MAAM,CAAC,mBAAmB,EAAE,aAAa,0BAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,CAAC;SAC/E,MAAM,CAAC,iBAAiB,EAAE,iBAAiB,EAAE,SAAS,CAAC;SACvD,MAAM,CAAC,OAAO,EAAE,8CAA8C,CAAC;SAC/D,MAAM,CAAC,CAAC,IAAa,EAAE,EAAE;QACxB,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,IAAA,kBAAU,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrC,IAAI,IAAI,CAAC,GAAG,IAAI,KAAK,KAAK,MAAM;gBAAE,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;YAClH,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,0BAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACnE,MAAM,CAAC,GAAG,EAAE,CAAC,IAAA,uBAAe,EAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC;YAChE,CAAC;YACD,IAAI,CAAC,OAAO,CAAC,QAAQ;gBAAE,OAAO,CAAC,GAAG,CAAC,wFAAwF,CAAC,CAAC;QAC/H,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAAC,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QAAC,CAAC;IAC9E,CAAC,CAAC,CAAC;IAEL,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC;SACzB,WAAW,CAAC,kFAAkF,CAAC;SAC/F,MAAM,CAAC,mBAAmB,EAAE,aAAa,0BAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,CAAC;SAC/E,MAAM,CAAC,iBAAiB,EAAE,iBAAiB,EAAE,SAAS,CAAC;SACvD,MAAM,CAAC,OAAO,EAAE,yDAAyD,CAAC;SAC1E,MAAM,CAAC,iBAAiB,EAAE,mEAAmE,CAAC;SAC9F,MAAM,CAAC,gBAAgB,EAAE,kDAAkD,CAAC;SAC5E,MAAM,CAAC,CAAC,IAAa,EAAE,EAAE;QACxB,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,IAAA,kBAAU,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAA,wBAAgB,EAAC,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAChG,IAAI,QAAQ,GAAG,IAAI,CAAC;YACpB,KAAK,MAAM,QAAQ,IAAI,SAAS;gBAAE,QAAQ,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC,IAAA,yBAAiB,EAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC,CAAC,IAAI,QAAQ,CAAC;YACzH,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBACtB,QAAQ,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC,IAAA,yBAAiB,EAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,QAAQ,CAAC;gBACtE,QAAQ,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC,IAAA,mCAAoB,EAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,QAAQ,CAAC;gBACzE,6EAA6E;gBAC7E,IAAI,QAAQ;oBAAE,QAAQ,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC,IAAA,iBAAS,EAAC,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC;YACzE,CAAC;YACD,IAAI,IAAI,CAAC,WAAW,IAAI,QAAQ;gBAAE,QAAQ,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC,IAAA,iBAAS,EAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC;YAC1F,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,6GAA6G,CAAC,CAAC,CAAC,8FAA8F,CAAC,CAAC;QACzO,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAAC,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QAAC,CAAC;IAC9E,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"merge-driver.d.ts","sourceRoot":"","sources":["../../src/commands/merge-driver.ts"],"names":[],"mappings":"AAsBA,KAAK,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAuChC,wBAAgB,aAAa,CAC3B,WAAW,EAAE,IAAI,EAAE,EACnB,WAAW,EAAE,IAAI,EAAE,EACnB,aAAa,EAAE,IAAI,EAAE,EACrB,KAAK,EAAE,CAAC,KAAK,EAAE,IAAI,KAAK,MAAM,GAC7B,IAAI,EAAE,CAuBR;AAgCD,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAgB7F;AAWD,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,CA0B/D;AAED,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,CAsBjE"}
1
+ {"version":3,"file":"merge-driver.d.ts","sourceRoot":"","sources":["../../src/commands/merge-driver.ts"],"names":[],"mappings":"AAuBA,KAAK,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAuChC,wBAAgB,aAAa,CAC3B,WAAW,EAAE,IAAI,EAAE,EACnB,WAAW,EAAE,IAAI,EAAE,EACnB,aAAa,EAAE,IAAI,EAAE,EACrB,KAAK,EAAE,CAAC,KAAK,EAAE,IAAI,KAAK,MAAM,GAC7B,IAAI,EAAE,CAuBR;AAgCD,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAgB7F;AAqED,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,CAAqE;AACrI,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,CAAuE"}