archmantic 1.0.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/LICENSE +202 -0
- package/README.md +172 -0
- package/dist/agent.d.ts +20 -0
- package/dist/agent.d.ts.map +1 -0
- package/dist/agent.js +239 -0
- package/dist/agent.js.map +1 -0
- package/dist/analyze/datamodel.d.ts +9 -0
- package/dist/analyze/datamodel.d.ts.map +1 -0
- package/dist/analyze/datamodel.js +19 -0
- package/dist/analyze/datamodel.js.map +1 -0
- package/dist/analyze/derive.d.ts +21 -0
- package/dist/analyze/derive.d.ts.map +1 -0
- package/dist/analyze/derive.js +211 -0
- package/dist/analyze/derive.js.map +1 -0
- package/dist/analyze/drizzle.d.ts +3 -0
- package/dist/analyze/drizzle.d.ts.map +1 -0
- package/dist/analyze/drizzle.js +83 -0
- package/dist/analyze/drizzle.js.map +1 -0
- package/dist/analyze/endpoints.d.ts +3 -0
- package/dist/analyze/endpoints.d.ts.map +1 -0
- package/dist/analyze/endpoints.js +167 -0
- package/dist/analyze/endpoints.js.map +1 -0
- package/dist/analyze/fs-util.d.ts +3 -0
- package/dist/analyze/fs-util.d.ts.map +1 -0
- package/dist/analyze/fs-util.js +44 -0
- package/dist/analyze/fs-util.js.map +1 -0
- package/dist/analyze/incremental.d.ts +12 -0
- package/dist/analyze/incremental.d.ts.map +1 -0
- package/dist/analyze/incremental.js +102 -0
- package/dist/analyze/incremental.js.map +1 -0
- package/dist/analyze/index.d.ts +5 -0
- package/dist/analyze/index.d.ts.map +1 -0
- package/dist/analyze/index.js +49 -0
- package/dist/analyze/index.js.map +1 -0
- package/dist/analyze/parse-util.d.ts +10 -0
- package/dist/analyze/parse-util.d.ts.map +1 -0
- package/dist/analyze/parse-util.js +47 -0
- package/dist/analyze/parse-util.js.map +1 -0
- package/dist/analyze/prisma.d.ts +4 -0
- package/dist/analyze/prisma.d.ts.map +1 -0
- package/dist/analyze/prisma.js +97 -0
- package/dist/analyze/prisma.js.map +1 -0
- package/dist/analyze/sql.d.ts +3 -0
- package/dist/analyze/sql.d.ts.map +1 -0
- package/dist/analyze/sql.js +110 -0
- package/dist/analyze/sql.js.map +1 -0
- package/dist/analyze/stack.d.ts +4 -0
- package/dist/analyze/stack.d.ts.map +1 -0
- package/dist/analyze/stack.js +94 -0
- package/dist/analyze/stack.js.map +1 -0
- package/dist/analyze/tier0.d.ts +7 -0
- package/dist/analyze/tier0.d.ts.map +1 -0
- package/dist/analyze/tier0.js +57 -0
- package/dist/analyze/tier0.js.map +1 -0
- package/dist/analyze/tier1.d.ts +13 -0
- package/dist/analyze/tier1.d.ts.map +1 -0
- package/dist/analyze/tier1.js +144 -0
- package/dist/analyze/tier1.js.map +1 -0
- package/dist/analyze/tier2.d.ts +14 -0
- package/dist/analyze/tier2.d.ts.map +1 -0
- package/dist/analyze/tier2.js +231 -0
- package/dist/analyze/tier2.js.map +1 -0
- package/dist/analyze/walk.d.ts +3 -0
- package/dist/analyze/walk.d.ts.map +1 -0
- package/dist/analyze/walk.js +50 -0
- package/dist/analyze/walk.js.map +1 -0
- package/dist/auth.d.ts +12 -0
- package/dist/auth.d.ts.map +1 -0
- package/dist/auth.js +61 -0
- package/dist/auth.js.map +1 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +787 -0
- package/dist/cli.js.map +1 -0
- package/dist/cloud/api.d.ts +20 -0
- package/dist/cloud/api.d.ts.map +1 -0
- package/dist/cloud/api.js +81 -0
- package/dist/cloud/api.js.map +1 -0
- package/dist/cloud/index.d.ts +4 -0
- package/dist/cloud/index.d.ts.map +1 -0
- package/dist/cloud/index.js +20 -0
- package/dist/cloud/index.js.map +1 -0
- package/dist/cloud/store.d.ts +34 -0
- package/dist/cloud/store.d.ts.map +1 -0
- package/dist/cloud/store.js +137 -0
- package/dist/cloud/store.js.map +1 -0
- package/dist/diff/history.d.ts +9 -0
- package/dist/diff/history.d.ts.map +1 -0
- package/dist/diff/history.js +44 -0
- package/dist/diff/history.js.map +1 -0
- package/dist/diff/index.d.ts +5 -0
- package/dist/diff/index.d.ts.map +1 -0
- package/dist/diff/index.js +26 -0
- package/dist/diff/index.js.map +1 -0
- package/dist/diff/model-diff.d.ts +44 -0
- package/dist/diff/model-diff.d.ts.map +1 -0
- package/dist/diff/model-diff.js +153 -0
- package/dist/diff/model-diff.js.map +1 -0
- package/dist/diff/snapshot.d.ts +8 -0
- package/dist/diff/snapshot.d.ts.map +1 -0
- package/dist/diff/snapshot.js +50 -0
- package/dist/diff/snapshot.js.map +1 -0
- package/dist/env.d.ts +2 -0
- package/dist/env.d.ts.map +1 -0
- package/dist/env.js +44 -0
- package/dist/env.js.map +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +23 -0
- package/dist/index.js.map +1 -0
- package/dist/ir/naming.d.ts +12 -0
- package/dist/ir/naming.d.ts.map +1 -0
- package/dist/ir/naming.js +31 -0
- package/dist/ir/naming.js.map +1 -0
- package/dist/ir/types.d.ts +149 -0
- package/dist/ir/types.d.ts.map +1 -0
- package/dist/ir/types.js +72 -0
- package/dist/ir/types.js.map +1 -0
- package/dist/mcp/bench.d.ts +25 -0
- package/dist/mcp/bench.d.ts.map +1 -0
- package/dist/mcp/bench.js +115 -0
- package/dist/mcp/bench.js.map +1 -0
- package/dist/mcp/queries.d.ts +22 -0
- package/dist/mcp/queries.d.ts.map +1 -0
- package/dist/mcp/queries.js +147 -0
- package/dist/mcp/queries.js.map +1 -0
- package/dist/mcp/server.d.ts +2 -0
- package/dist/mcp/server.d.ts.map +1 -0
- package/dist/mcp/server.js +147 -0
- package/dist/mcp/server.js.map +1 -0
- package/dist/mcp/usage.d.ts +23 -0
- package/dist/mcp/usage.d.ts.map +1 -0
- package/dist/mcp/usage.js +125 -0
- package/dist/mcp/usage.js.map +1 -0
- package/dist/project/bpmn-parse.d.ts +17 -0
- package/dist/project/bpmn-parse.d.ts.map +1 -0
- package/dist/project/bpmn-parse.js +60 -0
- package/dist/project/bpmn-parse.js.map +1 -0
- package/dist/project/bpmn.d.ts +11 -0
- package/dist/project/bpmn.d.ts.map +1 -0
- package/dist/project/bpmn.js +89 -0
- package/dist/project/bpmn.js.map +1 -0
- package/dist/project/capability.d.ts +16 -0
- package/dist/project/capability.d.ts.map +1 -0
- package/dist/project/capability.js +38 -0
- package/dist/project/capability.js.map +1 -0
- package/dist/project/erd.d.ts +17 -0
- package/dist/project/erd.d.ts.map +1 -0
- package/dist/project/erd.js +0 -0
- package/dist/project/erd.js.map +1 -0
- package/dist/project/html.d.ts +12 -0
- package/dist/project/html.d.ts.map +1 -0
- package/dist/project/html.js +166 -0
- package/dist/project/html.js.map +1 -0
- package/dist/project/index.d.ts +19 -0
- package/dist/project/index.d.ts.map +1 -0
- package/dist/project/index.js +113 -0
- package/dist/project/index.js.map +1 -0
- package/dist/project/mermaid.d.ts +20 -0
- package/dist/project/mermaid.d.ts.map +1 -0
- package/dist/project/mermaid.js +89 -0
- package/dist/project/mermaid.js.map +1 -0
- package/dist/project/spec.d.ts +69 -0
- package/dist/project/spec.d.ts.map +1 -0
- package/dist/project/spec.js +164 -0
- package/dist/project/spec.js.map +1 -0
- package/dist/project/trust.d.ts +35 -0
- package/dist/project/trust.d.ts.map +1 -0
- package/dist/project/trust.js +48 -0
- package/dist/project/trust.js.map +1 -0
- package/dist/system.d.ts +61 -0
- package/dist/system.d.ts.map +1 -0
- package/dist/system.js +161 -0
- package/dist/system.js.map +1 -0
- package/package.json +58 -0
package/dist/cli.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Managed-SaaS transport for the cloud store. When `ARCHMANTIC_TOKEN` is set,
|
|
3
|
+
* the CLI pushes/pulls through the web platform's authenticated API (org-scoped)
|
|
4
|
+
* instead of touching Postgres directly — so customers never hold the raw
|
|
5
|
+
* DATABASE_URL. The per-org token is minted in the web app's Settings.
|
|
6
|
+
*
|
|
7
|
+
* `ARCHMANTIC_API_URL` overrides the endpoint (defaults to localhost for dev).
|
|
8
|
+
*/
|
|
9
|
+
import { type ArchitectureModel } from "../ir/types.js";
|
|
10
|
+
import { type UsageEvent } from "./store.js";
|
|
11
|
+
export declare class ApiError extends Error {
|
|
12
|
+
}
|
|
13
|
+
export declare function hasApiToken(): boolean;
|
|
14
|
+
export declare function pushModelApi(model: ArchitectureModel, commit: string): Promise<void>;
|
|
15
|
+
export declare function pullLatestApi(project: string): Promise<ArchitectureModel | null>;
|
|
16
|
+
/** Record a batch of MCP usage events through the org-scoped API (idempotent). */
|
|
17
|
+
export declare function recordUsageApi(events: UsageEvent[]): Promise<void>;
|
|
18
|
+
/** Fetch the org's human-edited BPMN for a project (null if none saved). */
|
|
19
|
+
export declare function pullProcessEditApi(project: string): Promise<string | null>;
|
|
20
|
+
//# sourceMappingURL=api.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/cloud/api.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,qBAAa,QAAS,SAAQ,KAAK;CAAG;AAEtC,wBAAgB,WAAW,IAAI,OAAO,CAErC;AA6BD,wBAAsB,YAAY,CAAC,KAAK,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAQ1F;AAED,wBAAsB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAOtF;AAED,kFAAkF;AAClF,wBAAsB,cAAc,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CASxE;AAED,4EAA4E;AAC5E,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAOhF"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ApiError = void 0;
|
|
4
|
+
exports.hasApiToken = hasApiToken;
|
|
5
|
+
exports.pushModelApi = pushModelApi;
|
|
6
|
+
exports.pullLatestApi = pullLatestApi;
|
|
7
|
+
exports.recordUsageApi = recordUsageApi;
|
|
8
|
+
exports.pullProcessEditApi = pullProcessEditApi;
|
|
9
|
+
class ApiError extends Error {
|
|
10
|
+
}
|
|
11
|
+
exports.ApiError = ApiError;
|
|
12
|
+
function hasApiToken() {
|
|
13
|
+
return Boolean(process.env.ARCHMANTIC_TOKEN);
|
|
14
|
+
}
|
|
15
|
+
function baseUrl() {
|
|
16
|
+
return (process.env.ARCHMANTIC_API_URL ?? "http://localhost:3000").replace(/\/+$/, "");
|
|
17
|
+
}
|
|
18
|
+
function authHeader() {
|
|
19
|
+
return { authorization: `Bearer ${process.env.ARCHMANTIC_TOKEN ?? ""}` };
|
|
20
|
+
}
|
|
21
|
+
async function send(path, init) {
|
|
22
|
+
try {
|
|
23
|
+
return await fetch(`${baseUrl()}${path}`, init);
|
|
24
|
+
}
|
|
25
|
+
catch (err) {
|
|
26
|
+
throw new ApiError(`could not reach the Archmantic API at ${baseUrl()} — ${err instanceof Error ? err.message : err}`);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
/** Guard against an auth redirect (HTML) being mistaken for a JSON API response. */
|
|
30
|
+
function assertJson(res, action) {
|
|
31
|
+
const ct = res.headers.get("content-type") ?? "";
|
|
32
|
+
if (!ct.includes("application/json")) {
|
|
33
|
+
throw new ApiError(`${action} did not reach the API (got ${ct || "non-JSON"} from ${baseUrl()}). ` +
|
|
34
|
+
`Check ARCHMANTIC_API_URL and that the deployment is current (the API route must be reachable).`);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
async function pushModelApi(model, commit) {
|
|
38
|
+
const res = await send("/api/push", {
|
|
39
|
+
method: "POST",
|
|
40
|
+
headers: { "content-type": "application/json", ...authHeader() },
|
|
41
|
+
body: JSON.stringify({ model, commit }),
|
|
42
|
+
});
|
|
43
|
+
if (!res.ok)
|
|
44
|
+
throw new ApiError(`push failed (${res.status}): ${(await res.text()).slice(0, 200)}`);
|
|
45
|
+
assertJson(res, "push");
|
|
46
|
+
}
|
|
47
|
+
async function pullLatestApi(project) {
|
|
48
|
+
const res = await send(`/api/pull?project=${encodeURIComponent(project)}`, { headers: authHeader() });
|
|
49
|
+
if (res.status === 404)
|
|
50
|
+
return null;
|
|
51
|
+
if (!res.ok)
|
|
52
|
+
throw new ApiError(`pull failed (${res.status}): ${(await res.text()).slice(0, 200)}`);
|
|
53
|
+
assertJson(res, "pull");
|
|
54
|
+
const data = (await res.json());
|
|
55
|
+
return data.model ?? null;
|
|
56
|
+
}
|
|
57
|
+
/** Record a batch of MCP usage events through the org-scoped API (idempotent). */
|
|
58
|
+
async function recordUsageApi(events) {
|
|
59
|
+
if (!events.length)
|
|
60
|
+
return;
|
|
61
|
+
const res = await send("/api/usage", {
|
|
62
|
+
method: "POST",
|
|
63
|
+
headers: { "content-type": "application/json", ...authHeader() },
|
|
64
|
+
body: JSON.stringify({ events }),
|
|
65
|
+
});
|
|
66
|
+
if (!res.ok)
|
|
67
|
+
throw new ApiError(`usage record failed (${res.status}): ${(await res.text()).slice(0, 200)}`);
|
|
68
|
+
assertJson(res, "usage");
|
|
69
|
+
}
|
|
70
|
+
/** Fetch the org's human-edited BPMN for a project (null if none saved). */
|
|
71
|
+
async function pullProcessEditApi(project) {
|
|
72
|
+
const res = await send(`/api/process-edit?project=${encodeURIComponent(project)}`, { headers: authHeader() });
|
|
73
|
+
if (res.status === 404)
|
|
74
|
+
return null;
|
|
75
|
+
if (!res.ok)
|
|
76
|
+
throw new ApiError(`fetch edit failed (${res.status}): ${(await res.text()).slice(0, 200)}`);
|
|
77
|
+
assertJson(res, "fetch edit");
|
|
78
|
+
const data = (await res.json());
|
|
79
|
+
return data.xml ?? null;
|
|
80
|
+
}
|
|
81
|
+
//# sourceMappingURL=api.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/cloud/api.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
/** Cloud knowledge store — shared team model + per-commit history over Neon. */
|
|
2
|
+
export { pushModel, pullLatest, history, ensureSchema, recordUsage, ensureUsageSchema, NoDatabaseError, type CloudSnapshot, type UsageEvent, } from "./store.js";
|
|
3
|
+
export { hasApiToken, pushModelApi, pullLatestApi, pullProcessEditApi, recordUsageApi, ApiError, } from "./api.js";
|
|
4
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cloud/index.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,OAAO,EACL,SAAS,EACT,UAAU,EACV,OAAO,EACP,YAAY,EACZ,WAAW,EACX,iBAAiB,EACjB,eAAe,EACf,KAAK,aAAa,EAClB,KAAK,UAAU,GAChB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,WAAW,EACX,YAAY,EACZ,aAAa,EACb,kBAAkB,EAClB,cAAc,EACd,QAAQ,GACT,MAAM,UAAU,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ApiError = exports.recordUsageApi = exports.pullProcessEditApi = exports.pullLatestApi = exports.pushModelApi = exports.hasApiToken = exports.NoDatabaseError = exports.ensureUsageSchema = exports.recordUsage = exports.ensureSchema = exports.history = exports.pullLatest = exports.pushModel = void 0;
|
|
4
|
+
/** Cloud knowledge store — shared team model + per-commit history over Neon. */
|
|
5
|
+
var store_js_1 = require("./store.js");
|
|
6
|
+
Object.defineProperty(exports, "pushModel", { enumerable: true, get: function () { return store_js_1.pushModel; } });
|
|
7
|
+
Object.defineProperty(exports, "pullLatest", { enumerable: true, get: function () { return store_js_1.pullLatest; } });
|
|
8
|
+
Object.defineProperty(exports, "history", { enumerable: true, get: function () { return store_js_1.history; } });
|
|
9
|
+
Object.defineProperty(exports, "ensureSchema", { enumerable: true, get: function () { return store_js_1.ensureSchema; } });
|
|
10
|
+
Object.defineProperty(exports, "recordUsage", { enumerable: true, get: function () { return store_js_1.recordUsage; } });
|
|
11
|
+
Object.defineProperty(exports, "ensureUsageSchema", { enumerable: true, get: function () { return store_js_1.ensureUsageSchema; } });
|
|
12
|
+
Object.defineProperty(exports, "NoDatabaseError", { enumerable: true, get: function () { return store_js_1.NoDatabaseError; } });
|
|
13
|
+
var api_js_1 = require("./api.js");
|
|
14
|
+
Object.defineProperty(exports, "hasApiToken", { enumerable: true, get: function () { return api_js_1.hasApiToken; } });
|
|
15
|
+
Object.defineProperty(exports, "pushModelApi", { enumerable: true, get: function () { return api_js_1.pushModelApi; } });
|
|
16
|
+
Object.defineProperty(exports, "pullLatestApi", { enumerable: true, get: function () { return api_js_1.pullLatestApi; } });
|
|
17
|
+
Object.defineProperty(exports, "pullProcessEditApi", { enumerable: true, get: function () { return api_js_1.pullProcessEditApi; } });
|
|
18
|
+
Object.defineProperty(exports, "recordUsageApi", { enumerable: true, get: function () { return api_js_1.recordUsageApi; } });
|
|
19
|
+
Object.defineProperty(exports, "ApiError", { enumerable: true, get: function () { return api_js_1.ApiError; } });
|
|
20
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cloud/index.ts"],"names":[],"mappings":";;;AAAA,gFAAgF;AAChF,uCAUoB;AATlB,qGAAA,SAAS,OAAA;AACT,sGAAA,UAAU,OAAA;AACV,mGAAA,OAAO,OAAA;AACP,wGAAA,YAAY,OAAA;AACZ,uGAAA,WAAW,OAAA;AACX,6GAAA,iBAAiB,OAAA;AACjB,2GAAA,eAAe,OAAA;AAIjB,mCAOkB;AANhB,qGAAA,WAAW,OAAA;AACX,sGAAA,YAAY,OAAA;AACZ,uGAAA,aAAa,OAAA;AACb,4GAAA,kBAAkB,OAAA;AAClB,wGAAA,cAAc,OAAA;AACd,kGAAA,QAAQ,OAAA"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { type ArchitectureModel } from "../ir/types.js";
|
|
2
|
+
export declare class NoDatabaseError extends Error {
|
|
3
|
+
}
|
|
4
|
+
/**
|
|
5
|
+
* Idempotent schema + migration. Fresh DBs get the composite PK directly; older
|
|
6
|
+
* tables (PK on just project+commit) are migrated in place: backfill owner,
|
|
7
|
+
* make it NOT NULL, and swap the primary key to (owner, project, commit_sha).
|
|
8
|
+
*/
|
|
9
|
+
export declare function ensureSchema(): Promise<void>;
|
|
10
|
+
/** Upsert the model under (owner, project, commit) for the direct/self-host owner. */
|
|
11
|
+
export declare function pushModel(model: ArchitectureModel, commitSha: string): Promise<void>;
|
|
12
|
+
/** Latest model for a project in the direct/self-host owner namespace. */
|
|
13
|
+
export declare function pullLatest(project: string): Promise<ArchitectureModel | null>;
|
|
14
|
+
/** One recorded MCP tool call. `id` is a UUID → inserts are idempotent (the MCP
|
|
15
|
+
* auto-flush and a later `usage --sync` can push the same event safely). */
|
|
16
|
+
export interface UsageEvent {
|
|
17
|
+
id: string;
|
|
18
|
+
project: string;
|
|
19
|
+
tool: string;
|
|
20
|
+
tokensOut: number;
|
|
21
|
+
tokensSaved: number;
|
|
22
|
+
at: string;
|
|
23
|
+
}
|
|
24
|
+
export declare function ensureUsageSchema(): Promise<void>;
|
|
25
|
+
/** Record a batch of usage events for the direct/self-host owner (idempotent). */
|
|
26
|
+
export declare function recordUsage(events: UsageEvent[]): Promise<void>;
|
|
27
|
+
export interface CloudSnapshot {
|
|
28
|
+
commit_sha: string;
|
|
29
|
+
generated_at: string | null;
|
|
30
|
+
pushed_at: string;
|
|
31
|
+
}
|
|
32
|
+
/** Per-commit snapshots for a project (direct/self-host owner), newest first. */
|
|
33
|
+
export declare function history(project: string): Promise<CloudSnapshot[]>;
|
|
34
|
+
//# sourceMappingURL=store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/cloud/store.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAExD,qBAAa,eAAgB,SAAQ,KAAK;CAAG;AAkB7C;;;;GAIG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAwBlD;AAED,sFAAsF;AACtF,wBAAsB,SAAS,CAAC,KAAK,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAQ1F;AAED,0EAA0E;AAC1E,wBAAsB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAanF;AAID;6EAC6E;AAC7E,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC,CAavD;AAED,kFAAkF;AAClF,wBAAsB,WAAW,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CASrE;AAED,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,iFAAiF;AACjF,wBAAsB,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CAWvE"}
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.NoDatabaseError = void 0;
|
|
4
|
+
exports.ensureSchema = ensureSchema;
|
|
5
|
+
exports.pushModel = pushModel;
|
|
6
|
+
exports.pullLatest = pullLatest;
|
|
7
|
+
exports.ensureUsageSchema = ensureUsageSchema;
|
|
8
|
+
exports.recordUsage = recordUsage;
|
|
9
|
+
exports.history = history;
|
|
10
|
+
/**
|
|
11
|
+
* Cloud knowledge store — share the architecture model across a team via Neon
|
|
12
|
+
* Postgres. Each push stores the model under (owner, project, commit), so the DB
|
|
13
|
+
* holds a per-owner, per-commit history: teammates `pull` the latest shared
|
|
14
|
+
* model, and the before/after-commit timeline lives in the cloud.
|
|
15
|
+
*
|
|
16
|
+
* Direct/self-host mode (this file) tags rows with a fixed `owner` (default
|
|
17
|
+
* "local", overridable via ARCHMANTIC_OWNER). The SaaS API tags rows with the
|
|
18
|
+
* caller's org. `owner` is part of the primary key, so different orgs can hold
|
|
19
|
+
* the same project + commit independently.
|
|
20
|
+
*
|
|
21
|
+
* Uses @neondatabase/serverless `neon()` (HTTP) — same driver the platform uses.
|
|
22
|
+
*/
|
|
23
|
+
const serverless_1 = require("@neondatabase/serverless");
|
|
24
|
+
class NoDatabaseError extends Error {
|
|
25
|
+
}
|
|
26
|
+
exports.NoDatabaseError = NoDatabaseError;
|
|
27
|
+
/** Owner namespace for direct (self-host) pushes. */
|
|
28
|
+
const OWNER = process.env.ARCHMANTIC_OWNER ?? "local";
|
|
29
|
+
function sql() {
|
|
30
|
+
const url = process.env.DATABASE_URL;
|
|
31
|
+
if (!url) {
|
|
32
|
+
throw new NoDatabaseError("DATABASE_URL not set — add your Neon connection string to .env.local.");
|
|
33
|
+
}
|
|
34
|
+
return (0, serverless_1.neon)(url);
|
|
35
|
+
}
|
|
36
|
+
function isMissingTable(err) {
|
|
37
|
+
const e = err;
|
|
38
|
+
return e?.code === "42P01" || /relation .* does not exist/i.test(e?.message ?? "");
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Idempotent schema + migration. Fresh DBs get the composite PK directly; older
|
|
42
|
+
* tables (PK on just project+commit) are migrated in place: backfill owner,
|
|
43
|
+
* make it NOT NULL, and swap the primary key to (owner, project, commit_sha).
|
|
44
|
+
*/
|
|
45
|
+
async function ensureSchema() {
|
|
46
|
+
const q = sql();
|
|
47
|
+
await q `
|
|
48
|
+
create table if not exists archmantic_models (
|
|
49
|
+
project text not null,
|
|
50
|
+
commit_sha text not null,
|
|
51
|
+
generated_at timestamptz,
|
|
52
|
+
pushed_at timestamptz not null default now(),
|
|
53
|
+
model jsonb not null,
|
|
54
|
+
owner text not null default 'local',
|
|
55
|
+
primary key (owner, project, commit_sha)
|
|
56
|
+
)`;
|
|
57
|
+
await q `alter table archmantic_models add column if not exists owner text`;
|
|
58
|
+
await q `update archmantic_models set owner = 'local' where owner is null`;
|
|
59
|
+
const pkCols = (await q `
|
|
60
|
+
select a.attname from pg_index i
|
|
61
|
+
join pg_attribute a on a.attrelid = i.indrelid and a.attnum = any (i.indkey)
|
|
62
|
+
where i.indrelid = 'archmantic_models'::regclass and i.indisprimary`);
|
|
63
|
+
if (!pkCols.some((r) => r.attname === "owner")) {
|
|
64
|
+
await q `alter table archmantic_models alter column owner set not null`;
|
|
65
|
+
await q `alter table archmantic_models drop constraint if exists archmantic_models_pkey`;
|
|
66
|
+
await q `alter table archmantic_models add primary key (owner, project, commit_sha)`;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
/** Upsert the model under (owner, project, commit) for the direct/self-host owner. */
|
|
70
|
+
async function pushModel(model, commitSha) {
|
|
71
|
+
await ensureSchema();
|
|
72
|
+
const q = sql();
|
|
73
|
+
await q `
|
|
74
|
+
insert into archmantic_models (owner, project, commit_sha, generated_at, model)
|
|
75
|
+
values (${OWNER}, ${model.project}, ${commitSha}, ${model.generatedAt ?? null}, ${JSON.stringify(model)})
|
|
76
|
+
on conflict (owner, project, commit_sha)
|
|
77
|
+
do update set model = excluded.model, generated_at = excluded.generated_at, pushed_at = now()`;
|
|
78
|
+
}
|
|
79
|
+
/** Latest model for a project in the direct/self-host owner namespace. */
|
|
80
|
+
async function pullLatest(project) {
|
|
81
|
+
const q = sql();
|
|
82
|
+
try {
|
|
83
|
+
const rows = (await q `
|
|
84
|
+
select model from archmantic_models
|
|
85
|
+
where owner = ${OWNER} and project = ${project}
|
|
86
|
+
order by pushed_at desc
|
|
87
|
+
limit 1`);
|
|
88
|
+
return rows[0]?.model ?? null;
|
|
89
|
+
}
|
|
90
|
+
catch (err) {
|
|
91
|
+
if (isMissingTable(err))
|
|
92
|
+
return null;
|
|
93
|
+
throw err;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
async function ensureUsageSchema() {
|
|
97
|
+
const q = sql();
|
|
98
|
+
await q `
|
|
99
|
+
create table if not exists archmantic_usage (
|
|
100
|
+
id uuid primary key,
|
|
101
|
+
owner text not null,
|
|
102
|
+
project text not null,
|
|
103
|
+
tool text not null,
|
|
104
|
+
tokens_out integer not null default 0,
|
|
105
|
+
tokens_saved integer not null default 0,
|
|
106
|
+
at timestamptz not null
|
|
107
|
+
)`;
|
|
108
|
+
await q `create index if not exists archmantic_usage_owner_at on archmantic_usage (owner, at desc)`;
|
|
109
|
+
}
|
|
110
|
+
/** Record a batch of usage events for the direct/self-host owner (idempotent). */
|
|
111
|
+
async function recordUsage(events) {
|
|
112
|
+
if (!events.length)
|
|
113
|
+
return;
|
|
114
|
+
await ensureUsageSchema();
|
|
115
|
+
await sql() `
|
|
116
|
+
insert into archmantic_usage (id, owner, project, tool, tokens_out, tokens_saved, at)
|
|
117
|
+
select (e->>'id')::uuid, ${OWNER}, e->>'project', e->>'tool',
|
|
118
|
+
(e->>'tokensOut')::int, (e->>'tokensSaved')::int, (e->>'at')::timestamptz
|
|
119
|
+
from jsonb_array_elements(${JSON.stringify(events)}::jsonb) e
|
|
120
|
+
on conflict (id) do nothing`;
|
|
121
|
+
}
|
|
122
|
+
/** Per-commit snapshots for a project (direct/self-host owner), newest first. */
|
|
123
|
+
async function history(project) {
|
|
124
|
+
const q = sql();
|
|
125
|
+
try {
|
|
126
|
+
return (await q `
|
|
127
|
+
select commit_sha, generated_at, pushed_at from archmantic_models
|
|
128
|
+
where owner = ${OWNER} and project = ${project}
|
|
129
|
+
order by pushed_at desc`);
|
|
130
|
+
}
|
|
131
|
+
catch (err) {
|
|
132
|
+
if (isMissingTable(err))
|
|
133
|
+
return [];
|
|
134
|
+
throw err;
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
//# sourceMappingURL=store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/cloud/store.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { type ModelDiff } from "./model-diff.js";
|
|
2
|
+
export interface CommitArchChange {
|
|
3
|
+
sha: string;
|
|
4
|
+
subject: string;
|
|
5
|
+
diff: ModelDiff;
|
|
6
|
+
}
|
|
7
|
+
/** Architecture deltas for the last `n` commits (newest first). */
|
|
8
|
+
export declare function architectureLog(root: string, n: number): CommitArchChange[];
|
|
9
|
+
//# sourceMappingURL=history.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"history.d.ts","sourceRoot":"","sources":["../../src/diff/history.ts"],"names":[],"mappings":"AAWA,OAAO,EAAc,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE7D,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,SAAS,CAAC;CACjB;AAID,mEAAmE;AACnE,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,gBAAgB,EAAE,CA0B3E"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.architectureLog = architectureLog;
|
|
4
|
+
/**
|
|
5
|
+
* Architecture history — how the architecture changed commit by commit. Walks
|
|
6
|
+
* the last N commits, reconstructs the IR at each (via `analyzeAtRef`, the same
|
|
7
|
+
* non-destructive git-archive path M3 uses), and diffs consecutive versions.
|
|
8
|
+
*
|
|
9
|
+
* The first step toward the team "cloud knowledge" story: a shared, reviewable
|
|
10
|
+
* record of how the system's shape evolves — works on any repo, no committed
|
|
11
|
+
* model or hook required.
|
|
12
|
+
*/
|
|
13
|
+
const node_child_process_1 = require("node:child_process");
|
|
14
|
+
const snapshot_js_1 = require("./snapshot.js");
|
|
15
|
+
const model_diff_js_1 = require("./model-diff.js");
|
|
16
|
+
const short = (sha) => sha.slice(0, 7);
|
|
17
|
+
/** Architecture deltas for the last `n` commits (newest first). */
|
|
18
|
+
function architectureLog(root, n) {
|
|
19
|
+
// Fetch n+1 commits so the oldest in the window still has a parent to diff against.
|
|
20
|
+
const raw = (0, node_child_process_1.execFileSync)("git", ["-C", root, "log", "-n", String(n + 1), "--format=%H%x09%s"], {
|
|
21
|
+
encoding: "utf8",
|
|
22
|
+
});
|
|
23
|
+
const commits = raw
|
|
24
|
+
.split("\n")
|
|
25
|
+
.filter(Boolean)
|
|
26
|
+
.map((line) => {
|
|
27
|
+
const tab = line.indexOf("\t");
|
|
28
|
+
return { sha: line.slice(0, tab), subject: line.slice(tab + 1) };
|
|
29
|
+
})
|
|
30
|
+
.reverse(); // oldest → newest
|
|
31
|
+
if (commits.length < 2)
|
|
32
|
+
return [];
|
|
33
|
+
const models = commits.map((c) => (0, snapshot_js_1.analyzeAtRef)(root, c.sha));
|
|
34
|
+
const out = [];
|
|
35
|
+
for (let i = 1; i < commits.length; i++) {
|
|
36
|
+
out.push({
|
|
37
|
+
sha: commits[i].sha,
|
|
38
|
+
subject: commits[i].subject,
|
|
39
|
+
diff: (0, model_diff_js_1.diffModels)(models[i - 1], models[i], short(commits[i - 1].sha), short(commits[i].sha)),
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
return out.reverse(); // newest first for display
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=history.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"history.js","sourceRoot":"","sources":["../../src/diff/history.ts"],"names":[],"mappings":";;AAsBA,0CA0BC;AAhDD;;;;;;;;GAQG;AACH,2DAAkD;AAClD,+CAA6C;AAC7C,mDAA6D;AAQ7D,MAAM,KAAK,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAE/C,mEAAmE;AACnE,SAAgB,eAAe,CAAC,IAAY,EAAE,CAAS;IACrD,oFAAoF;IACpF,MAAM,GAAG,GAAG,IAAA,iCAAY,EAAC,KAAK,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,mBAAmB,CAAC,EAAE;QAC7F,QAAQ,EAAE,MAAM;KACjB,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,GAAG;SAChB,KAAK,CAAC,IAAI,CAAC;SACX,MAAM,CAAC,OAAO,CAAC;SACf,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACZ,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC/B,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC;IACnE,CAAC,CAAC;SACD,OAAO,EAAE,CAAC,CAAC,kBAAkB;IAEhC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC;IAElC,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,0BAAY,EAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7D,MAAM,GAAG,GAAuB,EAAE,CAAC;IACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,GAAG,CAAC,IAAI,CAAC;YACP,GAAG,EAAE,OAAO,CAAC,CAAC,CAAE,CAAC,GAAG;YACpB,OAAO,EAAE,OAAO,CAAC,CAAC,CAAE,CAAC,OAAO;YAC5B,IAAI,EAAE,IAAA,0BAAU,EAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAE,EAAE,MAAM,CAAC,CAAC,CAAE,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAE,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAE,CAAC,GAAG,CAAC,CAAC;SACjG,CAAC,CAAC;IACL,CAAC;IACD,OAAO,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,2BAA2B;AACnD,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/** Architecture diff: drift detection (USP 4) + PR architecture diff (USP 5). */
|
|
2
|
+
export * from "./model-diff.js";
|
|
3
|
+
export { analyzeAtRef, resolveRef, GitRefError } from "./snapshot.js";
|
|
4
|
+
export { architectureLog, type CommitArchChange } from "./history.js";
|
|
5
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/diff/index.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,cAAc,iBAAiB,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,KAAK,gBAAgB,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.architectureLog = exports.GitRefError = exports.resolveRef = exports.analyzeAtRef = void 0;
|
|
18
|
+
/** Architecture diff: drift detection (USP 4) + PR architecture diff (USP 5). */
|
|
19
|
+
__exportStar(require("./model-diff.js"), exports);
|
|
20
|
+
var snapshot_js_1 = require("./snapshot.js");
|
|
21
|
+
Object.defineProperty(exports, "analyzeAtRef", { enumerable: true, get: function () { return snapshot_js_1.analyzeAtRef; } });
|
|
22
|
+
Object.defineProperty(exports, "resolveRef", { enumerable: true, get: function () { return snapshot_js_1.resolveRef; } });
|
|
23
|
+
Object.defineProperty(exports, "GitRefError", { enumerable: true, get: function () { return snapshot_js_1.GitRefError; } });
|
|
24
|
+
var history_js_1 = require("./history.js");
|
|
25
|
+
Object.defineProperty(exports, "architectureLog", { enumerable: true, get: function () { return history_js_1.architectureLog; } });
|
|
26
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/diff/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,iFAAiF;AACjF,kDAAgC;AAChC,6CAAsE;AAA7D,2GAAA,YAAY,OAAA;AAAE,yGAAA,UAAU,OAAA;AAAE,0GAAA,WAAW,OAAA;AAC9C,2CAAsE;AAA7D,6GAAA,eAAe,OAAA"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Architecture diff — compare two grounded models (USP 4 drift detection, USP 5
|
|
3
|
+
* PR architecture diff). Both features are the same operation: diff two
|
|
4
|
+
* `ArchitectureModel`s by stable id and report what changed at the *architecture*
|
|
5
|
+
* level (components, dependencies, external systems, capabilities) — not lines.
|
|
6
|
+
*
|
|
7
|
+
* Pure functions over the IR; the CLI decides which two models to compare
|
|
8
|
+
* (committed snapshot vs working tree, or git-ref vs working tree).
|
|
9
|
+
*/
|
|
10
|
+
import { type ArchitectureModel } from "../ir/types.js";
|
|
11
|
+
export interface ElementChange {
|
|
12
|
+
id: string;
|
|
13
|
+
/** Human label for the element. */
|
|
14
|
+
label: string;
|
|
15
|
+
/** A grounding ref if we have one (e.g. "src/x.ts:12"). */
|
|
16
|
+
ref?: string;
|
|
17
|
+
}
|
|
18
|
+
export interface CategoryDiff {
|
|
19
|
+
added: ElementChange[];
|
|
20
|
+
removed: ElementChange[];
|
|
21
|
+
}
|
|
22
|
+
export interface ModelDiff {
|
|
23
|
+
baseLabel: string;
|
|
24
|
+
headLabel: string;
|
|
25
|
+
components: CategoryDiff;
|
|
26
|
+
dependencies: CategoryDiff;
|
|
27
|
+
externalSystems: CategoryDiff;
|
|
28
|
+
capabilities: CategoryDiff;
|
|
29
|
+
/** Count of added+removed across all tracked categories. */
|
|
30
|
+
changedCount: number;
|
|
31
|
+
/** Size of the union of element ids across both models. */
|
|
32
|
+
totalCount: number;
|
|
33
|
+
/** changedCount / totalCount, 0..100. 0 = perfectly in sync. */
|
|
34
|
+
driftPct: number;
|
|
35
|
+
}
|
|
36
|
+
export declare function diffModels(base: ArchitectureModel, head: ArchitectureModel, baseLabel?: string, headLabel?: string): ModelDiff;
|
|
37
|
+
export declare function hasChanges(diff: ModelDiff): boolean;
|
|
38
|
+
/** One-line summary like "+3 components, +12 deps, -1 capabilities". */
|
|
39
|
+
export declare function summarizeChange(d: ModelDiff): string;
|
|
40
|
+
/** Terminal-friendly diff report. */
|
|
41
|
+
export declare function renderDiffText(diff: ModelDiff): string;
|
|
42
|
+
/** Markdown report — ready to post as a PR comment ("architecture code review"). */
|
|
43
|
+
export declare function renderDiffMarkdown(diff: ModelDiff): string;
|
|
44
|
+
//# sourceMappingURL=model-diff.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model-diff.d.ts","sourceRoot":"","sources":["../../src/diff/model-diff.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,KAAK,iBAAiB,EAAiB,MAAM,gBAAgB,CAAC;AAGvE,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,mCAAmC;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,2DAA2D;IAC3D,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,OAAO,EAAE,aAAa,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,SAAS;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,YAAY,CAAC;IACzB,YAAY,EAAE,YAAY,CAAC;IAC3B,eAAe,EAAE,YAAY,CAAC;IAC9B,YAAY,EAAE,YAAY,CAAC;IAC3B,4DAA4D;IAC5D,YAAY,EAAE,MAAM,CAAC;IACrB,2DAA2D;IAC3D,UAAU,EAAE,MAAM,CAAC;IACnB,gEAAgE;IAChE,QAAQ,EAAE,MAAM,CAAC;CAClB;AA+CD,wBAAgB,UAAU,CACxB,IAAI,EAAE,iBAAiB,EACvB,IAAI,EAAE,iBAAiB,EACvB,SAAS,SAAS,EAClB,SAAS,SAAS,GACjB,SAAS,CAgCX;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAEnD;AAED,wEAAwE;AACxE,wBAAgB,eAAe,CAAC,CAAC,EAAE,SAAS,GAAG,MAAM,CAWpD;AAiBD,qCAAqC;AACrC,wBAAgB,cAAc,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,CAetD;AAED,oFAAoF;AACpF,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,CAsB1D"}
|