@beignet/cli 0.0.39 → 0.0.41

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 (112) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/README.md +110 -16
  3. package/dist/analysis/source-index.d.ts +38 -0
  4. package/dist/analysis/source-index.d.ts.map +1 -0
  5. package/dist/analysis/source-index.js +271 -0
  6. package/dist/analysis/source-index.js.map +1 -0
  7. package/dist/analysis/workspace.d.ts +16 -0
  8. package/dist/analysis/workspace.d.ts.map +1 -0
  9. package/dist/analysis/workspace.js +134 -0
  10. package/dist/analysis/workspace.js.map +1 -0
  11. package/dist/app-map-schema.d.ts +5 -0
  12. package/dist/app-map-schema.d.ts.map +1 -0
  13. package/dist/app-map-schema.js +26 -0
  14. package/dist/app-map-schema.js.map +1 -0
  15. package/dist/app-map.d.ts +96 -0
  16. package/dist/app-map.d.ts.map +1 -0
  17. package/dist/app-map.js +1141 -0
  18. package/dist/app-map.js.map +1 -0
  19. package/dist/check.d.ts +7 -0
  20. package/dist/check.d.ts.map +1 -1
  21. package/dist/check.js +20 -5
  22. package/dist/check.js.map +1 -1
  23. package/dist/config.d.ts +1 -1
  24. package/dist/config.d.ts.map +1 -1
  25. package/dist/config.js +4 -2
  26. package/dist/config.js.map +1 -1
  27. package/dist/db.d.ts +32 -7
  28. package/dist/db.d.ts.map +1 -1
  29. package/dist/db.js +182 -14
  30. package/dist/db.js.map +1 -1
  31. package/dist/explain.d.ts +98 -0
  32. package/dist/explain.d.ts.map +1 -0
  33. package/dist/explain.js +512 -0
  34. package/dist/explain.js.map +1 -0
  35. package/dist/framework.d.ts +3 -0
  36. package/dist/framework.d.ts.map +1 -0
  37. package/dist/framework.js +6 -0
  38. package/dist/framework.js.map +1 -0
  39. package/dist/index.d.ts.map +1 -1
  40. package/dist/index.js +79 -2
  41. package/dist/index.js.map +1 -1
  42. package/dist/inspect.d.ts +4 -2
  43. package/dist/inspect.d.ts.map +1 -1
  44. package/dist/inspect.js +173 -36
  45. package/dist/inspect.js.map +1 -1
  46. package/dist/lib.d.ts +4 -0
  47. package/dist/lib.d.ts.map +1 -1
  48. package/dist/lib.js +2 -0
  49. package/dist/lib.js.map +1 -1
  50. package/dist/make/payments.d.ts.map +1 -1
  51. package/dist/make/payments.js +2 -0
  52. package/dist/make/payments.js.map +1 -1
  53. package/dist/make.d.ts.map +1 -1
  54. package/dist/make.js +157 -3
  55. package/dist/make.js.map +1 -1
  56. package/dist/mcp.d.ts +1 -1
  57. package/dist/mcp.d.ts.map +1 -1
  58. package/dist/mcp.js +69 -1
  59. package/dist/mcp.js.map +1 -1
  60. package/dist/preflight.d.ts.map +1 -1
  61. package/dist/preflight.js +10 -0
  62. package/dist/preflight.js.map +1 -1
  63. package/dist/provider-add.d.ts.map +1 -1
  64. package/dist/provider-add.js +167 -13
  65. package/dist/provider-add.js.map +1 -1
  66. package/dist/provider-audit.d.ts +6 -0
  67. package/dist/provider-audit.d.ts.map +1 -1
  68. package/dist/provider-audit.js +63 -15
  69. package/dist/provider-audit.js.map +1 -1
  70. package/dist/templates/agents.d.ts.map +1 -1
  71. package/dist/templates/agents.js +17 -4
  72. package/dist/templates/agents.js.map +1 -1
  73. package/dist/templates/base.d.ts.map +1 -1
  74. package/dist/templates/base.js +10 -4
  75. package/dist/templates/base.js.map +1 -1
  76. package/dist/templates/index.d.ts +1 -1
  77. package/dist/templates/index.d.ts.map +1 -1
  78. package/dist/templates/index.js +8 -1
  79. package/dist/templates/index.js.map +1 -1
  80. package/dist/templates/server.d.ts +3 -0
  81. package/dist/templates/server.d.ts.map +1 -1
  82. package/dist/templates/server.js +55 -1
  83. package/dist/templates/server.js.map +1 -1
  84. package/dist/templates/shadcn.js +1 -1
  85. package/dist/templates/shared.js +1 -1
  86. package/package.json +2 -2
  87. package/skills/app-structure/SKILL.md +38 -5
  88. package/src/analysis/source-index.ts +395 -0
  89. package/src/analysis/workspace.ts +180 -0
  90. package/src/app-map-schema.ts +28 -0
  91. package/src/app-map.ts +1705 -0
  92. package/src/check.ts +27 -4
  93. package/src/config.ts +7 -3
  94. package/src/db.ts +232 -14
  95. package/src/explain.ts +786 -0
  96. package/src/framework.ts +13 -0
  97. package/src/index.ts +113 -2
  98. package/src/inspect.ts +259 -40
  99. package/src/lib.ts +36 -0
  100. package/src/make/payments.ts +7 -0
  101. package/src/make.ts +232 -2
  102. package/src/mcp.ts +107 -1
  103. package/src/preflight.ts +14 -0
  104. package/src/provider-add.ts +211 -12
  105. package/src/provider-audit.ts +127 -22
  106. package/src/templates/agents.ts +17 -4
  107. package/src/templates/base.ts +22 -4
  108. package/src/templates/index.ts +18 -1
  109. package/src/templates/server.ts +58 -1
  110. package/src/templates/shadcn.ts +1 -1
  111. package/src/templates/shared.ts +1 -1
  112. package/src/test-helpers/generated-app.ts +1 -1
@@ -0,0 +1,134 @@
1
+ import { readdir, readFile, stat } from "node:fs/promises";
2
+ import path from "node:path";
3
+ import ts from "typescript";
4
+ import { directoryPath, loadBeignetConfig, normalizePath, } from "../config.js";
5
+ const ignoredDirectoryNames = new Set([
6
+ ".git",
7
+ ".next",
8
+ ".turbo",
9
+ "coverage",
10
+ "dist",
11
+ "node_modules",
12
+ ]);
13
+ export async function createAnalysisWorkspace(cwd = process.cwd()) {
14
+ const targetDir = path.resolve(cwd);
15
+ await assertDirectory(targetDir);
16
+ const files = await listProjectFiles(targetDir);
17
+ const fileSet = new Set(files);
18
+ const config = await loadBeignetConfig(targetDir, files);
19
+ const atAliasRoot = resolveAtAliasRoot(targetDir);
20
+ const sources = new Map();
21
+ const sourceFiles = new Map();
22
+ const readSource = async (file) => {
23
+ const cached = sources.get(file);
24
+ if (cached !== undefined)
25
+ return cached;
26
+ const source = await readFile(path.join(targetDir, file), "utf8");
27
+ sources.set(file, source);
28
+ return source;
29
+ };
30
+ return {
31
+ targetDir,
32
+ files,
33
+ fileSet,
34
+ config,
35
+ atAliasRoot,
36
+ readSource,
37
+ async readSourceFile(file) {
38
+ const cached = sourceFiles.get(file);
39
+ if (cached)
40
+ return cached;
41
+ const sourceFile = ts.createSourceFile(file, await readSource(file), ts.ScriptTarget.Latest, true, scriptKind(file));
42
+ sourceFiles.set(file, sourceFile);
43
+ return sourceFile;
44
+ },
45
+ };
46
+ }
47
+ export async function assertDirectory(targetDir) {
48
+ try {
49
+ const stats = await stat(targetDir);
50
+ if (!stats.isDirectory()) {
51
+ throw new Error(`${targetDir} is not a directory.`);
52
+ }
53
+ }
54
+ catch (error) {
55
+ if (error instanceof Error && error.message.includes("not a directory")) {
56
+ throw error;
57
+ }
58
+ throw new Error(`Directory ${targetDir} does not exist.`);
59
+ }
60
+ }
61
+ export async function listProjectFiles(targetDir) {
62
+ const files = [];
63
+ async function visit(relativeDir) {
64
+ const absoluteDir = path.join(targetDir, relativeDir);
65
+ const entries = await readdir(absoluteDir, { withFileTypes: true });
66
+ for (const entry of entries) {
67
+ if (ignoredDirectoryNames.has(entry.name))
68
+ continue;
69
+ const relativePath = normalizePath(path.join(relativeDir, entry.name));
70
+ if (entry.isDirectory()) {
71
+ await visit(relativePath);
72
+ }
73
+ else if (entry.isFile()) {
74
+ files.push(relativePath);
75
+ }
76
+ }
77
+ }
78
+ await visit("");
79
+ return files.sort();
80
+ }
81
+ export function resolveLocalSourceFile(workspace, importerFile, importPath) {
82
+ let candidate;
83
+ if (importPath.startsWith("@/")) {
84
+ candidate = path.posix.join(workspace.atAliasRoot, importPath.slice("@/".length));
85
+ }
86
+ else if (importPath.startsWith(".")) {
87
+ candidate = normalizePath(path.join(path.dirname(importerFile), importPath));
88
+ }
89
+ else {
90
+ return undefined;
91
+ }
92
+ const withoutExtension = candidate.replace(/\.(c|m)?tsx?$/, "");
93
+ const candidates = [
94
+ candidate,
95
+ `${withoutExtension}.ts`,
96
+ `${withoutExtension}.tsx`,
97
+ `${withoutExtension}.mts`,
98
+ `${withoutExtension}.cts`,
99
+ `${withoutExtension}/index.ts`,
100
+ `${withoutExtension}/index.tsx`,
101
+ `${withoutExtension}/index.mts`,
102
+ `${withoutExtension}/index.cts`,
103
+ ];
104
+ return candidates.find((file) => workspace.fileSet.has(file));
105
+ }
106
+ function resolveAtAliasRoot(targetDir) {
107
+ const parsed = ts.getParsedCommandLineOfConfigFile(path.join(targetDir, "tsconfig.json"), {}, {
108
+ ...ts.sys,
109
+ onUnRecoverableConfigFileDiagnostic: () => { },
110
+ });
111
+ const aliasTarget = parsed?.options.paths?.["@/*"]?.[0];
112
+ if (!aliasTarget)
113
+ return "";
114
+ const targetWithoutWildcard = aliasTarget.replace(/[/\\]?\*$/, "");
115
+ const baseUrl = parsed.options.baseUrl ?? targetDir;
116
+ const relativeTarget = normalizePath(path.relative(targetDir, path.resolve(baseUrl, targetWithoutWildcard)));
117
+ if (relativeTarget === "" ||
118
+ relativeTarget === "." ||
119
+ relativeTarget === ".." ||
120
+ relativeTarget.startsWith("../")) {
121
+ return "";
122
+ }
123
+ return directoryPath(relativeTarget);
124
+ }
125
+ function scriptKind(file) {
126
+ if (file.endsWith(".tsx"))
127
+ return ts.ScriptKind.TSX;
128
+ if (file.endsWith(".jsx"))
129
+ return ts.ScriptKind.JSX;
130
+ if (file.endsWith(".js") || file.endsWith(".mjs"))
131
+ return ts.ScriptKind.JS;
132
+ return ts.ScriptKind.TS;
133
+ }
134
+ //# sourceMappingURL=workspace.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace.js","sourceRoot":"","sources":["../../src/analysis/workspace.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ /** Node kinds emitted by the version 1 Beignet app-map schema. */
2
+ export declare const appMapNodeKinds: readonly ["feature", "contract", "route", "route-group", "use-case", "policy", "ability", "event", "listener", "job", "schedule", "task", "notification", "upload", "agent-capability", "registry", "port", "provider", "table", "openapi", "entrypoint", "test"];
3
+ /** One node-kind value from the version 1 Beignet app-map schema. */
4
+ export type AppMapNodeKind = (typeof appMapNodeKinds)[number];
5
+ //# sourceMappingURL=app-map-schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-map-schema.d.ts","sourceRoot":"","sources":["../src/app-map-schema.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,eAAO,MAAM,eAAe,mQAuBlB,CAAC;AAEX,qEAAqE;AACrE,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC"}
@@ -0,0 +1,26 @@
1
+ /** Node kinds emitted by the version 1 Beignet app-map schema. */
2
+ export const appMapNodeKinds = [
3
+ "feature",
4
+ "contract",
5
+ "route",
6
+ "route-group",
7
+ "use-case",
8
+ "policy",
9
+ "ability",
10
+ "event",
11
+ "listener",
12
+ "job",
13
+ "schedule",
14
+ "task",
15
+ "notification",
16
+ "upload",
17
+ "agent-capability",
18
+ "registry",
19
+ "port",
20
+ "provider",
21
+ "table",
22
+ "openapi",
23
+ "entrypoint",
24
+ "test",
25
+ ];
26
+ //# sourceMappingURL=app-map-schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-map-schema.js","sourceRoot":"","sources":["../src/app-map-schema.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,SAAS;IACT,UAAU;IACV,OAAO;IACP,aAAa;IACb,UAAU;IACV,QAAQ;IACR,SAAS;IACT,OAAO;IACP,UAAU;IACV,KAAK;IACL,UAAU;IACV,MAAM;IACN,cAAc;IACd,QAAQ;IACR,kBAAkB;IAClB,UAAU;IACV,MAAM;IACN,UAAU;IACV,OAAO;IACP,SAAS;IACT,YAAY;IACZ,MAAM;CACE,CAAC"}
@@ -0,0 +1,96 @@
1
+ import type { AppMapNodeKind } from "./app-map-schema.js";
2
+ import { type InspectDiagnostic } from "./inspect.js";
3
+ import { type LintDiagnostic } from "./lint.js";
4
+ export type { AppMapNodeKind } from "./app-map-schema.js";
5
+ export { appMapNodeKinds } from "./app-map-schema.js";
6
+ /** Registration state inferred for an app-map node. */
7
+ export type AppMapNodeStatus = "declared" | "registered" | "missing" | "conditional" | "unresolved";
8
+ /** Project-relative source evidence for an app-map node or finding. */
9
+ export type AppMapSource = {
10
+ file: string;
11
+ exportName?: string;
12
+ line?: number;
13
+ column?: number;
14
+ };
15
+ /** One declared or inferred application concept in the app-map graph. */
16
+ export type AppMapNode = {
17
+ id: string;
18
+ kind: AppMapNodeKind;
19
+ name: string;
20
+ runtimeName?: string;
21
+ feature?: string;
22
+ source: AppMapSource;
23
+ status?: AppMapNodeStatus;
24
+ details?: Record<string, unknown>;
25
+ };
26
+ /** Relationships emitted by the version 1 app-map graph. */
27
+ export type AppMapEdgeKind = "owns" | "binds" | "executes" | "authorizes" | "emits" | "dispatches" | "sends" | "publishes" | "provides" | "registers" | "listens-to" | "exposes" | "depends-on" | "contains-test";
28
+ /** A directed relationship between two app-map nodes with source evidence. */
29
+ export type AppMapEdge = {
30
+ kind: AppMapEdgeKind;
31
+ from: string;
32
+ to: string;
33
+ evidence: {
34
+ file: string;
35
+ line?: number;
36
+ column?: number;
37
+ confidence: "exact" | "partial";
38
+ };
39
+ details?: Record<string, unknown>;
40
+ };
41
+ /** A relationship the static analyzer could not resolve into graph nodes. */
42
+ export type AppMapUnresolvedReference = {
43
+ code: string;
44
+ message: string;
45
+ source: AppMapSource;
46
+ };
47
+ /** Aggregate counts for a complete app map or projected view. */
48
+ export type AppMapSummary = {
49
+ features: number;
50
+ contracts: number;
51
+ routes: number;
52
+ useCases: number;
53
+ workflows: number;
54
+ ports: number;
55
+ providers: number;
56
+ openApiDocuments: number;
57
+ agentCapabilities: number;
58
+ diagnostics: number;
59
+ unresolved: number;
60
+ };
61
+ /** Version 1 source-backed graph for a Beignet application. */
62
+ export type AppMapResult = {
63
+ schemaVersion: 1;
64
+ targetDir: string;
65
+ app: {
66
+ framework: "next" | "web";
67
+ convention: "standard" | "next" | "web" | "custom";
68
+ configFile?: string;
69
+ };
70
+ summary: AppMapSummary;
71
+ nodes: AppMapNode[];
72
+ edges: AppMapEdge[];
73
+ diagnostics: {
74
+ doctor: InspectDiagnostic[];
75
+ lint: LintDiagnostic[];
76
+ };
77
+ unresolved: AppMapUnresolvedReference[];
78
+ };
79
+ /** Options for building a complete Beignet app map. */
80
+ export type AppMapOptions = {
81
+ cwd?: string;
82
+ strict?: boolean;
83
+ };
84
+ /** Filters for selecting a token-bounded view of an app map. */
85
+ export type AppMapProjectionOptions = {
86
+ feature?: string;
87
+ kinds?: readonly AppMapNodeKind[];
88
+ includeDiagnostics?: boolean;
89
+ };
90
+ /** Build a deterministic, side-effect-free map of one Beignet app. */
91
+ export declare function mapApp(options?: AppMapOptions): Promise<AppMapResult>;
92
+ /** Select a token-bounded view of a full app map. */
93
+ export declare function projectAppMap(result: AppMapResult, options?: AppMapProjectionOptions): AppMapResult;
94
+ /** Format a compact human-readable inventory of a Beignet app map. */
95
+ export declare function formatAppMap(result: AppMapResult): string;
96
+ //# sourceMappingURL=app-map.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-map.d.ts","sourceRoot":"","sources":["../src/app-map.ts"],"names":[],"mappings":"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"}