aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe-php-rpc/php/stubs/Composer/Package
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2026-08-04 05:09:04 +0900
committernsfisis <nsfisis@gmail.com>2026-08-04 05:43:32 +0900
commit80631930a6ca7b64d96a89de61c8b63f302161a8 (patch)
treedc5acf4a8dbe74b576ec7826206defa0e3f8fba1 /crates/shirabe-php-rpc/php/stubs/Composer/Package
parent850b67c048bbf80d9739520d950f4dd1ed4190a5 (diff)
downloadphp-shirabe-80631930a6ca7b64d96a89de61c8b63f302161a8.tar.gz
php-shirabe-80631930a6ca7b64d96a89de61c8b63f302161a8.tar.zst
php-shirabe-80631930a6ca7b64d96a89de61c8b63f302161a8.zip
feat(plugin): generate proxy stubs for the package and repository graph
Emit the eleven stubs a subscriber plugin's object-graph calls reach (BasePackage through RootPackage, the installed-repository hierarchy, RepositoryManager, InstallationManager). The generator learns the member kinds these classes need: builtin interfaces contribute no closure entries, public static properties are materialized, public instance properties forward through __get/__set, __toString forwards like a plain method, __clone throws (proxy clone semantics are still an open design question), and a subclass stub may add interfaces to its inherited surface. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Diffstat (limited to 'crates/shirabe-php-rpc/php/stubs/Composer/Package')
-rw-r--r--crates/shirabe-php-rpc/php/stubs/Composer/Package/BasePackage.php388
-rw-r--r--crates/shirabe-php-rpc/php/stubs/Composer/Package/CompletePackage.php134
-rw-r--r--crates/shirabe-php-rpc/php/stubs/Composer/Package/Package.php114
-rw-r--r--crates/shirabe-php-rpc/php/stubs/Composer/Package/RootPackage.php71
4 files changed, 707 insertions, 0 deletions
diff --git a/crates/shirabe-php-rpc/php/stubs/Composer/Package/BasePackage.php b/crates/shirabe-php-rpc/php/stubs/Composer/Package/BasePackage.php
new file mode 100644
index 00000000..e55c3fb5
--- /dev/null
+++ b/crates/shirabe-php-rpc/php/stubs/Composer/Package/BasePackage.php
@@ -0,0 +1,388 @@
+<?php
+
+// Generated by scripts/plugin-stub-generator; do not edit by hand.
+// Proxy stub for Composer\Package\BasePackage: the public surface forwards to the Rust-side entity over RPC.
+
+namespace Composer\Package;
+
+use Composer\Repository\RepositoryInterface;
+
+abstract class BasePackage implements PackageInterface, \ShirabeRustStub
+{
+ /** @var int */
+ protected $__rhandle;
+ /** @var int */
+ protected $__epoch;
+
+ public function __construct(int $rhandle = 0, int $epoch = 0)
+ {
+ if (func_num_args() < 2) {
+ // Constructing the class from plugin code (a common idiom for e.g. `new BufferIO()`)
+ // is an open question of the plugin design; only proxy instantiation passes a
+ // Rust handle. Fail with a diagnosable message instead of an ArgumentCountError.
+ throw new \RuntimeException(
+ 'Shirabe does not support constructing ' . static::class . ' inside the plugin process yet'
+ );
+ }
+ $this->__rhandle = $rhandle;
+ $this->__epoch = $epoch;
+ }
+
+ public function __destruct()
+ {
+ \ShirabeRustObjectRegistry::release($this->__rhandle);
+ }
+
+ public function __shirabeRustHandleDescriptor(): array
+ {
+ return [
+ '__rhandle' => $this->__rhandle,
+ '__class' => static::class,
+ '__epoch' => $this->__epoch,
+ ];
+ }
+
+ public const STABILITY_STABLE = 0;
+ public const STABILITY_RC = 5;
+ public const STABILITY_BETA = 10;
+ public const STABILITY_ALPHA = 15;
+ public const STABILITY_DEV = 20;
+ public const STABILITIES = [
+ 'stable' => self::STABILITY_STABLE,
+ 'RC' => self::STABILITY_RC,
+ 'beta' => self::STABILITY_BETA,
+ 'alpha' => self::STABILITY_ALPHA,
+ 'dev' => self::STABILITY_DEV,
+ ];
+
+ public static $supportedLinkTypes = [
+ 'require' => ['description' => 'requires', 'method' => Link::TYPE_REQUIRE],
+ 'conflict' => ['description' => 'conflicts', 'method' => Link::TYPE_CONFLICT],
+ 'provide' => ['description' => 'provides', 'method' => Link::TYPE_PROVIDE],
+ 'replace' => ['description' => 'replaces', 'method' => Link::TYPE_REPLACE],
+ 'require-dev' => ['description' => 'requires (for development)', 'method' => Link::TYPE_DEV_REQUIRE],
+ ];
+ public static $stabilities = self::STABILITIES;
+
+ /** The real class declares public properties; every access forwards to the entity. */
+ public function __get($name)
+ {
+ return \ShirabeRpcRuntime::callRust($this->__rhandle, '__get', [$name]);
+ }
+
+ public function __set($name, $value): void
+ {
+ \ShirabeRpcRuntime::callRust($this->__rhandle, '__set', [$name, $value]);
+ }
+
+ public function __clone()
+ {
+ // Cloning a proxy is an open design question; fail instead of silently sharing
+ // the Rust-side entity between two stub instances.
+ throw new \RuntimeException('Shirabe does not support cloning ' . static::class . ' inside the plugin process yet');
+ }
+
+ public static function packageNameToRegexp(string $allowPattern, string $wrap = '{^%s$}i'): string
+ {
+ $cleanedAllowPattern = str_replace('\\*', '.*', preg_quote($allowPattern));
+
+ return sprintf($wrap, $cleanedAllowPattern);
+ }
+
+ public static function packageNamesToRegexp(array $packageNames, string $wrap = '{^(?:%s)$}iD'): string
+ {
+ $packageNames = array_map(
+ static function ($packageName): string {
+ return BasePackage::packageNameToRegexp($packageName, '%s');
+ },
+ $packageNames
+ );
+
+ return sprintf($wrap, implode('|', $packageNames));
+ }
+
+ public function getName(): string
+ {
+ return \ShirabeRpcRuntime::callRust($this->__rhandle, 'getName', []);
+ }
+
+ public function getPrettyName(): string
+ {
+ return \ShirabeRpcRuntime::callRust($this->__rhandle, 'getPrettyName', []);
+ }
+
+ public function getNames($provides = true): array
+ {
+ return \ShirabeRpcRuntime::callRust($this->__rhandle, 'getNames', [$provides]);
+ }
+
+ public function setId(int $id): void
+ {
+ \ShirabeRpcRuntime::callRust($this->__rhandle, 'setId', [$id]);
+ }
+
+ public function getId(): int
+ {
+ return \ShirabeRpcRuntime::callRust($this->__rhandle, 'getId', []);
+ }
+
+ public function isDev(): bool
+ {
+ return \ShirabeRpcRuntime::callRust($this->__rhandle, 'isDev', []);
+ }
+
+ public function getType(): string
+ {
+ return \ShirabeRpcRuntime::callRust($this->__rhandle, 'getType', []);
+ }
+
+ public function getTargetDir(): ?string
+ {
+ return \ShirabeRpcRuntime::callRust($this->__rhandle, 'getTargetDir', []);
+ }
+
+ public function getExtra(): array
+ {
+ return \ShirabeRpcRuntime::callRust($this->__rhandle, 'getExtra', []);
+ }
+
+ public function setInstallationSource(?string $type): void
+ {
+ \ShirabeRpcRuntime::callRust($this->__rhandle, 'setInstallationSource', [$type]);
+ }
+
+ public function getInstallationSource(): ?string
+ {
+ return \ShirabeRpcRuntime::callRust($this->__rhandle, 'getInstallationSource', []);
+ }
+
+ public function getSourceType(): ?string
+ {
+ return \ShirabeRpcRuntime::callRust($this->__rhandle, 'getSourceType', []);
+ }
+
+ public function getSourceUrl(): ?string
+ {
+ return \ShirabeRpcRuntime::callRust($this->__rhandle, 'getSourceUrl', []);
+ }
+
+ public function getSourceUrls(): array
+ {
+ return \ShirabeRpcRuntime::callRust($this->__rhandle, 'getSourceUrls', []);
+ }
+
+ public function getSourceReference(): ?string
+ {
+ return \ShirabeRpcRuntime::callRust($this->__rhandle, 'getSourceReference', []);
+ }
+
+ public function getSourceMirrors(): ?array
+ {
+ return \ShirabeRpcRuntime::callRust($this->__rhandle, 'getSourceMirrors', []);
+ }
+
+ public function setSourceMirrors(?array $mirrors): void
+ {
+ \ShirabeRpcRuntime::callRust($this->__rhandle, 'setSourceMirrors', [$mirrors]);
+ }
+
+ public function getDistType(): ?string
+ {
+ return \ShirabeRpcRuntime::callRust($this->__rhandle, 'getDistType', []);
+ }
+
+ public function getDistUrl(): ?string
+ {
+ return \ShirabeRpcRuntime::callRust($this->__rhandle, 'getDistUrl', []);
+ }
+
+ public function getDistUrls(): array
+ {
+ return \ShirabeRpcRuntime::callRust($this->__rhandle, 'getDistUrls', []);
+ }
+
+ public function getDistReference(): ?string
+ {
+ return \ShirabeRpcRuntime::callRust($this->__rhandle, 'getDistReference', []);
+ }
+
+ public function getDistSha1Checksum(): ?string
+ {
+ return \ShirabeRpcRuntime::callRust($this->__rhandle, 'getDistSha1Checksum', []);
+ }
+
+ public function getDistMirrors(): ?array
+ {
+ return \ShirabeRpcRuntime::callRust($this->__rhandle, 'getDistMirrors', []);
+ }
+
+ public function setDistMirrors(?array $mirrors): void
+ {
+ \ShirabeRpcRuntime::callRust($this->__rhandle, 'setDistMirrors', [$mirrors]);
+ }
+
+ public function getVersion(): string
+ {
+ return \ShirabeRpcRuntime::callRust($this->__rhandle, 'getVersion', []);
+ }
+
+ public function getPrettyVersion(): string
+ {
+ return \ShirabeRpcRuntime::callRust($this->__rhandle, 'getPrettyVersion', []);
+ }
+
+ public function getFullPrettyVersion(bool $truncate = true, int $displayMode = PackageInterface::DISPLAY_SOURCE_REF_IF_DEV): string
+ {
+ return \ShirabeRpcRuntime::callRust($this->__rhandle, 'getFullPrettyVersion', [$truncate, $displayMode]);
+ }
+
+ public function getReleaseDate(): ?\DateTimeInterface
+ {
+ return \ShirabeRpcRuntime::callRust($this->__rhandle, 'getReleaseDate', []);
+ }
+
+ public function getStability(): string
+ {
+ return \ShirabeRpcRuntime::callRust($this->__rhandle, 'getStability', []);
+ }
+
+ public function getRequires(): array
+ {
+ return \ShirabeRpcRuntime::callRust($this->__rhandle, 'getRequires', []);
+ }
+
+ public function getConflicts(): array
+ {
+ return \ShirabeRpcRuntime::callRust($this->__rhandle, 'getConflicts', []);
+ }
+
+ public function getProvides(): array
+ {
+ return \ShirabeRpcRuntime::callRust($this->__rhandle, 'getProvides', []);
+ }
+
+ public function getReplaces(): array
+ {
+ return \ShirabeRpcRuntime::callRust($this->__rhandle, 'getReplaces', []);
+ }
+
+ public function getDevRequires(): array
+ {
+ return \ShirabeRpcRuntime::callRust($this->__rhandle, 'getDevRequires', []);
+ }
+
+ public function getSuggests(): array
+ {
+ return \ShirabeRpcRuntime::callRust($this->__rhandle, 'getSuggests', []);
+ }
+
+ public function getAutoload(): array
+ {
+ return \ShirabeRpcRuntime::callRust($this->__rhandle, 'getAutoload', []);
+ }
+
+ public function getDevAutoload(): array
+ {
+ return \ShirabeRpcRuntime::callRust($this->__rhandle, 'getDevAutoload', []);
+ }
+
+ public function getIncludePaths(): array
+ {
+ return \ShirabeRpcRuntime::callRust($this->__rhandle, 'getIncludePaths', []);
+ }
+
+ public function getPhpExt(): ?array
+ {
+ return \ShirabeRpcRuntime::callRust($this->__rhandle, 'getPhpExt', []);
+ }
+
+ public function setRepository(RepositoryInterface $repository): void
+ {
+ \ShirabeRpcRuntime::callRust($this->__rhandle, 'setRepository', [$repository]);
+ }
+
+ public function getRepository(): ?RepositoryInterface
+ {
+ return \ShirabeRpcRuntime::callRust($this->__rhandle, 'getRepository', []);
+ }
+
+ public function getBinaries(): array
+ {
+ return \ShirabeRpcRuntime::callRust($this->__rhandle, 'getBinaries', []);
+ }
+
+ public function getUniqueName(): string
+ {
+ return \ShirabeRpcRuntime::callRust($this->__rhandle, 'getUniqueName', []);
+ }
+
+ public function getNotificationUrl(): ?string
+ {
+ return \ShirabeRpcRuntime::callRust($this->__rhandle, 'getNotificationUrl', []);
+ }
+
+ public function __toString(): string
+ {
+ return \ShirabeRpcRuntime::callRust($this->__rhandle, '__toString', []);
+ }
+
+ public function getPrettyString(): string
+ {
+ return \ShirabeRpcRuntime::callRust($this->__rhandle, 'getPrettyString', []);
+ }
+
+ public function isDefaultBranch(): bool
+ {
+ return \ShirabeRpcRuntime::callRust($this->__rhandle, 'isDefaultBranch', []);
+ }
+
+ public function getTransportOptions(): array
+ {
+ return \ShirabeRpcRuntime::callRust($this->__rhandle, 'getTransportOptions', []);
+ }
+
+ public function setTransportOptions(array $options): void
+ {
+ \ShirabeRpcRuntime::callRust($this->__rhandle, 'setTransportOptions', [$options]);
+ }
+
+ public function setSourceReference(?string $reference): void
+ {
+ \ShirabeRpcRuntime::callRust($this->__rhandle, 'setSourceReference', [$reference]);
+ }
+
+ public function setDistUrl(?string $url): void
+ {
+ \ShirabeRpcRuntime::callRust($this->__rhandle, 'setDistUrl', [$url]);
+ }
+
+ public function setDistType(?string $type): void
+ {
+ \ShirabeRpcRuntime::callRust($this->__rhandle, 'setDistType', [$type]);
+ }
+
+ public function setDistReference(?string $reference): void
+ {
+ \ShirabeRpcRuntime::callRust($this->__rhandle, 'setDistReference', [$reference]);
+ }
+
+ public function setSourceDistReferences(string $reference): void
+ {
+ \ShirabeRpcRuntime::callRust($this->__rhandle, 'setSourceDistReferences', [$reference]);
+ }
+
+ public function isPlatform(): bool
+ {
+ return \ShirabeRpcRuntime::callRust($this->__rhandle, 'isPlatform', []);
+ }
+
+ public function equals(PackageInterface $package): bool
+ {
+ return \ShirabeRpcRuntime::callRust($this->__rhandle, 'equals', [$package]);
+ }
+
+ public function getStabilityPriority(): int
+ {
+ return \ShirabeRpcRuntime::callRust($this->__rhandle, 'getStabilityPriority', []);
+ }
+}
diff --git a/crates/shirabe-php-rpc/php/stubs/Composer/Package/CompletePackage.php b/crates/shirabe-php-rpc/php/stubs/Composer/Package/CompletePackage.php
new file mode 100644
index 00000000..588084b0
--- /dev/null
+++ b/crates/shirabe-php-rpc/php/stubs/Composer/Package/CompletePackage.php
@@ -0,0 +1,134 @@
+<?php
+
+// Generated by scripts/plugin-stub-generator; do not edit by hand.
+// Proxy stub for Composer\Package\CompletePackage: the public surface forwards to the Rust-side entity over RPC.
+
+namespace Composer\Package;
+
+class CompletePackage extends Package implements CompletePackageInterface
+{
+ public function getScripts(): array
+ {
+ return \ShirabeRpcRuntime::callRust($this->__rhandle, 'getScripts', []);
+ }
+
+ public function setScripts(array $scripts): void
+ {
+ \ShirabeRpcRuntime::callRust($this->__rhandle, 'setScripts', [$scripts]);
+ }
+
+ public function getRepositories(): array
+ {
+ return \ShirabeRpcRuntime::callRust($this->__rhandle, 'getRepositories', []);
+ }
+
+ public function setRepositories(array $repositories): void
+ {
+ \ShirabeRpcRuntime::callRust($this->__rhandle, 'setRepositories', [$repositories]);
+ }
+
+ public function getLicense(): array
+ {
+ return \ShirabeRpcRuntime::callRust($this->__rhandle, 'getLicense', []);
+ }
+
+ public function setLicense(array $license): void
+ {
+ \ShirabeRpcRuntime::callRust($this->__rhandle, 'setLicense', [$license]);
+ }
+
+ public function getKeywords(): array
+ {
+ return \ShirabeRpcRuntime::callRust($this->__rhandle, 'getKeywords', []);
+ }
+
+ public function setKeywords(array $keywords): void
+ {
+ \ShirabeRpcRuntime::callRust($this->__rhandle, 'setKeywords', [$keywords]);
+ }
+
+ public function getDescription(): ?string
+ {
+ return \ShirabeRpcRuntime::callRust($this->__rhandle, 'getDescription', []);
+ }
+
+ public function setDescription(?string $description): void
+ {
+ \ShirabeRpcRuntime::callRust($this->__rhandle, 'setDescription', [$description]);
+ }
+
+ public function getHomepage(): ?string
+ {
+ return \ShirabeRpcRuntime::callRust($this->__rhandle, 'getHomepage', []);
+ }
+
+ public function setHomepage(?string $homepage): void
+ {
+ \ShirabeRpcRuntime::callRust($this->__rhandle, 'setHomepage', [$homepage]);
+ }
+
+ public function getAuthors(): array
+ {
+ return \ShirabeRpcRuntime::callRust($this->__rhandle, 'getAuthors', []);
+ }
+
+ public function setAuthors(array $authors): void
+ {
+ \ShirabeRpcRuntime::callRust($this->__rhandle, 'setAuthors', [$authors]);
+ }
+
+ public function getSupport(): array
+ {
+ return \ShirabeRpcRuntime::callRust($this->__rhandle, 'getSupport', []);
+ }
+
+ public function setSupport(array $support): void
+ {
+ \ShirabeRpcRuntime::callRust($this->__rhandle, 'setSupport', [$support]);
+ }
+
+ public function getFunding(): array
+ {
+ return \ShirabeRpcRuntime::callRust($this->__rhandle, 'getFunding', []);
+ }
+
+ public function setFunding(array $funding): void
+ {
+ \ShirabeRpcRuntime::callRust($this->__rhandle, 'setFunding', [$funding]);
+ }
+
+ public function isAbandoned(): bool
+ {
+ return \ShirabeRpcRuntime::callRust($this->__rhandle, 'isAbandoned', []);
+ }
+
+ public function getReplacementPackage(): ?string
+ {
+ return \ShirabeRpcRuntime::callRust($this->__rhandle, 'getReplacementPackage', []);
+ }
+
+ public function setAbandoned($abandoned): void
+ {
+ \ShirabeRpcRuntime::callRust($this->__rhandle, 'setAbandoned', [$abandoned]);
+ }
+
+ public function getArchiveName(): ?string
+ {
+ return \ShirabeRpcRuntime::callRust($this->__rhandle, 'getArchiveName', []);
+ }
+
+ public function setArchiveName(?string $name): void
+ {
+ \ShirabeRpcRuntime::callRust($this->__rhandle, 'setArchiveName', [$name]);
+ }
+
+ public function getArchiveExcludes(): array
+ {
+ return \ShirabeRpcRuntime::callRust($this->__rhandle, 'getArchiveExcludes', []);
+ }
+
+ public function setArchiveExcludes(array $excludes): void
+ {
+ \ShirabeRpcRuntime::callRust($this->__rhandle, 'setArchiveExcludes', [$excludes]);
+ }
+}
diff --git a/crates/shirabe-php-rpc/php/stubs/Composer/Package/Package.php b/crates/shirabe-php-rpc/php/stubs/Composer/Package/Package.php
new file mode 100644
index 00000000..5b80060d
--- /dev/null
+++ b/crates/shirabe-php-rpc/php/stubs/Composer/Package/Package.php
@@ -0,0 +1,114 @@
+<?php
+
+// Generated by scripts/plugin-stub-generator; do not edit by hand.
+// Proxy stub for Composer\Package\Package: the public surface forwards to the Rust-side entity over RPC.
+
+namespace Composer\Package;
+
+class Package extends BasePackage
+{
+ public function setType(string $type): void
+ {
+ \ShirabeRpcRuntime::callRust($this->__rhandle, 'setType', [$type]);
+ }
+
+ public function setTargetDir(?string $targetDir): void
+ {
+ \ShirabeRpcRuntime::callRust($this->__rhandle, 'setTargetDir', [$targetDir]);
+ }
+
+ public function setExtra(array $extra): void
+ {
+ \ShirabeRpcRuntime::callRust($this->__rhandle, 'setExtra', [$extra]);
+ }
+
+ public function setBinaries(array $binaries): void
+ {
+ \ShirabeRpcRuntime::callRust($this->__rhandle, 'setBinaries', [$binaries]);
+ }
+
+ public function setSourceType(?string $type): void
+ {
+ \ShirabeRpcRuntime::callRust($this->__rhandle, 'setSourceType', [$type]);
+ }
+
+ public function setSourceUrl(?string $url): void
+ {
+ \ShirabeRpcRuntime::callRust($this->__rhandle, 'setSourceUrl', [$url]);
+ }
+
+ public function setDistSha1Checksum(?string $sha1checksum): void
+ {
+ \ShirabeRpcRuntime::callRust($this->__rhandle, 'setDistSha1Checksum', [$sha1checksum]);
+ }
+
+ public function setReleaseDate(?\DateTimeInterface $releaseDate): void
+ {
+ \ShirabeRpcRuntime::callRust($this->__rhandle, 'setReleaseDate', [$releaseDate]);
+ }
+
+ public function setRequires(array $requires): void
+ {
+ \ShirabeRpcRuntime::callRust($this->__rhandle, 'setRequires', [$requires]);
+ }
+
+ public function setConflicts(array $conflicts): void
+ {
+ \ShirabeRpcRuntime::callRust($this->__rhandle, 'setConflicts', [$conflicts]);
+ }
+
+ public function setProvides(array $provides): void
+ {
+ \ShirabeRpcRuntime::callRust($this->__rhandle, 'setProvides', [$provides]);
+ }
+
+ public function setReplaces(array $replaces): void
+ {
+ \ShirabeRpcRuntime::callRust($this->__rhandle, 'setReplaces', [$replaces]);
+ }
+
+ public function setDevRequires(array $devRequires): void
+ {
+ \ShirabeRpcRuntime::callRust($this->__rhandle, 'setDevRequires', [$devRequires]);
+ }
+
+ public function setSuggests(array $suggests): void
+ {
+ \ShirabeRpcRuntime::callRust($this->__rhandle, 'setSuggests', [$suggests]);
+ }
+
+ public function setAutoload(array $autoload): void
+ {
+ \ShirabeRpcRuntime::callRust($this->__rhandle, 'setAutoload', [$autoload]);
+ }
+
+ public function setDevAutoload(array $devAutoload): void
+ {
+ \ShirabeRpcRuntime::callRust($this->__rhandle, 'setDevAutoload', [$devAutoload]);
+ }
+
+ public function setIncludePaths(array $includePaths): void
+ {
+ \ShirabeRpcRuntime::callRust($this->__rhandle, 'setIncludePaths', [$includePaths]);
+ }
+
+ public function setPhpExt(?array $phpExt): void
+ {
+ \ShirabeRpcRuntime::callRust($this->__rhandle, 'setPhpExt', [$phpExt]);
+ }
+
+ public function setNotificationUrl(string $notificationUrl): void
+ {
+ \ShirabeRpcRuntime::callRust($this->__rhandle, 'setNotificationUrl', [$notificationUrl]);
+ }
+
+ public function setIsDefaultBranch(bool $defaultBranch): void
+ {
+ \ShirabeRpcRuntime::callRust($this->__rhandle, 'setIsDefaultBranch', [$defaultBranch]);
+ }
+
+ public function replaceVersion(string $version, string $prettyVersion): void
+ {
+ \ShirabeRpcRuntime::callRust($this->__rhandle, 'replaceVersion', [$version, $prettyVersion]);
+ }
+}
diff --git a/crates/shirabe-php-rpc/php/stubs/Composer/Package/RootPackage.php b/crates/shirabe-php-rpc/php/stubs/Composer/Package/RootPackage.php
new file mode 100644
index 00000000..7584787d
--- /dev/null
+++ b/crates/shirabe-php-rpc/php/stubs/Composer/Package/RootPackage.php
@@ -0,0 +1,71 @@
+<?php
+
+// Generated by scripts/plugin-stub-generator; do not edit by hand.
+// Proxy stub for Composer\Package\RootPackage: the public surface forwards to the Rust-side entity over RPC.
+
+namespace Composer\Package;
+
+class RootPackage extends CompletePackage implements RootPackageInterface
+{
+ public const DEFAULT_PRETTY_VERSION = '1.0.0+no-version-set';
+
+ public function getAliases(): array
+ {
+ return \ShirabeRpcRuntime::callRust($this->__rhandle, 'getAliases', []);
+ }
+
+ public function getMinimumStability(): string
+ {
+ return \ShirabeRpcRuntime::callRust($this->__rhandle, 'getMinimumStability', []);
+ }
+
+ public function getStabilityFlags(): array
+ {
+ return \ShirabeRpcRuntime::callRust($this->__rhandle, 'getStabilityFlags', []);
+ }
+
+ public function getReferences(): array
+ {
+ return \ShirabeRpcRuntime::callRust($this->__rhandle, 'getReferences', []);
+ }
+
+ public function getPreferStable(): bool
+ {
+ return \ShirabeRpcRuntime::callRust($this->__rhandle, 'getPreferStable', []);
+ }
+
+ public function getConfig(): array
+ {
+ return \ShirabeRpcRuntime::callRust($this->__rhandle, 'getConfig', []);
+ }
+
+ public function setStabilityFlags(array $stabilityFlags): void
+ {
+ \ShirabeRpcRuntime::callRust($this->__rhandle, 'setStabilityFlags', [$stabilityFlags]);
+ }
+
+ public function setMinimumStability(string $minimumStability): void
+ {
+ \ShirabeRpcRuntime::callRust($this->__rhandle, 'setMinimumStability', [$minimumStability]);
+ }
+
+ public function setPreferStable(bool $preferStable): void
+ {
+ \ShirabeRpcRuntime::callRust($this->__rhandle, 'setPreferStable', [$preferStable]);
+ }
+
+ public function setConfig(array $config): void
+ {
+ \ShirabeRpcRuntime::callRust($this->__rhandle, 'setConfig', [$config]);
+ }
+
+ public function setReferences(array $references): void
+ {
+ \ShirabeRpcRuntime::callRust($this->__rhandle, 'setReferences', [$references]);
+ }
+
+ public function setAliases(array $aliases): void
+ {
+ \ShirabeRpcRuntime::callRust($this->__rhandle, 'setAliases', [$aliases]);
+ }
+}