@builder.io/dev-tools 1.25.0-dev.202602091458.dcd80d476 → 1.25.0-dev.202602091727.eacc0b043
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/cli/index.cjs +318 -512
- package/cli/index.cjs.map +4 -4
- package/core/index.cjs +1 -1
- package/core/index.mjs +1 -1
- package/node/index.cjs +1 -1
- package/node/index.mjs +1 -1
- package/package.json +3 -3
- package/server/index.cjs +90 -16
- package/server/index.mjs +90 -16
- package/types/_tests_/utils.d.ts +35 -48
- package/types/cli/abort-signal-any.d.ts +1 -3
- package/types/cli/auth/auth-utils.d.ts +1 -3
- package/types/cli/auth/auth.d.ts +1 -5
- package/types/cli/backup.d.ts +60 -114
- package/types/cli/builder-add/interface.d.ts +4 -21
- package/types/cli/code-file-utils.d.ts +8 -11
- package/types/cli/code.d.ts +3 -13
- package/types/cli/codegen.d.ts +1 -9
- package/types/cli/credentials.d.ts +45 -61
- package/types/cli/detectors/nextjs.d.ts +1 -4
- package/types/cli/detectors/svelte.d.ts +1 -4
- package/types/cli/detectors/vue.d.ts +1 -4
- package/types/cli/download.d.ts +4 -9
- package/types/cli/dsi-mcp.d.ts +1 -4
- package/types/cli/figma-publish.d.ts +17 -34
- package/types/cli/figma-utils.d.ts +21 -51
- package/types/cli/figma.d.ts +2 -9
- package/types/cli/generate.d.ts +11 -14
- package/types/cli/incremental-tsc.d.ts +7 -19
- package/types/cli/index.d.ts +154 -154
- package/types/cli/indexing.d.ts +5 -0
- package/types/cli/launch/config.d.ts +3 -13
- package/types/cli/launch/dry-run-backup.d.ts +7 -14
- package/types/cli/launch/errors.d.ts +2 -7
- package/types/cli/launch/github.d.ts +3 -0
- package/types/cli/launch/grafana.d.ts +1 -5
- package/types/cli/launch/helpers.d.ts +10 -19
- package/types/cli/launch/machine-health.d.ts +3 -8
- package/types/cli/launch/proxy.d.ts +4 -11
- package/types/cli/launch/server.d.ts +12 -19
- package/types/cli/launch/vscode-tunnel-manager.d.ts +68 -77
- package/types/cli/launch.d.ts +106 -109
- package/types/cli/prettier.d.ts +2 -9
- package/types/cli/repo-connect/env-collector.d.ts +11 -16
- package/types/cli/repo-connect/file-collector.d.ts +15 -22
- package/types/cli/repo-connect/git-detector.d.ts +11 -13
- package/types/cli/repo-connect/install-runner.d.ts +5 -8
- package/types/cli/repo-connect/package-detector.d.ts +8 -12
- package/types/cli/repo-connect/repo-connect.d.ts +1 -4
- package/types/cli/repo-indexing/component-discovery.d.ts +17 -30
- package/types/cli/repo-indexing/icons.d.ts +24 -36
- package/types/cli/repo-indexing/installation.d.ts +14 -22
- package/types/cli/repo-indexing/repo-indexing-utils.d.ts +79 -138
- package/types/cli/repo-indexing/repo-indexing.d.ts +17 -37
- package/types/cli/repo-indexing/repo-indexing.mock.d.ts +3 -3
- package/types/cli/repo-indexing/tokens.d.ts +25 -44
- package/types/cli/repo-indexing.d.ts +17 -0
- package/types/cli/repo-indexing.mock.d.ts +5 -0
- package/types/cli/repo-metrics-utils.d.ts +5 -13
- package/types/cli/repo-metrics.d.ts +1 -4
- package/types/cli/report/figma-report.d.ts +36 -63
- package/types/cli/server-ws.d.ts +32 -40
- package/types/cli/spinner.d.ts +4 -4
- package/types/cli/track.d.ts +1 -4
- package/types/cli/utils/agent-discovery.d.ts +5 -10
- package/types/cli/utils/agent-parser.d.ts +6 -0
- package/types/cli/utils/codegen-utils.d.ts +1 -10
- package/types/cli/utils/component-group-mdx-prompt.d.ts +1 -2
- package/types/cli/utils/dev-server-url-parser.d.ts +12 -0
- package/types/cli/utils/dev-server-url-parser.test.d.ts +1 -0
- package/types/cli/utils/discovery-test-utils.d.ts +1 -3
- package/types/cli/utils/env-capture.d.ts +15 -21
- package/types/cli/utils/env-substitution.d.ts +1 -4
- package/types/cli/utils/feature-flags.d.ts +1 -3
- package/types/cli/utils/file-overrides-manager.d.ts +23 -39
- package/types/cli/utils/git.d.ts +16 -28
- package/types/cli/utils/hosts-file-manager.d.ts +4 -7
- package/types/cli/utils/lock-file.d.ts +7 -10
- package/types/cli/utils/parseGitDiff.d.ts +1 -4
- package/types/cli/utils/process-tracker.d.ts +51 -85
- package/types/cli/utils/repo-indexing-group-prompts.d.ts +1 -0
- package/types/cli/utils/rules-discovery.d.ts +5 -10
- package/types/cli/utils/rules-parser.d.ts +1 -5
- package/types/cli/utils/terminal-buffer.d.ts +23 -23
- package/types/cli/utils/workspace-path-resolver.d.ts +16 -23
- package/types/cli/utils/yaml-frontmatter.d.ts +6 -10
- package/types/client/client-api.d.ts +10 -42
- package/types/client/edit-button/document-listeners.d.ts +1 -3
- package/types/client/edit-button/index.d.ts +6 -6
- package/types/client/menu/index.d.ts +3 -3
- package/types/client/menu/pages/component-detail.d.ts +2 -8
- package/types/client/menu/pages/component-input.d.ts +1 -5
- package/types/client/menu/pages/component-list.d.ts +1 -4
- package/types/client/menu/toggle/menu-toggle.d.ts +1 -4
- package/types/client/setup-ui/overview.d.ts +2 -2
- package/types/client/tracking.d.ts +11 -11
- package/types/client/utils.d.ts +3 -5
- package/types/common/ast/app-dependencies.d.ts +2 -8
- package/types/common/ast/component-info.d.ts +6 -26
- package/types/common/ast/component-input-types.d.ts +9 -28
- package/types/common/ast/component-registry.d.ts +8 -23
- package/types/common/ast/convert-values.d.ts +8 -40
- package/types/common/ast/ensure-array-statement.d.ts +3 -7
- package/types/common/ast/ensure-comments.d.ts +1 -5
- package/types/common/ast/ensure-imports.d.ts +5 -10
- package/types/common/ast/exported-statements.d.ts +4 -8
- package/types/common/ast/imported-statements.d.ts +1 -5
- package/types/common/ast/normalize-statements.d.ts +3 -12
- package/types/common/ast/remove-unused-imports.d.ts +1 -4
- package/types/common/ast/transform.d.ts +3 -13
- package/types/common/ast/utils.d.ts +19 -42
- package/types/common/builder/builder-api.d.ts +23 -32
- package/types/common/builder/builder-sdks.d.ts +8 -10
- package/types/common/builder/content-generation.d.ts +7 -10
- package/types/common/builder/content-ids.d.ts +1 -2
- package/types/common/cache.d.ts +1 -4
- package/types/common/constants.d.ts +1 -2
- package/types/common/dotenv.d.ts +5 -24
- package/types/common/errors.d.ts +22 -50
- package/types/common/fs.d.ts +4 -17
- package/types/common/interactive-select-files.d.ts +2 -16
- package/types/common/mem-sys.d.ts +5 -7
- package/types/common/node-request.d.ts +4 -4
- package/types/common/path.d.ts +3 -1
- package/types/common/test-utils.d.ts +7 -21
- package/types/common/typescript.d.ts +7 -26
- package/types/common/utils.d.ts +8 -36
- package/types/core/adapters/angular/angular-api-key.d.ts +6 -29
- package/types/core/adapters/angular/angular-app-module-imports.d.ts +2 -12
- package/types/core/adapters/angular/angular-app-routes-update.d.ts +1 -6
- package/types/core/adapters/angular/angular-components.d.ts +12 -40
- package/types/core/adapters/angular/angular-ensure-builder-setup.d.ts +3 -9
- package/types/core/adapters/angular/angular-ensure-config-plugin.d.ts +4 -16
- package/types/core/adapters/angular/angular-fix-tsconfig.d.ts +1 -3
- package/types/core/adapters/angular/angular-registry-parse.d.ts +10 -22
- package/types/core/adapters/angular/angular-registry.d.ts +2 -15
- package/types/core/adapters/angular/angular-test-utils.d.ts +4 -8
- package/types/core/adapters/angular/index.d.ts +12 -20
- package/types/core/adapters/angular/types.d.ts +5 -5
- package/types/core/adapters/next/index.d.ts +18 -26
- package/types/core/adapters/next/next-api-key.d.ts +1 -4
- package/types/core/adapters/next/next-component-info.d.ts +2 -9
- package/types/core/adapters/next/next-components.d.ts +1 -4
- package/types/core/adapters/next/next-ensure-builder-setup.d.ts +2 -6
- package/types/core/adapters/next/next-ensure-config-plugin.d.ts +1 -5
- package/types/core/adapters/next/next-registry-parse.d.ts +8 -21
- package/types/core/adapters/next/next-registry.d.ts +2 -15
- package/types/core/adapters/next/next-test-utils.d.ts +11 -21
- package/types/core/adapters/qwik-city/index.d.ts +6 -14
- package/types/core/adapters/qwik-city/qwik-api-key.d.ts +1 -4
- package/types/core/adapters/qwik-city/qwik-component-source-inputs.d.ts +1 -4
- package/types/core/adapters/qwik-city/qwik-components.d.ts +8 -23
- package/types/core/adapters/qwik-city/qwik-ensure-builder-setup.d.ts +2 -6
- package/types/core/adapters/qwik-city/qwik-ensure-config-plugin.d.ts +1 -5
- package/types/core/adapters/qwik-city/qwik-registry-parse.d.ts +10 -22
- package/types/core/adapters/qwik-city/qwik-registry.d.ts +2 -15
- package/types/core/adapters/qwik-city/qwik-test-utils.d.ts +4 -8
- package/types/core/adapters/qwik-city/qwik-ts-program.d.ts +1 -3
- package/types/core/adapters/react/index.d.ts +11 -19
- package/types/core/adapters/react/react-api-key.d.ts +1 -4
- package/types/core/adapters/react/react-builder-sdk-setup.d.ts +1 -3
- package/types/core/adapters/react/react-component-info.d.ts +2 -9
- package/types/core/adapters/react/react-components.d.ts +11 -37
- package/types/core/adapters/react/react-ensure-builder-setup.d.ts +2 -6
- package/types/core/adapters/react/react-registry-parse.d.ts +8 -21
- package/types/core/adapters/react/react-registry.d.ts +2 -15
- package/types/core/adapters/react/react-test-utils.d.ts +5 -11
- package/types/core/adapters/react/react-ts-program.d.ts +1 -3
- package/types/core/adapters/remix/index.d.ts +11 -19
- package/types/core/adapters/remix/remix-api-key.d.ts +1 -4
- package/types/core/adapters/remix/remix-components.d.ts +1 -4
- package/types/core/adapters/remix/remix-ensure-builder-setup.d.ts +3 -9
- package/types/core/adapters/remix/remix-ensure-config-plugin.d.ts +1 -5
- package/types/core/adapters/remix/remix-registry-parse.d.ts +10 -22
- package/types/core/adapters/remix/remix-registry.d.ts +2 -15
- package/types/core/adapters/remix/remix-test-utils.d.ts +5 -11
- package/types/core/adapters/vite/vite-ensure-config-plugin.d.ts +2 -12
- package/types/core/adapters/vue/index.d.ts +12 -20
- package/types/core/adapters/vue/vue-api-key.d.ts +1 -4
- package/types/core/adapters/vue/vue-components.d.ts +2 -10
- package/types/core/adapters/vue/vue-ensure-builder-setup.d.ts +3 -7
- package/types/core/adapters/vue/vue-registry-parse.d.ts +9 -19
- package/types/core/adapters/vue/vue-registry.d.ts +3 -6
- package/types/core/adapters/webpack/webpack-config-helpers.d.ts +3 -8
- package/types/core/adapters/webpack/webpack-ensure-config-plugin.d.ts +1 -5
- package/types/core/create-dev-tools.d.ts +1 -4
- package/types/core/detect-frameworks.d.ts +2 -7
- package/types/core/ensure-config-plugin.d.ts +2 -6
- package/types/core/find-dependencies.d.ts +3 -6
- package/types/core/import-export-registry.d.ts +2 -9
- package/types/core/index.d.ts +3 -18
- package/types/figma/index.d.ts +64 -95
- package/types/node/node-sys.d.ts +6 -13
- package/types/remix/index.d.ts +3 -5
- package/types/server/auth.d.ts +1 -4
- package/types/server/builder-connect.d.ts +6 -21
- package/types/server/client-script.d.ts +2 -6
- package/types/server/create-dev-tools-server.d.ts +1 -3
- package/types/server/dev-tools-api.d.ts +1 -4
- package/types/server/dev-tools-http-server.d.ts +1 -3
- package/types/server/index.d.ts +1 -28
- package/types/server/request-handler.d.ts +1 -6
- package/types/tsconfig.tsbuildinfo +1 -1
- package/types/types/codegen-server.d.ts +1 -1
- package/types/types/connection-tracker.d.ts +34 -34
- package/types/types/proxy-middleware.d.ts +15 -25
- package/types/types/websocket-types.d.ts +7 -9
- package/types/types.d.ts +358 -387
- package/types/vite/main.d.ts +1 -1
- package/types/webpack/main.d.ts +5 -5
- package/vendors/darwin-arm64/complete/rg.bash +0 -783
- package/vendors/darwin-arm64/complete/rg.fish +0 -175
- package/vendors/darwin-arm64/doc/rg.1 +0 -2178
- package/vendors/darwin-arm64/rg +0 -0
- package/vendors/darwin-x64/complete/rg.bash +0 -783
- package/vendors/darwin-x64/complete/rg.fish +0 -175
- package/vendors/darwin-x64/doc/rg.1 +0 -2178
- package/vendors/darwin-x64/rg +0 -0
- package/vendors/linux-arm64/complete/rg.bash +0 -783
- package/vendors/linux-arm64/complete/rg.fish +0 -175
- package/vendors/linux-arm64/doc/rg.1 +0 -2178
- package/vendors/linux-arm64/rg +0 -0
- package/vendors/linux-x64/complete/rg.bash +0 -783
- package/vendors/linux-x64/complete/rg.fish +0 -175
- package/vendors/linux-x64/doc/rg.1 +0 -2178
- package/vendors/linux-x64/rg +0 -0
- package/vendors/win32-x64/rg.exe +0 -0
|
@@ -10,16 +10,14 @@ export declare function safeReadFile(filePath: string): string | null;
|
|
|
10
10
|
* Package manager information
|
|
11
11
|
*/
|
|
12
12
|
export interface PackageManagerInfo {
|
|
13
|
-
|
|
14
|
-
|
|
13
|
+
manager: "npm" | "yarn" | "pnpm" | "bun";
|
|
14
|
+
setupCommand: string;
|
|
15
15
|
}
|
|
16
16
|
/**
|
|
17
17
|
* Detect the package manager at the root level based on lock files
|
|
18
18
|
* Returns the specific package manager command for setup
|
|
19
19
|
*/
|
|
20
|
-
export declare function detectRootPackageManager(
|
|
21
|
-
files: string[],
|
|
22
|
-
): PackageManagerInfo | null;
|
|
20
|
+
export declare function detectRootPackageManager(files: string[]): PackageManagerInfo | null;
|
|
23
21
|
/**
|
|
24
22
|
* Check if a file exists at the root level
|
|
25
23
|
*/
|
|
@@ -27,14 +25,8 @@ export declare function hasRootFile(files: string[], fileName: string): boolean;
|
|
|
27
25
|
/**
|
|
28
26
|
* Check if any file matches a pattern at the root level
|
|
29
27
|
*/
|
|
30
|
-
export declare function hasRootFileMatching(
|
|
31
|
-
files: string[],
|
|
32
|
-
predicate: (fileName: string) => boolean,
|
|
33
|
-
): boolean;
|
|
28
|
+
export declare function hasRootFileMatching(files: string[], predicate: (fileName: string) => boolean): boolean;
|
|
34
29
|
/**
|
|
35
30
|
* Check if a directory exists at the root level
|
|
36
31
|
*/
|
|
37
|
-
export declare function hasRootDirectory(
|
|
38
|
-
files: string[],
|
|
39
|
-
directoryName: string,
|
|
40
|
-
): boolean;
|
|
32
|
+
export declare function hasRootDirectory(files: string[], directoryName: string): boolean;
|
|
@@ -15,7 +15,4 @@ export declare function isExactVersion(version: string | undefined): boolean;
|
|
|
15
15
|
* @param basePath - Absolute path to the repository root
|
|
16
16
|
* @param rootPath - Relative path within the repository to analyze (default: "/" for entire repo)
|
|
17
17
|
*/
|
|
18
|
-
export declare function collectRepoMetrics(
|
|
19
|
-
sys: DevToolsSys,
|
|
20
|
-
basePath: string,
|
|
21
|
-
): Promise<RepoMetrics>;
|
|
18
|
+
export declare function collectRepoMetrics(sys: DevToolsSys, basePath: string): Promise<RepoMetrics>;
|
|
@@ -1,81 +1,54 @@
|
|
|
1
1
|
import type { FigmaComponentInfo } from "$/ai-utils";
|
|
2
2
|
import type { CLIArgs } from "..";
|
|
3
3
|
import type { DevToolsSys } from "../../core";
|
|
4
|
-
import type {
|
|
5
|
-
PublishedComponent,
|
|
6
|
-
PublishedComponentSet,
|
|
7
|
-
} from "@figma/rest-api-spec";
|
|
4
|
+
import type { PublishedComponent, PublishedComponentSet } from "@figma/rest-api-spec";
|
|
8
5
|
type Context = {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
6
|
+
sys: DevToolsSys;
|
|
7
|
+
args: CLIArgs;
|
|
8
|
+
debug: (msg: unknown) => void;
|
|
9
|
+
figmaAuth: {
|
|
10
|
+
access_token: string;
|
|
11
|
+
oauth: boolean;
|
|
12
|
+
};
|
|
16
13
|
};
|
|
17
14
|
/**
|
|
18
15
|
* A component or component set
|
|
19
16
|
*/
|
|
20
17
|
type FigmaTeamComponent = {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
18
|
+
/** The unique identifier for the component. */
|
|
19
|
+
key: string;
|
|
20
|
+
/** The unique identifier of the Figma file that contains the component. */
|
|
21
|
+
file_key: string;
|
|
22
|
+
/** The unique identifier of the component node within the Figma file. */
|
|
23
|
+
node_id: string;
|
|
24
|
+
/** A URL to a thumbnail image of the component. */
|
|
25
|
+
thumbnail_url?: string;
|
|
26
|
+
/** The name of the component. */
|
|
27
|
+
name: string;
|
|
28
|
+
/** The description of the component as entered by the publisher. */
|
|
29
|
+
description: string;
|
|
30
|
+
/** The component data. */
|
|
31
|
+
componentData?: FigmaComponentInfo;
|
|
32
|
+
/** Whether the component is published. */
|
|
33
|
+
isPublished?: boolean;
|
|
37
34
|
};
|
|
38
35
|
export declare function extractFigmaIds(url: string): {
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
36
|
+
teamId?: string;
|
|
37
|
+
fileKey?: string;
|
|
38
|
+
nodeId?: string;
|
|
42
39
|
};
|
|
43
|
-
export declare function fetchTeamComponents(
|
|
44
|
-
|
|
45
|
-
teamId: string,
|
|
46
|
-
onProgress: () => void,
|
|
47
|
-
): Promise<PublishedComponent[]>;
|
|
48
|
-
export declare function fetchTeamComponentSets(
|
|
49
|
-
context: Context,
|
|
50
|
-
teamId: string,
|
|
51
|
-
onProgress: () => void,
|
|
52
|
-
): Promise<PublishedComponentSet[]>;
|
|
40
|
+
export declare function fetchTeamComponents(context: Context, teamId: string, onProgress: () => void): Promise<PublishedComponent[]>;
|
|
41
|
+
export declare function fetchTeamComponentSets(context: Context, teamId: string, onProgress: () => void): Promise<PublishedComponentSet[]>;
|
|
53
42
|
/**
|
|
54
43
|
* Returns a list of components and component sets that are present in the file or selection as
|
|
55
44
|
* well as a set of remote keys for components that are referenced but not present.
|
|
56
45
|
*/
|
|
57
|
-
export declare function processFileOrSelection(
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
nodeId?: string,
|
|
61
|
-
): Promise<{
|
|
62
|
-
fileComponents: FigmaTeamComponent[];
|
|
63
|
-
remoteKeys: Set<string>;
|
|
46
|
+
export declare function processFileOrSelection(context: Context, fileKey: string, nodeId?: string): Promise<{
|
|
47
|
+
fileComponents: FigmaTeamComponent[];
|
|
48
|
+
remoteKeys: Set<string>;
|
|
64
49
|
}>;
|
|
65
|
-
export declare function fetchRemoteComponentData(
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
export declare function resolveComponentData(
|
|
70
|
-
context: Context,
|
|
71
|
-
components: FigmaTeamComponent[],
|
|
72
|
-
): Promise<FigmaTeamComponent[]>;
|
|
73
|
-
export declare function generateComponentReport(
|
|
74
|
-
component: FigmaTeamComponent,
|
|
75
|
-
baseDir: string,
|
|
76
|
-
): Promise<void>;
|
|
77
|
-
export declare const runFigmaReport: (
|
|
78
|
-
sys: DevToolsSys,
|
|
79
|
-
args: CLIArgs,
|
|
80
|
-
) => Promise<void>;
|
|
50
|
+
export declare function fetchRemoteComponentData(context: Context, remoteKeys: Set<string>): Promise<(FigmaTeamComponent | undefined)[]>;
|
|
51
|
+
export declare function resolveComponentData(context: Context, components: FigmaTeamComponent[]): Promise<FigmaTeamComponent[]>;
|
|
52
|
+
export declare function generateComponentReport(component: FigmaTeamComponent, baseDir: string): Promise<void>;
|
|
53
|
+
export declare const runFigmaReport: (sys: DevToolsSys, args: CLIArgs) => Promise<void>;
|
|
81
54
|
export {};
|
package/types/cli/server-ws.d.ts
CHANGED
|
@@ -3,56 +3,48 @@ import type { IncomingMessage } from "node:http";
|
|
|
3
3
|
import type { ServerOptions } from "ws";
|
|
4
4
|
import type { WebSocket } from "ws";
|
|
5
5
|
export interface SocketRequest {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
6
|
+
id: number;
|
|
7
|
+
jsonrpc: string;
|
|
8
|
+
method: string;
|
|
9
|
+
params: any;
|
|
10
10
|
}
|
|
11
11
|
export interface SocketResponse<T = any> {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
12
|
+
id?: number | null;
|
|
13
|
+
jsonrpc: string;
|
|
14
|
+
result?: T;
|
|
15
|
+
notification?: string;
|
|
16
|
+
params?: any;
|
|
17
|
+
error?: {
|
|
18
|
+
code: number;
|
|
19
|
+
message: string;
|
|
20
|
+
data?: any;
|
|
21
|
+
};
|
|
22
22
|
}
|
|
23
23
|
export interface SocketSendOptions {
|
|
24
|
-
|
|
24
|
+
timeout?: number;
|
|
25
25
|
}
|
|
26
26
|
export interface SocketQueue {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
27
|
+
type: "request" | "notification";
|
|
28
|
+
result?: SocketResponse["result"];
|
|
29
|
+
error?: SocketResponse["error"];
|
|
30
30
|
}
|
|
31
31
|
type RegisterFn<T = any> = (params: T, socketId: string) => Promise<any> | any;
|
|
32
32
|
interface SocketEvents {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
33
|
+
listening: () => Promise<void> | void;
|
|
34
|
+
connection: (socket: WebSocket, socketId: string) => Promise<void> | void;
|
|
35
|
+
disconnection: (socketId: string) => Promise<void> | void;
|
|
36
|
+
error: (error: Error) => Promise<void> | void;
|
|
37
|
+
"socket-error": (socketId: string, error: Error) => Promise<void> | void;
|
|
38
|
+
close: () => Promise<void> | void;
|
|
39
39
|
}
|
|
40
40
|
export declare function RPCWebSocketServer(opts: ServerOptions): {
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
upgradeHead: Buffer,
|
|
50
|
-
callback?: (client: WebSocket, request: IncomingMessage) => void,
|
|
51
|
-
) => Promise<void>;
|
|
52
|
-
clients: () => Map<string, WebSocket>;
|
|
53
|
-
register: <T = any>(method: string, fn: RegisterFn<T>) => void;
|
|
54
|
-
emit: (name: string, ...params: any[]) => void;
|
|
55
|
-
notify: (name: string, socketId: string, ...params: any[]) => void;
|
|
56
|
-
close: () => Promise<unknown>;
|
|
41
|
+
on: <EventKey extends keyof SocketEvents>(event: EventKey, cb: SocketEvents[EventKey]) => void;
|
|
42
|
+
event: (e: string) => void;
|
|
43
|
+
handleUpgrade: (req: IncomingMessage, socket: Duplex, upgradeHead: Buffer, callback?: (client: WebSocket, request: IncomingMessage) => void) => Promise<void>;
|
|
44
|
+
clients: () => Map<string, WebSocket>;
|
|
45
|
+
register: <T = any>(method: string, fn: RegisterFn<T>) => void;
|
|
46
|
+
emit: (name: string, ...params: any[]) => void;
|
|
47
|
+
notify: (name: string, socketId: string, ...params: any[]) => void;
|
|
48
|
+
close: () => Promise<unknown>;
|
|
57
49
|
};
|
|
58
50
|
export {};
|
package/types/cli/spinner.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export declare const spinner: () => {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
2
|
+
start: (msg?: string) => void;
|
|
3
|
+
stop: (msg?: string, code?: number) => void;
|
|
4
|
+
message: (msg?: string) => void;
|
|
5
|
+
extra: (msg?: string) => void;
|
|
6
6
|
};
|
package/types/cli/track.d.ts
CHANGED
|
@@ -1,8 +1,5 @@
|
|
|
1
1
|
import * as Amplitude from "@amplitude/analytics-node";
|
|
2
2
|
import * as Sentry from "@sentry/node";
|
|
3
3
|
export declare function initTracking(verbose: boolean): Promise<typeof Sentry>;
|
|
4
|
-
export declare function track(
|
|
5
|
-
eventName: string,
|
|
6
|
-
options: Record<string, any>,
|
|
7
|
-
): Promise<Amplitude.Types.Result>;
|
|
4
|
+
export declare function track(eventName: string, options: Record<string, any>): Promise<Amplitude.Types.Result>;
|
|
8
5
|
export declare function setUserId(id: string): Promise<void>;
|
|
@@ -14,14 +14,9 @@ export type { SubAgent };
|
|
|
14
14
|
* @param rootDir - Root directory to stop search
|
|
15
15
|
* @returns Array of discovered agents
|
|
16
16
|
*/
|
|
17
|
-
export declare function getCustomAgents({
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
}: {
|
|
23
|
-
sys: DevToolsSys;
|
|
24
|
-
projectDir: string;
|
|
25
|
-
currentDir: string;
|
|
26
|
-
rootDir: string;
|
|
17
|
+
export declare function getCustomAgents({ sys, projectDir, currentDir, rootDir, }: {
|
|
18
|
+
sys: DevToolsSys;
|
|
19
|
+
projectDir: string;
|
|
20
|
+
currentDir: string;
|
|
21
|
+
rootDir: string;
|
|
27
22
|
}): Promise<SubAgent[]>;
|
|
@@ -17,6 +17,12 @@ export interface SubAgent {
|
|
|
17
17
|
needValidation?: boolean;
|
|
18
18
|
resetAfterRun?: boolean;
|
|
19
19
|
}
|
|
20
|
+
/**
|
|
21
|
+
* Resolves model shortcut to full model name
|
|
22
|
+
* @param modelOrShortcut - Model name or shortcut (or "inherit" to use parent model)
|
|
23
|
+
* @returns Resolved model name or undefined (undefined means inherit from parent)
|
|
24
|
+
*/
|
|
25
|
+
export declare function resolveModelShortcut(modelOrShortcut?: string): string | undefined;
|
|
20
26
|
/**
|
|
21
27
|
* Parses an agent definition file (Markdown with YAML frontmatter)
|
|
22
28
|
* Expected format (following Claude Code sub-agents format):
|
|
@@ -4,7 +4,7 @@ export { getCustomInstructions } from "./rules-discovery";
|
|
|
4
4
|
import type { CodeGenInputOptions, CodegenSetLastCompletion, CodegenTurn, GenerateCodeEvent, GenerateUserMessage, GetSessionTurnsResult, UserContext, WorkspaceConfiguration, WorkspaceFolder, EnvironmentVariable, PushChangesArgs, PushChangesOptions, GenerateCompletionStepDevServerState, FusionConfig, GenerateCompletionStepGit } from "$/ai-utils";
|
|
5
5
|
import type { SessionContext } from "../codegen";
|
|
6
6
|
import type { DevServerOrchestrator } from "../launch/dev-server-orchestrator";
|
|
7
|
-
export declare const DEFAULT_MAX_COMPLETIONS =
|
|
7
|
+
export declare const DEFAULT_MAX_COMPLETIONS = 40;
|
|
8
8
|
/**
|
|
9
9
|
* Merges and deduplicates items by name.
|
|
10
10
|
* Built-in items come first, discovered items can override them by name.
|
|
@@ -27,15 +27,6 @@ export declare function restoreConsumedCredit(sys: DevToolsSys, credentials: Cre
|
|
|
27
27
|
export declare function analyzePayloadBreakdown(body: CodeGenInputOptions, jsonString: string): Record<string, any>;
|
|
28
28
|
export declare function completionStream(sys: DevToolsSys, credentials: Credentials, body: CodeGenInputOptions, signal: AbortSignal): AsyncGenerator<GenerateCodeEvent, void, unknown>;
|
|
29
29
|
export declare function codegenEndpoint(sys: DevToolsSys, credentials: Credentials, endpoint: string, body: Record<string, any>): Promise<boolean>;
|
|
30
|
-
/**
|
|
31
|
-
* Makes a POST request to a codegen endpoint and returns parsed JSON.
|
|
32
|
-
* Returns undefined on failure (no retries, silent failure).
|
|
33
|
-
* Designed for non-critical requests like commit message generation.
|
|
34
|
-
*/
|
|
35
|
-
export declare function codegenPostJson<T>(credentials: Credentials, endpoint: string, body: Record<string, unknown>, options?: {
|
|
36
|
-
signal?: AbortSignal;
|
|
37
|
-
timeoutMs?: number;
|
|
38
|
-
}): Promise<T | undefined>;
|
|
39
30
|
export declare function setLastCompletionOfSession(sys: DevToolsSys, credentials: Credentials, data: CodegenSetLastCompletion, _verbose: boolean): Promise<boolean>;
|
|
40
31
|
export declare function getTurnsBySessionId(sys: DevToolsSys, credentials: Credentials, sessionId: string, linear: boolean, completionIdCursor?: string, signal?: AbortSignal): Promise<GetSessionTurnsResult>;
|
|
41
32
|
export declare const parseCLIURL: (url: string | undefined) => {
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
export declare const COMPONENT_GROUP_MDX_PROMPT =
|
|
2
|
-
"# Component Documentation Generation\n\n## Objective\nGenerate comprehensive MDX documentation for a specific component, analyzing their interfaces, relationships, and usage patterns using the relevant files provided in the input.\n\n## Instructions\n\n### 1. Component Analysis\nFor the given component, analyze each relevant file by:\n- **Interdependency mapping** - Document how components depend on each other\n- **Interface examination** - Extract and document all props, their types, and descriptions\n- **Context analysis** - Identify shared state, contexts, or communication patterns\n- **Compositional patterns** - Document required parent-child relationships\n- **Usage pattern analysis** - Identify how components work together\n- **Example extraction** - Find real usage examples from the codebase\n\n{{COMPONENT_NAME}} has the following related components: {{RELATED_COMPONENTS}}\nThe following files are associated with {{COMPONENT_NAME}}: {{FILE_LIST}}\n\n### 2. Documentation Structure\nCreate comprehensive documentation covering:\n- **Component rationale** - Why these components work together and when to use them\n- **Architectural overview** - How the components form a cohesive system\n- **Component interfaces** - Detailed prop documentation with interdependencies\n- **Composition patterns** - Required and optional usage combinations\n- **Integration examples** - Real-world scenarios showing the component in action\n- **Best practices** - Recommended usage patterns and guidelines\n\n## Required Output Format\n\nGenerate an MDX file with this structure:\n\n```mdx\n---\n# {{COMPONENT_NAME}}\n\n## Overview\n\n### Purpose\n{{COMPONENT_DESCRIPTION}}\n\n### When to Use\n[Expand on the use cases mentioned in the description - be specific about scenarios, user needs, and implementation contexts]\n\n### Architecture\n[Explain the architectural pattern based on coupling strength:]\n- **Critical/Strong Coupling**: Describe the required relationships, shared context, or compositional hierarchy\n- **Moderate Coupling**: Explain how components enhance each other\n- **No Coupling**: Note that this is a standalone component\n\n### Component Interdependencies\n[Map out component relationships - only for components with coupling:]\n- Required parent-child relationships\n- Shared context dependencies \n- Communication patterns between components\n- Related components\n\n## API\n**Types**: Interfaces related to the component including all props, methods, or children along with descriptions.\n**Dependencies:** Other components that must be used\n**Provides:** Context/state this component provides to children. Only required for coupled components.\n\n## Usage Examples\nInclude examples that show how to fully use the component. At a minimum, you must include the following examples:\n\n- Basic usage including how to import the component if applicable\n- Usage with any dependency components\n- Variations with conditional rendering, different prop combinations, etc\n\n## Component Relationships {Only for coupled components}\n\n### Data Flow\n[Explain how data flows between the component and related components}\n\n### Context Sharing\n[Document shared contexts, providers, or state management]\n\n### Event Handling\n[Describe how events bubble up or propagate between components]\n\n## Best Practices\n\n### Usage Guidelines\n- [Specific recommendation based on component purpose and use cases]\n- [Another recommendation focusing on accessibility or performance]\n- [Usage pattern guidance based on the component's architecture]\n\n### Accessibility {When relevant}\n- [ARIA relationships between components]\n- [Keyboard navigation patterns]\n- [Screen reader considerations]\n\n### Performance {When relevant}\n- [Optimization recommendations]\n- [State management best practices]\n- [Rendering performance considerations]\n\n## Common Patterns {Expand based on component functionality}\n\n### Pattern 1: [Specific Pattern Name]\n```tsx\n// Example showing a specific usage pattern\n// Include comments explaining why this pattern is recommended\n```\n\n### Pattern 2: [Another Pattern Name]\n```tsx\n// Another common pattern with explanation\n```\n\n```\n\n## File Generation Requirements\n\n**File Naming:**\n- Use kebab-case derived from component name: `{{COMPONENT_NAME_KEBAB}}.mdx`\n- Place in `repo-indexing/` folder\n- Example: `repo-indexing/{{COMPONENT_NAME_KEBAB}}.mdx`\n\n**Content Requirements:**\n1. **Use coupling strength context** - Adapt documentation structure based on couplingStrength value\n2. **Extract real interfaces** - Don't create placeholder interfaces, extract actual type interfaces from the codebase\n3. **Leverage component description** - Expand on the provided description with specific use cases and implementation guidance\n4. **Document interdependencies** - For coupled components, clearly explain component relationships and requirements\n5. **Include practical examples** - Use realistic, working code examples that demonstrate proper usage\n6. **Show integration patterns** - For coupled components, demonstrate required composition patterns\n**Coupling-Specific Requirements:**\n- **Critical/Strong Coupling**: Focus on required relationships, composition patterns, and shared context\n- **Moderate Coupling**: Show how components enhance each other and optional usage patterns \n- **No Coupling**: Document standalone usage, variants, and individual component capabilities\n\n## Output\nReturn only the complete MDX file content, ready to be saved as `repo-indexing/{{COMPONENT_NAME_KEBAB}}.mdx`. You must use the Write tool in your response.";
|
|
1
|
+
export declare const COMPONENT_GROUP_MDX_PROMPT = "# Component Documentation Generation\n\n## Objective\nGenerate comprehensive MDX documentation for a specific component, analyzing their interfaces, relationships, and usage patterns using the relevant files provided in the input.\n\n## Instructions\n\n### 1. Component Analysis\nFor the given component, analyze each relevant file by:\n- **Interdependency mapping** - Document how components depend on each other\n- **Interface examination** - Extract and document all props, their types, and descriptions\n- **Context analysis** - Identify shared state, contexts, or communication patterns\n- **Compositional patterns** - Document required parent-child relationships\n- **Usage pattern analysis** - Identify how components work together\n- **Example extraction** - Find real usage examples from the codebase\n\n{{COMPONENT_NAME}} has the following related components: {{RELATED_COMPONENTS}}\nThe following files are associated with {{COMPONENT_NAME}}: {{FILE_LIST}}\n\n### 2. Documentation Structure\nCreate comprehensive documentation covering:\n- **Component rationale** - Why these components work together and when to use them\n- **Architectural overview** - How the components form a cohesive system\n- **Component interfaces** - Detailed prop documentation with interdependencies\n- **Composition patterns** - Required and optional usage combinations\n- **Integration examples** - Real-world scenarios showing the component in action\n- **Best practices** - Recommended usage patterns and guidelines\n\n## Required Output Format\n\nGenerate an MDX file with this structure:\n\n```mdx\n---\n# {{COMPONENT_NAME}}\n\n## Overview\n\n### Purpose\n{{COMPONENT_DESCRIPTION}}\n\n### When to Use\n[Expand on the use cases mentioned in the description - be specific about scenarios, user needs, and implementation contexts]\n\n### Architecture\n[Explain the architectural pattern based on coupling strength:]\n- **Critical/Strong Coupling**: Describe the required relationships, shared context, or compositional hierarchy\n- **Moderate Coupling**: Explain how components enhance each other\n- **No Coupling**: Note that this is a standalone component\n\n### Component Interdependencies\n[Map out component relationships - only for components with coupling:]\n- Required parent-child relationships\n- Shared context dependencies \n- Communication patterns between components\n- Related components\n\n## API\n**Types**: Interfaces related to the component including all props, methods, or children along with descriptions.\n**Dependencies:** Other components that must be used\n**Provides:** Context/state this component provides to children. Only required for coupled components.\n\n## Usage Examples\nInclude examples that show how to fully use the component. At a minimum, you must include the following examples:\n\n- Basic usage including how to import the component if applicable\n- Usage with any dependency components\n- Variations with conditional rendering, different prop combinations, etc\n\n## Component Relationships {Only for coupled components}\n\n### Data Flow\n[Explain how data flows between the component and related components}\n\n### Context Sharing\n[Document shared contexts, providers, or state management]\n\n### Event Handling\n[Describe how events bubble up or propagate between components]\n\n## Best Practices\n\n### Usage Guidelines\n- [Specific recommendation based on component purpose and use cases]\n- [Another recommendation focusing on accessibility or performance]\n- [Usage pattern guidance based on the component's architecture]\n\n### Accessibility {When relevant}\n- [ARIA relationships between components]\n- [Keyboard navigation patterns]\n- [Screen reader considerations]\n\n### Performance {When relevant}\n- [Optimization recommendations]\n- [State management best practices]\n- [Rendering performance considerations]\n\n## Common Patterns {Expand based on component functionality}\n\n### Pattern 1: [Specific Pattern Name]\n```tsx\n// Example showing a specific usage pattern\n// Include comments explaining why this pattern is recommended\n```\n\n### Pattern 2: [Another Pattern Name]\n```tsx\n// Another common pattern with explanation\n```\n\n```\n\n## File Generation Requirements\n\n**File Naming:**\n- Use kebab-case derived from component name: `{{COMPONENT_NAME_KEBAB}}.mdx`\n- Place in `repo-indexing/` folder\n- Example: `repo-indexing/{{COMPONENT_NAME_KEBAB}}.mdx`\n\n**Content Requirements:**\n1. **Use coupling strength context** - Adapt documentation structure based on couplingStrength value\n2. **Extract real interfaces** - Don't create placeholder interfaces, extract actual type interfaces from the codebase\n3. **Leverage component description** - Expand on the provided description with specific use cases and implementation guidance\n4. **Document interdependencies** - For coupled components, clearly explain component relationships and requirements\n5. **Include practical examples** - Use realistic, working code examples that demonstrate proper usage\n6. **Show integration patterns** - For coupled components, demonstrate required composition patterns\n**Coupling-Specific Requirements:**\n- **Critical/Strong Coupling**: Focus on required relationships, composition patterns, and shared context\n- **Moderate Coupling**: Show how components enhance each other and optional usage patterns \n- **No Coupling**: Document standalone usage, variants, and individual component capabilities\n\n## Output\nReturn only the complete MDX file content, ready to be saved as `repo-indexing/{{COMPONENT_NAME_KEBAB}}.mdx`. You must use the Write tool in your response.";
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export interface DevServerUrlInfo {
|
|
2
|
+
url: string;
|
|
3
|
+
port: number;
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* Parse dev server output to extract URL and port information
|
|
7
|
+
*
|
|
8
|
+
* @param output - The command output string to parse
|
|
9
|
+
* @param customPatterns - Optional array of custom regex patterns to try first
|
|
10
|
+
* @returns Object with url and port, or null if no valid URL found
|
|
11
|
+
*/
|
|
12
|
+
export declare function parseDevServerOutput(output: string, customPatterns?: string[]): DevServerUrlInfo | null;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -4,6 +4,4 @@ import type { DevToolsSys } from "../../types";
|
|
|
4
4
|
* @param files - Object mapping file paths to file contents
|
|
5
5
|
* @returns Mock DevToolsSys instance
|
|
6
6
|
*/
|
|
7
|
-
export declare function createMockSys(
|
|
8
|
-
files: Record<string, string>,
|
|
9
|
-
): DevToolsSys;
|
|
7
|
+
export declare function createMockSys(files: Record<string, string>): DevToolsSys;
|
|
@@ -2,23 +2,23 @@
|
|
|
2
2
|
* Options for capturing environment variables from a setup command
|
|
3
3
|
*/
|
|
4
4
|
export interface EnvCaptureOptions {
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
/** The command to wrap with env capture */
|
|
6
|
+
command: string;
|
|
7
7
|
}
|
|
8
8
|
/**
|
|
9
9
|
* Result of environment capture
|
|
10
10
|
*/
|
|
11
11
|
export interface EnvCaptureResult {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
12
|
+
/** The modified command that includes env capture */
|
|
13
|
+
command: string;
|
|
14
|
+
/** Path to the temporary file where env will be captured */
|
|
15
|
+
envFilePath: string;
|
|
16
|
+
/**
|
|
17
|
+
* Function to get the captured environment variables.
|
|
18
|
+
* This will read, parse, and cleanup the env file in one call.
|
|
19
|
+
* Returns undefined if the env file couldn't be read.
|
|
20
|
+
*/
|
|
21
|
+
getCapturedEnv: () => Promise<Record<string, string> | undefined>;
|
|
22
22
|
}
|
|
23
23
|
/**
|
|
24
24
|
* Wraps a command with environment variable capture at the end.
|
|
@@ -38,9 +38,7 @@ export interface EnvCaptureResult {
|
|
|
38
38
|
* const env = await getCapturedEnv();
|
|
39
39
|
* ```
|
|
40
40
|
*/
|
|
41
|
-
export declare function wrapCommandWithEnvCapture(
|
|
42
|
-
options: EnvCaptureOptions,
|
|
43
|
-
): EnvCaptureResult;
|
|
41
|
+
export declare function wrapCommandWithEnvCapture(options: EnvCaptureOptions): EnvCaptureResult;
|
|
44
42
|
/**
|
|
45
43
|
* Parses an environment file into a key-value object.
|
|
46
44
|
* Handles multi-line values and empty lines.
|
|
@@ -54,9 +52,7 @@ export declare function wrapCommandWithEnvCapture(
|
|
|
54
52
|
* console.log(env.PATH); // "/usr/bin:/bin"
|
|
55
53
|
* ```
|
|
56
54
|
*/
|
|
57
|
-
export declare function parseEnvFile(
|
|
58
|
-
filePath: string,
|
|
59
|
-
): Promise<Record<string, string>>;
|
|
55
|
+
export declare function parseEnvFile(filePath: string): Promise<Record<string, string>>;
|
|
60
56
|
/**
|
|
61
57
|
* Parses environment variable content into a key-value object.
|
|
62
58
|
* This is the core parsing logic extracted for easier testing.
|
|
@@ -73,9 +69,7 @@ export declare function parseEnvFile(
|
|
|
73
69
|
* // { PATH: '/usr/bin', HOME: '/home/user' }
|
|
74
70
|
* ```
|
|
75
71
|
*/
|
|
76
|
-
export declare function parseEnvContent(
|
|
77
|
-
content: string,
|
|
78
|
-
): Record<string, string>;
|
|
72
|
+
export declare function parseEnvContent(content: string): Record<string, string>;
|
|
79
73
|
/**
|
|
80
74
|
* Cleans up the environment capture file.
|
|
81
75
|
* Call this after parsing to remove temporary files.
|
|
@@ -28,7 +28,4 @@
|
|
|
28
28
|
* substituteEnvVars("URL: ${API_URL:-https://api.example.com}", { API_URL: "https://custom.com" })
|
|
29
29
|
* // Returns: "URL: https://custom.com"
|
|
30
30
|
*/
|
|
31
|
-
export declare function substituteEnvVars(
|
|
32
|
-
str: string,
|
|
33
|
-
env: Record<string, string | undefined>,
|
|
34
|
-
): string;
|
|
31
|
+
export declare function substituteEnvVars(str: string, env: Record<string, string | undefined>): string;
|
|
@@ -1,26 +1,26 @@
|
|
|
1
1
|
export interface FileOverride {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
2
|
+
/**
|
|
3
|
+
* Path where the file should be written.
|
|
4
|
+
* - Absolute paths: "/app/.env", "/etc/config/app.conf"
|
|
5
|
+
* - Tilde expansion: "~/.config/app.json" (expands to home directory)
|
|
6
|
+
* - Relative paths: "./file.txt", "config.json" (resolved against working directory)
|
|
7
|
+
*/
|
|
8
|
+
path: string;
|
|
9
|
+
/**
|
|
10
|
+
* Content to write to the file.
|
|
11
|
+
*/
|
|
12
|
+
content: string;
|
|
13
13
|
}
|
|
14
14
|
export interface SentryLike {
|
|
15
|
-
|
|
15
|
+
captureException: (error: unknown) => void;
|
|
16
16
|
}
|
|
17
17
|
export interface ApplyFileOverridesResult {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
18
|
+
success: boolean;
|
|
19
|
+
appliedFiles: string[];
|
|
20
|
+
failedFiles: Array<{
|
|
21
|
+
path: string;
|
|
22
|
+
error: string;
|
|
23
|
+
}>;
|
|
24
24
|
}
|
|
25
25
|
/**
|
|
26
26
|
* Expand tilde (~) in file path to home directory
|
|
@@ -35,10 +35,7 @@ export declare function expandTildePath(filePath: string): string;
|
|
|
35
35
|
* @param workingDirectory - Optional working directory for resolving relative paths
|
|
36
36
|
* @returns Resolved absolute path
|
|
37
37
|
*/
|
|
38
|
-
export declare function resolveFilePath(
|
|
39
|
-
filePath: string,
|
|
40
|
-
workingDirectory?: string,
|
|
41
|
-
): string;
|
|
38
|
+
export declare function resolveFilePath(filePath: string, workingDirectory?: string): string;
|
|
42
39
|
/**
|
|
43
40
|
* Validate that a file path can be resolved to an absolute path
|
|
44
41
|
* Supports tilde (~) expansion and relative paths (when workingDirectory is provided)
|
|
@@ -46,10 +43,7 @@ export declare function resolveFilePath(
|
|
|
46
43
|
* @param workingDirectory - Optional working directory for resolving relative paths
|
|
47
44
|
* @returns true if valid, false otherwise
|
|
48
45
|
*/
|
|
49
|
-
export declare function isValidFilePath(
|
|
50
|
-
filePath: string,
|
|
51
|
-
workingDirectory?: string,
|
|
52
|
-
): boolean;
|
|
46
|
+
export declare function isValidFilePath(filePath: string, workingDirectory?: string): boolean;
|
|
53
47
|
/**
|
|
54
48
|
* Apply multiple file overrides to the filesystem.
|
|
55
49
|
* This function will:
|
|
@@ -64,11 +58,7 @@ export declare function isValidFilePath(
|
|
|
64
58
|
* @param sentry - Optional Sentry instance for error logging
|
|
65
59
|
* @returns Object with overall success status and details for each file
|
|
66
60
|
*/
|
|
67
|
-
export declare function applyFileOverrides(
|
|
68
|
-
overrides: FileOverride[],
|
|
69
|
-
workingDirectory?: string,
|
|
70
|
-
sentry?: SentryLike,
|
|
71
|
-
): ApplyFileOverridesResult;
|
|
61
|
+
export declare function applyFileOverrides(overrides: FileOverride[], workingDirectory?: string, sentry?: SentryLike): ApplyFileOverridesResult;
|
|
72
62
|
/**
|
|
73
63
|
* Read a file and return its content
|
|
74
64
|
* Supports tilde (~) expansion and relative paths.
|
|
@@ -76,10 +66,7 @@ export declare function applyFileOverrides(
|
|
|
76
66
|
* @param workingDirectory - Optional working directory for resolving relative paths
|
|
77
67
|
* @returns The file content or null if it cannot be read
|
|
78
68
|
*/
|
|
79
|
-
export declare function readFileOverride(
|
|
80
|
-
filePath: string,
|
|
81
|
-
workingDirectory?: string,
|
|
82
|
-
): string | null;
|
|
69
|
+
export declare function readFileOverride(filePath: string, workingDirectory?: string): string | null;
|
|
83
70
|
/**
|
|
84
71
|
* Check if a file exists at the given path
|
|
85
72
|
* Supports tilde (~) expansion and relative paths.
|
|
@@ -87,7 +74,4 @@ export declare function readFileOverride(
|
|
|
87
74
|
* @param workingDirectory - Optional working directory for resolving relative paths
|
|
88
75
|
* @returns true if the file exists, false otherwise
|
|
89
76
|
*/
|
|
90
|
-
export declare function fileOverrideExists(
|
|
91
|
-
filePath: string,
|
|
92
|
-
workingDirectory?: string,
|
|
93
|
-
): boolean;
|
|
77
|
+
export declare function fileOverrideExists(filePath: string, workingDirectory?: string): boolean;
|
package/types/cli/utils/git.d.ts
CHANGED
|
@@ -2,33 +2,21 @@ import type { DevToolsSys } from "../../types";
|
|
|
2
2
|
import type { Credentials } from "../credentials";
|
|
3
3
|
import type { GitConfigs } from "$/ai-utils";
|
|
4
4
|
export interface RunCommandOptions {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
5
|
+
cwd?: string;
|
|
6
|
+
debug?: boolean;
|
|
7
|
+
sys: DevToolsSys;
|
|
8
|
+
timeout?: number;
|
|
9
|
+
stdin?: string;
|
|
10
|
+
retry?: number;
|
|
11
11
|
}
|
|
12
|
-
type FetchGitConfigsResult =
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
export declare function
|
|
22
|
-
cmd: string,
|
|
23
|
-
args: string[],
|
|
24
|
-
opts: RunCommandOptions,
|
|
25
|
-
): Promise<string>;
|
|
26
|
-
export declare const isGitRepoCorrupted: (
|
|
27
|
-
stdout: string,
|
|
28
|
-
stderr: string,
|
|
29
|
-
) => boolean;
|
|
30
|
-
export declare function fetchGitConfigs(
|
|
31
|
-
credentials: Credentials,
|
|
32
|
-
projectId: string,
|
|
33
|
-
): Promise<FetchGitConfigsResult>;
|
|
12
|
+
type FetchGitConfigsResult = {
|
|
13
|
+
success: true;
|
|
14
|
+
gitConfigs: GitConfigs;
|
|
15
|
+
} | {
|
|
16
|
+
success: false;
|
|
17
|
+
error: Error;
|
|
18
|
+
};
|
|
19
|
+
export declare function runCommand(cmd: string, args: string[], opts: RunCommandOptions): Promise<string>;
|
|
20
|
+
export declare const isGitRepoCorrupted: (stdout: string, stderr: string) => boolean;
|
|
21
|
+
export declare function fetchGitConfigs(credentials: Credentials, projectId: string): Promise<FetchGitConfigsResult>;
|
|
34
22
|
export {};
|