@earendil-works/pi-coding-agent 0.83.0 → 0.84.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/CHANGELOG.md +198 -0
- package/README.md +5 -0
- package/dist/cli/args.d.ts +2 -0
- package/dist/cli/args.d.ts.map +1 -1
- package/dist/cli/args.js +19 -0
- package/dist/cli/args.js.map +1 -1
- package/dist/cli/config-selector.d.ts.map +1 -1
- package/dist/cli/config-selector.js +2 -2
- package/dist/cli/config-selector.js.map +1 -1
- package/dist/cli/credential-print.d.ts +1 -1
- package/dist/cli/credential-print.d.ts.map +1 -1
- package/dist/cli/credential-print.js +6 -5
- package/dist/cli/credential-print.js.map +1 -1
- package/dist/cli/experimental/auth.d.ts +16 -0
- package/dist/cli/experimental/auth.d.ts.map +1 -0
- package/dist/cli/experimental/auth.js +13 -0
- package/dist/cli/experimental/auth.js.map +1 -0
- package/dist/cli/experimental/cli.d.ts +6 -0
- package/dist/cli/experimental/cli.d.ts.map +1 -0
- package/dist/cli/experimental/cli.js +5 -0
- package/dist/cli/experimental/cli.js.map +1 -0
- package/dist/cli/experimental/command-options.d.ts +17 -0
- package/dist/cli/experimental/command-options.d.ts.map +1 -0
- package/dist/cli/experimental/command-options.js +35 -0
- package/dist/cli/experimental/command-options.js.map +1 -0
- package/dist/cli/experimental/command.d.ts +63 -0
- package/dist/cli/experimental/command.d.ts.map +1 -0
- package/dist/cli/experimental/command.js +130 -0
- package/dist/cli/experimental/command.js.map +1 -0
- package/dist/cli/experimental/commands/client.d.ts +13 -0
- package/dist/cli/experimental/commands/client.d.ts.map +1 -0
- package/dist/cli/experimental/commands/client.js +25 -0
- package/dist/cli/experimental/commands/client.js.map +1 -0
- package/dist/cli/experimental/commands/pi.d.ts +15 -0
- package/dist/cli/experimental/commands/pi.d.ts.map +1 -0
- package/dist/cli/experimental/commands/pi.js +28 -0
- package/dist/cli/experimental/commands/pi.js.map +1 -0
- package/dist/cli/experimental/commands/server.d.ts +13 -0
- package/dist/cli/experimental/commands/server.d.ts.map +1 -0
- package/dist/cli/experimental/commands/server.js +25 -0
- package/dist/cli/experimental/commands/server.js.map +1 -0
- package/dist/cli/experimental/transport-address.d.ts +10 -0
- package/dist/cli/experimental/transport-address.d.ts.map +1 -0
- package/dist/cli/experimental/transport-address.js +38 -0
- package/dist/cli/experimental/transport-address.js.map +1 -0
- package/dist/cli/list-models.d.ts +1 -1
- package/dist/cli/list-models.d.ts.map +1 -1
- package/dist/cli/list-models.js +2 -2
- package/dist/cli/list-models.js.map +1 -1
- package/dist/cli/startup-ui.d.ts +1 -1
- package/dist/cli/startup-ui.d.ts.map +1 -1
- package/dist/cli/startup-ui.js +2 -2
- package/dist/cli/startup-ui.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +1 -0
- package/dist/cli.js.map +1 -1
- package/dist/client/index.d.ts +3 -0
- package/dist/client/index.d.ts.map +1 -0
- package/dist/client/index.js +3 -0
- package/dist/client/index.js.map +1 -0
- package/dist/client/remote-session.d.ts +53 -0
- package/dist/client/remote-session.d.ts.map +1 -0
- package/dist/client/remote-session.js +340 -0
- package/dist/client/remote-session.js.map +1 -0
- package/dist/client/transcript.d.ts +12 -0
- package/dist/client/transcript.d.ts.map +1 -0
- package/dist/client/transcript.js +98 -0
- package/dist/client/transcript.js.map +1 -0
- package/dist/core/agent-session-services.d.ts +1 -0
- package/dist/core/agent-session-services.d.ts.map +1 -1
- package/dist/core/agent-session-services.js +1 -0
- package/dist/core/agent-session-services.js.map +1 -1
- package/dist/core/agent-session.d.ts +1 -10
- package/dist/core/agent-session.d.ts.map +1 -1
- package/dist/core/agent-session.js +72 -70
- package/dist/core/agent-session.js.map +1 -1
- package/dist/core/auth-storage.d.ts +15 -9
- package/dist/core/auth-storage.d.ts.map +1 -1
- package/dist/core/auth-storage.js +159 -38
- package/dist/core/auth-storage.js.map +1 -1
- package/dist/core/extensions/index.d.ts +1 -1
- package/dist/core/extensions/index.d.ts.map +1 -1
- package/dist/core/extensions/index.js.map +1 -1
- package/dist/core/extensions/loader.d.ts.map +1 -1
- package/dist/core/extensions/loader.js +43 -20
- package/dist/core/extensions/loader.js.map +1 -1
- package/dist/core/extensions/runner.d.ts +2 -1
- package/dist/core/extensions/runner.d.ts.map +1 -1
- package/dist/core/extensions/runner.js +3 -0
- package/dist/core/extensions/runner.js.map +1 -1
- package/dist/core/extensions/types.d.ts +21 -3
- package/dist/core/extensions/types.d.ts.map +1 -1
- package/dist/core/extensions/types.js.map +1 -1
- package/dist/core/http-dispatcher.d.ts.map +1 -1
- package/dist/core/http-dispatcher.js +5 -0
- package/dist/core/http-dispatcher.js.map +1 -1
- package/dist/core/keybindings.d.ts +36 -4
- package/dist/core/keybindings.d.ts.map +1 -1
- package/dist/core/model-config.d.ts +29 -5
- package/dist/core/model-config.d.ts.map +1 -1
- package/dist/core/model-config.js +4 -0
- package/dist/core/model-config.js.map +1 -1
- package/dist/core/model-registry.d.ts +5 -3
- package/dist/core/model-registry.d.ts.map +1 -1
- package/dist/core/model-registry.js +13 -10
- package/dist/core/model-registry.js.map +1 -1
- package/dist/core/model-resolver.d.ts +4 -3
- package/dist/core/model-resolver.d.ts.map +1 -1
- package/dist/core/model-resolver.js +41 -10
- package/dist/core/model-resolver.js.map +1 -1
- package/dist/core/model-runtime.d.ts +28 -13
- package/dist/core/model-runtime.d.ts.map +1 -1
- package/dist/core/model-runtime.js +231 -73
- package/dist/core/model-runtime.js.map +1 -1
- package/dist/core/models-store.d.ts +12 -7
- package/dist/core/models-store.d.ts.map +1 -1
- package/dist/core/models-store.js +83 -14
- package/dist/core/models-store.js.map +1 -1
- package/dist/core/package-manager.d.ts +4 -1
- package/dist/core/package-manager.d.ts.map +1 -1
- package/dist/core/package-manager.js +63 -36
- package/dist/core/package-manager.js.map +1 -1
- package/dist/core/pi-manifest.d.ts +8 -0
- package/dist/core/pi-manifest.d.ts.map +1 -0
- package/dist/core/pi-manifest.js +25 -0
- package/dist/core/pi-manifest.js.map +1 -0
- package/dist/core/provider-composer.d.ts +4 -1
- package/dist/core/provider-composer.d.ts.map +1 -1
- package/dist/core/provider-composer.js +36 -15
- package/dist/core/provider-composer.js.map +1 -1
- package/dist/core/remote-catalog-provider.d.ts.map +1 -1
- package/dist/core/remote-catalog-provider.js +73 -67
- package/dist/core/remote-catalog-provider.js.map +1 -1
- package/dist/core/resource-loader.d.ts.map +1 -1
- package/dist/core/resource-loader.js +2 -2
- package/dist/core/resource-loader.js.map +1 -1
- package/dist/core/runtime-credentials.d.ts +5 -5
- package/dist/core/runtime-credentials.d.ts.map +1 -1
- package/dist/core/runtime-credentials.js +11 -8
- package/dist/core/runtime-credentials.js.map +1 -1
- package/dist/core/session-manager.d.ts.map +1 -1
- package/dist/core/session-manager.js +3 -1
- package/dist/core/session-manager.js.map +1 -1
- package/dist/core/settings-manager.d.ts +12 -0
- package/dist/core/settings-manager.d.ts.map +1 -1
- package/dist/core/settings-manager.js +40 -16
- package/dist/core/settings-manager.js.map +1 -1
- package/dist/core/tools/find.d.ts +3 -0
- package/dist/core/tools/find.d.ts.map +1 -1
- package/dist/core/tools/find.js +11 -18
- package/dist/core/tools/find.js.map +1 -1
- package/dist/core/tools/read.d.ts.map +1 -1
- package/dist/core/tools/read.js +1 -1
- package/dist/core/tools/read.js.map +1 -1
- package/dist/extensions/llama/index.d.ts.map +1 -1
- package/dist/extensions/llama/index.js +11 -2
- package/dist/extensions/llama/index.js.map +1 -1
- package/dist/extensions/llama/provider.d.ts.map +1 -1
- package/dist/extensions/llama/provider.js +21 -7
- package/dist/extensions/llama/provider.js.map +1 -1
- package/dist/index.d.ts +4 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +16 -7
- package/dist/main.js.map +1 -1
- package/dist/modes/index.d.ts +1 -0
- package/dist/modes/index.d.ts.map +1 -1
- package/dist/modes/index.js.map +1 -1
- package/dist/modes/interactive/components/assistant-message.d.ts +5 -2
- package/dist/modes/interactive/components/assistant-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/assistant-message.js +13 -4
- package/dist/modes/interactive/components/assistant-message.js.map +1 -1
- package/dist/modes/interactive/components/custom-editor.d.ts.map +1 -1
- package/dist/modes/interactive/components/custom-editor.js +7 -0
- package/dist/modes/interactive/components/custom-editor.js.map +1 -1
- package/dist/modes/interactive/components/footer.d.ts.map +1 -1
- package/dist/modes/interactive/components/footer.js +1 -1
- package/dist/modes/interactive/components/footer.js.map +1 -1
- package/dist/modes/interactive/components/markdown-transform.d.ts +3 -0
- package/dist/modes/interactive/components/markdown-transform.d.ts.map +1 -0
- package/dist/modes/interactive/components/markdown-transform.js +19 -0
- package/dist/modes/interactive/components/markdown-transform.js.map +1 -0
- package/dist/modes/interactive/components/mermaid.d.ts +11 -0
- package/dist/modes/interactive/components/mermaid.d.ts.map +1 -0
- package/dist/modes/interactive/components/mermaid.js +75 -0
- package/dist/modes/interactive/components/mermaid.js.map +1 -0
- package/dist/modes/interactive/components/model-selector.d.ts +1 -1
- package/dist/modes/interactive/components/model-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/model-selector.js +16 -4
- package/dist/modes/interactive/components/model-selector.js.map +1 -1
- package/dist/modes/interactive/components/scoped-models-selector.d.ts +4 -0
- package/dist/modes/interactive/components/scoped-models-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/scoped-models-selector.js +26 -0
- package/dist/modes/interactive/components/scoped-models-selector.js.map +1 -1
- package/dist/modes/interactive/components/settings-selector.d.ts +8 -2
- package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/settings-selector.js +30 -0
- package/dist/modes/interactive/components/settings-selector.js.map +1 -1
- package/dist/modes/interactive/components/user-message.d.ts +3 -1
- package/dist/modes/interactive/components/user-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/user-message.js +9 -2
- package/dist/modes/interactive/components/user-message.js.map +1 -1
- package/dist/modes/interactive/interactive-mode.d.ts +33 -2
- package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode.js +423 -138
- package/dist/modes/interactive/interactive-mode.js.map +1 -1
- package/dist/modes/interactive/theme/dark.json +1 -0
- package/dist/modes/interactive/theme/light.json +1 -0
- package/dist/modes/interactive/theme/theme-controller.d.ts +3 -0
- package/dist/modes/interactive/theme/theme-controller.d.ts.map +1 -1
- package/dist/modes/interactive/theme/theme-controller.js +10 -1
- package/dist/modes/interactive/theme/theme-controller.js.map +1 -1
- package/dist/modes/interactive/theme/theme-schema.json +5 -1
- package/dist/modes/interactive/theme/theme.d.ts +2 -2
- package/dist/modes/interactive/theme/theme.d.ts.map +1 -1
- package/dist/modes/interactive/theme/theme.js +13 -3
- package/dist/modes/interactive/theme/theme.js.map +1 -1
- package/dist/modes/json-event.d.ts +28 -0
- package/dist/modes/json-event.d.ts.map +1 -0
- package/dist/modes/json-event.js +12 -0
- package/dist/modes/json-event.js.map +1 -0
- package/dist/modes/print-mode.d.ts.map +1 -1
- package/dist/modes/print-mode.js +12 -2
- package/dist/modes/print-mode.js.map +1 -1
- package/dist/modes/rpc/rpc-client.d.ts +5 -4
- package/dist/modes/rpc/rpc-client.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-client.js.map +1 -1
- package/dist/modes/rpc/rpc-mode.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-mode.js +4 -3
- package/dist/modes/rpc/rpc-mode.js.map +1 -1
- package/dist/package-manager-cli.d.ts.map +1 -1
- package/dist/package-manager-cli.js +11 -9
- package/dist/package-manager-cli.js.map +1 -1
- package/dist/rpc-entry.d.ts.map +1 -1
- package/dist/rpc-entry.js +1 -0
- package/dist/rpc-entry.js.map +1 -1
- package/dist/utils/abort.d.ts +5 -0
- package/dist/utils/abort.d.ts.map +1 -0
- package/dist/utils/abort.js +48 -0
- package/dist/utils/abort.js.map +1 -0
- package/dist/utils/clipboard.d.ts +1 -1
- package/dist/utils/clipboard.d.ts.map +1 -1
- package/dist/utils/clipboard.js +22 -2
- package/dist/utils/clipboard.js.map +1 -1
- package/dist/utils/management-http.d.ts +23 -0
- package/dist/utils/management-http.d.ts.map +1 -0
- package/dist/utils/management-http.js +50 -0
- package/dist/utils/management-http.js.map +1 -0
- package/dist/utils/paths.d.ts +3 -0
- package/dist/utils/paths.d.ts.map +1 -1
- package/dist/utils/paths.js +23 -1
- package/dist/utils/paths.js.map +1 -1
- package/dist/utils/tool-result-images.d.ts +19 -0
- package/dist/utils/tool-result-images.d.ts.map +1 -0
- package/dist/utils/tool-result-images.js +45 -0
- package/dist/utils/tool-result-images.js.map +1 -0
- package/dist/utils/tools-manager.d.ts.map +1 -1
- package/dist/utils/tools-manager.js +4 -6
- package/dist/utils/tools-manager.js.map +1 -1
- package/dist/utils/version-check.d.ts +4 -0
- package/dist/utils/version-check.d.ts.map +1 -1
- package/dist/utils/version-check.js +20 -2
- package/dist/utils/version-check.js.map +1 -1
- package/docs/compaction.md +2 -2
- package/docs/custom-provider.md +7 -5
- package/docs/extensions.md +27 -3
- package/docs/json.md +19 -14
- package/docs/keybindings.md +38 -10
- package/docs/models.md +24 -3
- package/docs/providers.md +1 -0
- package/docs/quickstart.md +2 -0
- package/docs/rpc.md +13 -11
- package/docs/sdk.md +21 -2
- package/docs/security.md +1 -1
- package/docs/settings.md +4 -1
- package/docs/themes.md +5 -3
- package/docs/usage.md +7 -0
- package/examples/extensions/custom-compaction.ts +1 -16
- package/examples/extensions/custom-provider-anthropic/index.ts +2 -1
- package/examples/extensions/custom-provider-anthropic/package-lock.json +2 -2
- package/examples/extensions/custom-provider-anthropic/package.json +1 -1
- package/examples/extensions/custom-provider-gitlab-duo/index.ts +2 -1
- package/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
- package/examples/extensions/doom-overlay/wad-finder.ts +7 -3
- package/examples/extensions/gondolin/package-lock.json +2 -2
- package/examples/extensions/gondolin/package.json +1 -1
- package/examples/extensions/handoff.ts +2 -11
- package/examples/extensions/qna.ts +3 -7
- package/examples/extensions/sandbox/package-lock.json +2 -2
- package/examples/extensions/sandbox/package.json +1 -1
- package/examples/extensions/summarize.ts +7 -18
- package/examples/extensions/with-deps/package-lock.json +2 -2
- package/examples/extensions/with-deps/package.json +1 -1
- package/examples/rpc-extension-ui.ts +11 -2
- package/examples/sdk/02-custom-model.ts +1 -2
- package/examples/sdk/09-api-keys-and-oauth.ts +1 -1
- package/examples/sdk/12-full-control.ts +1 -1
- package/examples/sdk/README.md +1 -1
- package/npm-shrinkwrap.json +64 -20
- package/package.json +13 -6
|
@@ -30,6 +30,7 @@ import { spawnProcess, spawnProcessSync } from "../utils/child-process.js";
|
|
|
30
30
|
import { parseGitUrl } from "../utils/git.js";
|
|
31
31
|
import { canonicalizePath, isLocalPath, markPathIgnoredByCloudSync, resolvePath } from "../utils/paths.js";
|
|
32
32
|
import { isStdoutTakenOver } from "./output-guard.js";
|
|
33
|
+
import { readPiManifest } from "./pi-manifest.js";
|
|
33
34
|
const NETWORK_TIMEOUT_MS = 10000;
|
|
34
35
|
const UPDATE_CHECK_CONCURRENCY = 4;
|
|
35
36
|
const GIT_UPDATE_CONCURRENCY = 4;
|
|
@@ -360,20 +361,10 @@ function collectAutoThemeEntries(dir) {
|
|
|
360
361
|
}
|
|
361
362
|
return entries;
|
|
362
363
|
}
|
|
363
|
-
function readPiManifestFile(packageJsonPath) {
|
|
364
|
-
try {
|
|
365
|
-
const content = readFileSync(packageJsonPath, "utf-8");
|
|
366
|
-
const pkg = JSON.parse(content);
|
|
367
|
-
return pkg.pi ?? null;
|
|
368
|
-
}
|
|
369
|
-
catch {
|
|
370
|
-
return null;
|
|
371
|
-
}
|
|
372
|
-
}
|
|
373
364
|
function resolveExtensionEntries(dir) {
|
|
374
365
|
const packageJsonPath = join(dir, "package.json");
|
|
375
366
|
if (existsSync(packageJsonPath)) {
|
|
376
|
-
const manifest =
|
|
367
|
+
const manifest = readPiManifest(packageJsonPath);
|
|
377
368
|
if (manifest?.extensions?.length) {
|
|
378
369
|
const entries = [];
|
|
379
370
|
for (const extPath of manifest.extensions) {
|
|
@@ -1511,6 +1502,7 @@ export class DefaultPackageManager {
|
|
|
1511
1502
|
this.ensureGitIgnore(gitRoot);
|
|
1512
1503
|
}
|
|
1513
1504
|
mkdirSync(dirname(targetDir), { recursive: true });
|
|
1505
|
+
rmSync(this.getGitUpdateMarkerPath(targetDir), { force: true });
|
|
1514
1506
|
try {
|
|
1515
1507
|
await this.runCommand("git", ["clone", source.repo, targetDir]);
|
|
1516
1508
|
if (source.ref) {
|
|
@@ -1540,6 +1532,53 @@ export class DefaultPackageManager {
|
|
|
1540
1532
|
const target = await this.getLocalGitUpdateTarget(targetDir);
|
|
1541
1533
|
await this.ensureGitRef(targetDir, target.fetchArgs, target.ref);
|
|
1542
1534
|
}
|
|
1535
|
+
hasMissingGitDependencies(targetDir) {
|
|
1536
|
+
const packageJsonPath = join(targetDir, "package.json");
|
|
1537
|
+
if (!existsSync(packageJsonPath))
|
|
1538
|
+
return false;
|
|
1539
|
+
try {
|
|
1540
|
+
const manifest = JSON.parse(readFileSync(packageJsonPath, "utf-8"));
|
|
1541
|
+
if (!manifest.dependencies ||
|
|
1542
|
+
typeof manifest.dependencies !== "object" ||
|
|
1543
|
+
Array.isArray(manifest.dependencies)) {
|
|
1544
|
+
return false;
|
|
1545
|
+
}
|
|
1546
|
+
const nodeModulesDir = resolve(targetDir, "node_modules");
|
|
1547
|
+
return Object.keys(manifest.dependencies).some((name) => {
|
|
1548
|
+
const dependencyPath = resolve(nodeModulesDir, name);
|
|
1549
|
+
if (!dependencyPath.startsWith(`${nodeModulesDir}${sep}`))
|
|
1550
|
+
return false;
|
|
1551
|
+
return !existsSync(dependencyPath);
|
|
1552
|
+
});
|
|
1553
|
+
}
|
|
1554
|
+
catch {
|
|
1555
|
+
return false;
|
|
1556
|
+
}
|
|
1557
|
+
}
|
|
1558
|
+
async repairMissingGitDependencies(targetDir) {
|
|
1559
|
+
if (!this.hasMissingGitDependencies(targetDir))
|
|
1560
|
+
return;
|
|
1561
|
+
await this.runNpmCommand(this.getGitDependencyInstallArgs(), { cwd: targetDir });
|
|
1562
|
+
}
|
|
1563
|
+
getGitUpdateMarkerPath(targetDir) {
|
|
1564
|
+
return join(dirname(targetDir), `.${basename(targetDir)}.pi-update-incomplete`);
|
|
1565
|
+
}
|
|
1566
|
+
async cleanAndInstallGitDependencies(targetDir, markerPath) {
|
|
1567
|
+
// Clean untracked files (extensions should be pristine). If this fails after
|
|
1568
|
+
// deleting dependencies, repair them so the existing extension still loads.
|
|
1569
|
+
try {
|
|
1570
|
+
await this.runCommand("git", ["clean", "-fdx"], { cwd: targetDir });
|
|
1571
|
+
}
|
|
1572
|
+
catch (error) {
|
|
1573
|
+
await this.repairMissingGitDependencies(targetDir).catch(() => { });
|
|
1574
|
+
throw error;
|
|
1575
|
+
}
|
|
1576
|
+
const packageJsonPath = join(targetDir, "package.json");
|
|
1577
|
+
if (existsSync(packageJsonPath)) {
|
|
1578
|
+
await this.runNpmCommand(this.getGitDependencyInstallArgs(), { cwd: targetDir });
|
|
1579
|
+
}
|
|
1580
|
+
rmSync(markerPath, { force: true });
|
|
1581
|
+
}
|
|
1543
1582
|
async ensureGitRef(targetDir, fetchArgs, ref) {
|
|
1544
1583
|
// Fetch only the ref we will reset to, avoiding unrelated branch/tag noise.
|
|
1545
1584
|
await this.runCommand("git", fetchArgs, { cwd: targetDir });
|
|
@@ -1552,16 +1591,19 @@ export class DefaultPackageManager {
|
|
|
1552
1591
|
cwd: targetDir,
|
|
1553
1592
|
timeoutMs: NETWORK_TIMEOUT_MS,
|
|
1554
1593
|
});
|
|
1594
|
+
const markerPath = this.getGitUpdateMarkerPath(targetDir);
|
|
1555
1595
|
if (localHead.trim() === targetHead.trim()) {
|
|
1596
|
+
if (existsSync(markerPath)) {
|
|
1597
|
+
await this.cleanAndInstallGitDependencies(targetDir, markerPath);
|
|
1598
|
+
}
|
|
1599
|
+
else {
|
|
1600
|
+
await this.repairMissingGitDependencies(targetDir);
|
|
1601
|
+
}
|
|
1556
1602
|
return;
|
|
1557
1603
|
}
|
|
1604
|
+
writeFileSync(markerPath, "", "utf-8");
|
|
1558
1605
|
await this.runCommand("git", ["reset", "--hard", commitRef], { cwd: targetDir });
|
|
1559
|
-
|
|
1560
|
-
await this.runCommand("git", ["clean", "-fdx"], { cwd: targetDir });
|
|
1561
|
-
const packageJsonPath = join(targetDir, "package.json");
|
|
1562
|
-
if (existsSync(packageJsonPath)) {
|
|
1563
|
-
await this.runNpmCommand(this.getGitDependencyInstallArgs(), { cwd: targetDir });
|
|
1564
|
-
}
|
|
1606
|
+
await this.cleanAndInstallGitDependencies(targetDir, markerPath);
|
|
1565
1607
|
}
|
|
1566
1608
|
async refreshTemporaryGitSource(source, sourceStr) {
|
|
1567
1609
|
if (isOfflineModeEnabled()) {
|
|
@@ -1578,9 +1620,8 @@ export class DefaultPackageManager {
|
|
|
1578
1620
|
}
|
|
1579
1621
|
async removeGit(source, scope) {
|
|
1580
1622
|
const targetDir = this.getGitInstallPath(source, scope);
|
|
1581
|
-
if (!existsSync(targetDir))
|
|
1582
|
-
return;
|
|
1583
1623
|
rmSync(targetDir, { recursive: true, force: true });
|
|
1624
|
+
rmSync(this.getGitUpdateMarkerPath(targetDir), { force: true });
|
|
1584
1625
|
this.pruneEmptyGitParents(targetDir, this.getGitInstallRoot(scope));
|
|
1585
1626
|
}
|
|
1586
1627
|
pruneEmptyGitParents(targetDir, installRoot) {
|
|
@@ -1761,7 +1802,7 @@ export class DefaultPackageManager {
|
|
|
1761
1802
|
}
|
|
1762
1803
|
return true;
|
|
1763
1804
|
}
|
|
1764
|
-
const manifest =
|
|
1805
|
+
const manifest = readPiManifest(join(packageRoot, "package.json"));
|
|
1765
1806
|
if (manifest) {
|
|
1766
1807
|
for (const resourceType of RESOURCE_TYPES) {
|
|
1767
1808
|
const entries = manifest[resourceType];
|
|
@@ -1784,7 +1825,7 @@ export class DefaultPackageManager {
|
|
|
1784
1825
|
return hasAnyDir;
|
|
1785
1826
|
}
|
|
1786
1827
|
collectDefaultResources(packageRoot, resourceType, target, metadata) {
|
|
1787
|
-
const manifest =
|
|
1828
|
+
const manifest = readPiManifest(join(packageRoot, "package.json"));
|
|
1788
1829
|
const entries = manifest?.[resourceType];
|
|
1789
1830
|
if (entries) {
|
|
1790
1831
|
this.addManifestEntries(entries, packageRoot, resourceType, target, metadata);
|
|
@@ -1831,7 +1872,7 @@ export class DefaultPackageManager {
|
|
|
1831
1872
|
* that pass the manifest's own patterns.
|
|
1832
1873
|
*/
|
|
1833
1874
|
collectManifestFiles(packageRoot, resourceType) {
|
|
1834
|
-
const manifest =
|
|
1875
|
+
const manifest = readPiManifest(join(packageRoot, "package.json"));
|
|
1835
1876
|
const entries = manifest?.[resourceType];
|
|
1836
1877
|
if (entries && entries.length > 0) {
|
|
1837
1878
|
const allFiles = this.collectFilesFromManifestEntries(entries, packageRoot, resourceType);
|
|
@@ -1846,20 +1887,6 @@ export class DefaultPackageManager {
|
|
|
1846
1887
|
const allFiles = collectResourceFiles(conventionDir, resourceType);
|
|
1847
1888
|
return { allFiles, enabledByManifest: new Set(allFiles) };
|
|
1848
1889
|
}
|
|
1849
|
-
readPiManifest(packageRoot) {
|
|
1850
|
-
const packageJsonPath = join(packageRoot, "package.json");
|
|
1851
|
-
if (!existsSync(packageJsonPath)) {
|
|
1852
|
-
return null;
|
|
1853
|
-
}
|
|
1854
|
-
try {
|
|
1855
|
-
const content = readFileSync(packageJsonPath, "utf-8");
|
|
1856
|
-
const pkg = JSON.parse(content);
|
|
1857
|
-
return pkg.pi ?? null;
|
|
1858
|
-
}
|
|
1859
|
-
catch {
|
|
1860
|
-
return null;
|
|
1861
|
-
}
|
|
1862
|
-
}
|
|
1863
1890
|
addManifestEntries(entries, root, resourceType, target, metadata) {
|
|
1864
1891
|
if (!entries)
|
|
1865
1892
|
return;
|