Core API
216 Public API型の署名、default、error、利用箇所をsource-derived lookupで調べる。
このReferenceは公開済みStable 1.2.1 Sourceで#[PublicApi]を持つ216型を一覧化しています。Application Authorはまず「Application構成」「Database」「Operation Authoring」「Validation」「Status/Outcome取得」の型を使い、Transport、Journal、Retention等のPortはAdapterを拡張するときだけ使ってください。
BlackOps\Core\Attribute\PublicApi marker自身は利用者向けAPIではないため一覧へ含めません。内部実装Namespaceと#[PublicApi]を持たない実装型にも依存しないでください。CanonicalJournalReader/OutcomeReaderはPublicApi markerを持たないInfrastructure SPIとして内部Adapterへ再分類され、Applicationの読み取りはOperationData Queryを使います。Readerの型/Methodを含むPublicApi aggregate StoreのAdapter境界はJournal/Outcome節に記載します。Attributeの付与対象と標準形はAttributesを確認してください。
このページのテーマ別一覧は、読者がNamespaceの責務から入口を選ぶためのreader-oriented indexです。Source contractの正本は後段のSource-derived exact signature indexだけであり、一覧の目的別要約はSignature/Error/Enum/Constantの網羅表ではありません。
Application構成
このNamespace群の正確な契約は、後段のCanonical namespace indexでSignature、Parameter、Return、Default、Error、Enum、Public constantの順に照合します。
Observability
このNamespace群の正確な契約は、後段のCanonical namespace indexでSignature、Parameter、Return、Default、Error、Enum、Public constantの順に照合します。
Database
このNamespace群の正確な契約は、後段のCanonical namespace indexでSignature、Parameter、Return、Default、Error、Enum、Public constantの順に照合します。
Default Connectionだけを使うRepositoryはDoctrine\DBAL\Connectionを直接Constructor Injectionできます。Named ConnectionはContainerやGlobal HelperではなくDatabaseManager::connection($name)で選択します。Transaction Attributeの制約とContainer管理境界はTransaction Attributes、実行保証はTransactionを参照してください。
Operation Authoringと実行Context
このNamespace群の正確な契約は、後段のCanonical namespace indexでSignature、Parameter、Return、Default、Error、Enum、Public constantの順に照合します。
Operation Metadata Attributes
このNamespace群の正確な契約は、後段のCanonical namespace indexでSignature、Parameter、Return、Default、Error、Enum、Public constantの順に照合します。
HTTP Attributes
このNamespace群の正確な契約は、後段のCanonical namespace indexでSignature、Parameter、Return、Default、Error、Enum、Public constantの順に照合します。
HTTP Authentication
このNamespace群の正確な契約は、後段のCanonical namespace indexでSignature、Parameter、Return、Default、Error、Enum、Public constantの順に照合します。
HTTP Runtime
このNamespace群の正確な契約は、後段のCanonical namespace indexでSignature、Parameter、Return、Default、Error、Enum、Public constantの順に照合します。
SapiRuntime::run(Application $application): voidはClassic Requestを一回処理し、SapiRuntime::runWorker(Application $application): voidはFrankenPHP Worker Callbackを継続処理します。Request生成、Response Emit、Safe 500、WorkerのEnvironment Restore/GCはRuntimeが所有します。Custom PSR-15 Adapter、Test、Application-owned Outer RouterではApplication::http()をEscape Hatchとして使います。
Session Authentication
このNamespace群の正確な契約は、後段のCanonical namespace indexでSignature、Parameter、Return、Default、Error、Enum、Public constantの順に照合します。
Operation Authorization
このNamespace群の正確な契約は、後段のCanonical namespace indexでSignature、Parameter、Return、Default、Error、Enum、Public constantの順に照合します。
HTTP入口はAuthenticationで得たActorRefから、同じ主体をorigin/authorization/executionへ設定したActorContextを作ります。独自入口からDispatcherを呼ぶ場合も、Credentialを含めず、このActor参照だけを任意の第三引数へ渡してください。従来の二引数呼び出しはAnonymous Contextとして動作します。
Idempotency
このNamespace群の正確な契約は、後段のCanonical namespace indexでSignature、Parameter、Return、Default、Error、Enum、Public constantの順に照合します。
Keyは1〜255 byteのPrintable ASCIIだけを受け付けます。Raw Key、Credential、Canonical Operation ValueはFrameworkのPublic APIやContext Codecへ返りません。Scope/Fingerprint/Storageの型はInternal Contractであり、Applicationから直接利用しません。
Replayされた結果は元のOperation IDを保持し、OperationResult::isReplayed()で判定できます。Typed Resultを再投影する場合はOperationResult::asReplayed()を使います。Deferred受付のDeferredAcknowledgement::isReplayed()も同じ意味を持ちます。Idempotency-ReplayedやCache-ControlなどのHTTPヘッダーはTransport Responderが付与し、Core ResultやAcknowledgement DTOには含めません。
Operation Status
このNamespace群の正確な契約は、後段のCanonical namespace indexでSignature、Parameter、Return、Default、Error、Enum、Public constantの順に照合します。
HTTPのGET /operations/{operationId}とGenerated .status()/.wait()はこのQueryを利用します。UnknownとDenyは404、認可済み期限切れだけ410です。Internal Source DTOやPostgreSQL実装へApplicationから依存しないでください。
Value Validation
このNamespace群の正確な契約は、後段のCanonical namespace indexでSignature、Parameter、Return、Default、Error、Enum、Public constantの順に照合します。
Identifier
このNamespace群の正確な契約は、後段のCanonical namespace indexでSignature、Parameter、Return、Default、Error、Enum、Public constantの順に照合します。
すべてのIdentifierはUUIDv7文字列をfromString()で検証し、toString()で取得します。同じUUID値でも型は相互に交換できません。
Execution StrategyとTransport Port
このNamespace群の正確な契約は、後段のCanonical namespace indexでSignature、Parameter、Return、Default、Error、Enum、Public constantの順に照合します。
Transactional Outbox
このNamespace群の正確な契約は、後段のCanonical namespace indexでSignature、Parameter、Return、Default、Error、Enum、Public constantの順に照合します。
CodecとDependency Injection
このNamespace群の正確な契約は、後段のCanonical namespace indexでSignature、Parameter、Return、Default、Error、Enum、Public constantの順に照合します。
Registry
このNamespace群の正確な契約は、後段のCanonical namespace indexでSignature、Parameter、Return、Default、Error、Enum、Public constantの順に照合します。
RejectionとSupervision
このNamespace群の正確な契約は、後段のCanonical namespace indexでSignature、Parameter、Return、Default、Error、Enum、Public constantの順に照合します。
Outcome Query and Store
このNamespace群の正確な契約は、後段のCanonical namespace indexでSignature、Parameter、Return、Default、Error、Enum、Public constantの順に照合します。
Journal Core
このNamespace群の正確な契約は、後段のCanonical namespace indexでSignature、Parameter、Return、Default、Error、Enum、Public constantの順に照合します。
Journal Event Data
このNamespace群の正確な契約は、後段のCanonical namespace indexでSignature、Parameter、Return、Default、Error、Enum、Public constantの順に照合します。
Journal Exceptions
このNamespace群の正確な契約は、後段のCanonical namespace indexでSignature、Parameter、Return、Default、Error、Enum、Public constantの順に照合します。
Retention
このNamespace群の正確な契約は、後段のCanonical namespace indexでSignature、Parameter、Return、Default、Error、Enum、Public constantの順に照合します。
Source auditの読み方
この一覧はPublic互換性の境界を示しますが、すべての型を通常のApplicationが直接使うという意味ではありません。次を目安に依存範囲を小さくしてください。
Source-derived lookup fields
各行はStable 1.2.1 Sourceの#[PublicApi]宣言から照合したReference recordです。型を見つけたら、次の順でその型の契約を確認します。
| Lookup field | 何を確認するか | 読み方 |
|---|---|---|
| Signature | 型のKindと公開Methodの呼出形 | Type::method(...)またはinterfaceのMethod宣言を選ぶ |
| Parameter | 引数名、型、nullable、Named Option/Propertyの境界 | 呼出例の括弧内と本文のParameter/引数説明を照合する |
| Return | Return Type、Result分岐、voidまたはNullableの意味 |
Type::method()の返却とSuccess/Unavailableを確認する |
| Default | 省略可能な引数、Config既定値、未指定時の挙動 | Default/既定値をApplicationの設定へ移す前に確認する |
| Error | Invalid、Rejected、Unavailable、Storage Failureと安全なCode/Exit | Error/エラー節でRaw PayloadやCredentialを含まない境界を確認する |
| Typical Use | Applicationが実際に呼ぶ入口と責務境界 | 各行のTypical Useとリンク先の完全例を組み合わせる |
SourceにDefaultがないMethodは「Defaultなし」として扱い、任意値を推測しません。Return/ErrorはInfrastructure SPIやProtected Payloadではなく、公開Query/Resultの型を使います。CLI、Config、Attributeの固有Option/Target/Defaultも、それぞれのReferenceページの同じ6 fieldで確認してください。
Source-derived exact signature index
このIndexはsrc/の#[PublicApi]宣言から生成した216型のreader-oriented source contractです。Signature/Parameterは型、属性、名前、順序、Defaultを省略せず、Error/Safe CodeはSource bodyで直接観測できる項目だけを記録します。Error列はruntime Errorの網羅表ではありません。EnumとPublic constantsはbacking/case、name/type/valueを同じSourceから照合します。
Namespace BlackOps\Application
| Type | Signature | Parameter | Return | Default | Error / Safe Code (source-observed) | Typical Use | Enum backing / cases | Public constants (name / type / value) |
|---|---|---|---|---|---|---|---|---|
BlackOps\Application\Application |
Application::configure(string $basePath): ApplicationBuilder Application::http(): RequestHandlerInterface Application::console(): ConsoleKernel |
configure: string $basePath | configure: ApplicationBuilder http: RequestHandlerInterface console: ConsoleKernel |
なし(Defaultなし) | configure: throws LogicException http: throws ApplicationBootstrapException console: throws LogicException; throws ApplicationBootstrapException |
Application::configure()からBootstrapする |
not an enum (source-derived) | none (source-derived) |
BlackOps\Application\ApplicationBootstrapException |
marker/class/value type | なし(引数なし) | なし(Return Typeなし) | なし(Defaultなし) | Source type: no public methods; runtime Error/Safe Code is non-exhaustive | Entrypointで安全な起動Errorとして扱う | not an enum (source-derived) | none (source-derived) |
BlackOps\Application\ApplicationBuilder |
ApplicationBuilder::withTracerProvider(?TracerProviderInterface $provider): self ApplicationBuilder::withMeterProvider(?MeterProviderInterface $provider): self ApplicationBuilder::withEnvironment(?array $variables = null): self ApplicationBuilder::withEnvironmentFile(?string $path = null): self ApplicationBuilder::withConfiguration(?string $directory = null): self ApplicationBuilder::withOperations(iterable $providers = []): self ApplicationBuilder::withServices(iterable $providers = []): self ApplicationBuilder::withCommands(iterable $commands = []): self ApplicationBuilder::create(): Application |
withTracerProvider: ?TracerProviderInterface $provider withMeterProvider: ?MeterProviderInterface $provider withEnvironment: ?array $variables = null withEnvironmentFile: ?string $path = null withConfiguration: ?string $directory = null withOperations: iterable $providers = [] withServices: iterable $providers = [] withCommands: iterable $commands = [] |
withTracerProvider: self withMeterProvider: self withEnvironment: self withEnvironmentFile: self withConfiguration: self withOperations: self withServices: self withCommands: self create: Application |
withEnvironment.variables=null withEnvironmentFile.path=null withConfiguration.directory=null withOperations.providers=[] withServices.providers=[] withCommands.commands=[] |
withTracerProvider: Source body: no direct throw or bounded helper error observed (non-exhaustive) withMeterProvider: Source body: no direct throw or bounded helper error observed (non-exhaustive) withEnvironment: throws ApplicationBootstrapException withEnvironmentFile: Source body: no direct throw or bounded helper error observed (non-exhaustive) withConfiguration: throws ApplicationBootstrapException withOperations: Source body: no direct throw or bounded helper error observed (non-exhaustive) withServices: Source body: no direct throw or bounded helper error observed (non-exhaustive) withCommands: Source body: no direct throw or bounded helper error observed (non-exhaustive) create: throws ApplicationBootstrapException; propagates LogicException via application() |
withEnvironmentFile()、withEnvironment()、withConfiguration()、create()を呼ぶ |
not an enum (source-derived) | none (source-derived) |
BlackOps\Application\ConsoleKernel |
ConsoleKernel::run(?InputInterface $input = null, ?OutputInterface $output = null): int | run: ?InputInterface $input = null, ?OutputInterface $output = null | run: int | run.input=null run.output=null |
run: throws ApplicationBootstrapException | Project Rootのblackopsからrun()を呼ぶ |
not an enum (source-derived) | none (source-derived) |
BlackOps\Application\Environment |
Environment::__construct(array $variables): なし Environment::string(string $name, ?string $default = null): string Environment::optionalString(string $name): ?string Environment::int(string $name, ?int $default = null): int Environment::positiveInt(string $name, ?int $default = null): int Environment::bool(string $name, ?bool $default = null): bool |
__construct: array $variables string: string $name, ?string $default = null optionalString: string $name int: string $name, ?int $default = null positiveInt: string $name, ?int $default = null bool: string $name, ?bool $default = null |
string: string optionalString: ?string int: int positiveInt: int bool: bool |
string.default=null int.default=null positiveInt.default=null bool.default=null |
__construct: Source body: no direct throw or bounded helper error observed (non-exhaustive) string: propagates InvalidArgumentException via assertName(); propagates InvalidArgumentException via missing() optionalString: propagates InvalidArgumentException via assertName() int: propagates InvalidArgumentException via assertName(); propagates InvalidArgumentException via missing(); propagates InvalidArgumentException via invalid() positiveInt: throws InvalidArgumentException; propagates InvalidArgumentException via assertName(); propagates InvalidArgumentException via missing(); propagates InvalidArgumentException via invalid() bool: propagates InvalidArgumentException via assertName(); propagates InvalidArgumentException via missing(); propagates InvalidArgumentException via invalid() |
Config Closureでstring()、positiveInt()、bool()等を呼ぶ |
not an enum (source-derived) | none (source-derived) |
Namespace BlackOps\Auth\Session
| Type | Signature | Parameter | Return | Default | Error / Safe Code (source-observed) | Typical Use | Enum backing / cases | Public constants (name / type / value) |
|---|---|---|---|---|---|---|---|---|
BlackOps\Auth\Session\BearerSessionAuthenticator |
BearerSessionAuthenticator::__construct(private SessionManager $sessions,): なし BearerSessionAuthenticator::authenticate(ServerRequestInterface $request): AuthenticationResult |
__construct: private SessionManager $sessions, authenticate: ServerRequestInterface $request |
authenticate: AuthenticationResult | なし(Defaultなし) | __construct: Source body: no direct throw or bounded helper error observed (non-exhaustive) authenticate: Source body: no direct throw or bounded helper error observed (non-exhaustive) |
API向けHttpAuthenticatorとして登録する |
not an enum (source-derived) | none (source-derived) |
BlackOps\Auth\Session\CookieSessionAuthenticator |
CookieSessionAuthenticator::__construct(private SessionManager $sessions, private SessionCookieName $cookie,): なし CookieSessionAuthenticator::authenticate(ServerRequestInterface $request): AuthenticationResult |
__construct: private SessionManager $sessions, private SessionCookieName $cookie, authenticate: ServerRequestInterface $request |
authenticate: AuthenticationResult | なし(Defaultなし) | __construct: Source body: no direct throw or bounded helper error observed (non-exhaustive) authenticate: Source body: no direct throw or bounded helper error observed (non-exhaustive) |
Browser AdapterのCredential抽出に使う | not an enum (source-derived) | none (source-derived) |
BlackOps\Auth\Session\InvalidSessionException |
InvalidSessionException::__construct(): なし | なし(引数なし) | なし(Return Typeなし) | なし(Defaultなし) | __construct: Source body: no direct throw or bounded helper error observed (non-exhaustive) | Malformed/Unknown/Expired/Revokedを区別せず扱う | not an enum (source-derived) | none (source-derived) |
BlackOps\Auth\Session\IssuedSession |
IssuedSession::__construct(#[SensitiveParameter] private RawSessionToken $token, private DateTimeImmutable $issuedAt, private DateTimeImmutable $expiresAt,): なし IssuedSession::token(): RawSessionToken IssuedSession::issuedAt(): DateTimeImmutable IssuedSession::expiresAt(): DateTimeImmutable |
__construct: #[SensitiveParameter] private RawSessionToken $token, private DateTimeImmutable $issuedAt, private DateTimeImmutable $expiresAt, | token: RawSessionToken issuedAt: DateTimeImmutable expiresAt: DateTimeImmutable |
なし(Defaultなし) | __construct: Source body: no direct throw or bounded helper error observed (non-exhaustive) token: Source body: no direct throw or bounded helper error observed (non-exhaustive) issuedAt: Source body: no direct throw or bounded helper error observed (non-exhaustive) expiresAt: Source body: no direct throw or bounded helper error observed (non-exhaustive) |
Login/Rotation ResponseからApplication所有Credentialへ渡す | not an enum (source-derived) | none (source-derived) |
BlackOps\Auth\Session\RawSessionToken |
RawSessionToken::fromRandomBytes(#[SensitiveParameter] string $bytes): self RawSessionToken::reveal(): string RawSessionToken::__debugInfo(): array |
fromRandomBytes: #[SensitiveParameter] string $bytes | fromRandomBytes: self reveal: string __debugInfo: array |
なし(Defaultなし) | fromRandomBytes: throws InvalidArgumentException reveal: Source body: no direct throw or bounded helper error observed (non-exhaustive) __debugInfo: Source body: no direct throw or bounded helper error observed (non-exhaustive) |
IssuedSession::token()->reveal()で一度だけCredential化する |
not an enum (source-derived) | none (source-derived) |
BlackOps\Auth\Session\SessionConfiguration |
SessionConfiguration::__construct(public int $ttlSeconds = 28_800, public int $touchIntervalSeconds = 300,): なし | __construct: public int $ttlSeconds = 28_800, public int $touchIntervalSeconds = 300, | なし(Return Typeなし) | __construct.ttlSeconds=28_800 __construct.touchIntervalSeconds=300 |
__construct: throws InvalidArgumentException | Default 8時間/5分をApplication起動時に変更する | not an enum (source-derived) | none (source-derived) |
BlackOps\Auth\Session\SessionCookieName |
SessionCookieName::__construct(string $value): なし SessionCookieName::value(): string |
__construct: string $value | value: string | なし(Defaultなし) | __construct: throws InvalidArgumentException value: Source body: no direct throw or bounded helper error observed (non-exhaustive) |
Cookie AdapterのConstructorへ渡す | not an enum (source-derived) | none (source-derived) |
BlackOps\Auth\Session\SessionIdentityProvider |
SessionIdentityProvider::resolve(string $identityId): ?ActorRef | resolve: string $identityId | resolve: ?ActorRef | なし(Defaultなし) | resolve: Source body: no direct throw or bounded helper error observed (non-exhaustive) | ApplicationのUser/Account StateからActorRefを返す |
not an enum (source-derived) | none (source-derived) |
BlackOps\Auth\Session\SessionManager |
SessionManager::issue(string $identityId): IssuedSession SessionManager::authenticate(#[SensitiveParameter] string $rawToken): ?ActorRef SessionManager::rotate(#[SensitiveParameter] string $rawToken): IssuedSession SessionManager::revoke(#[SensitiveParameter] ?string $rawToken): void SessionManager::cleanup(DateTimeImmutable $retentionCutoff): int |
issue: string $identityId authenticate: #[SensitiveParameter] string $rawToken rotate: #[SensitiveParameter] string $rawToken revoke: #[SensitiveParameter] ?string $rawToken cleanup: DateTimeImmutable $retentionCutoff |
issue: IssuedSession authenticate: ?ActorRef rotate: IssuedSession revoke: void cleanup: int |
なし(Defaultなし) | issue: Source body: no direct throw or bounded helper error observed (non-exhaustive) authenticate: Source body: no direct throw or bounded helper error observed (non-exhaustive) rotate: Source body: no direct throw or bounded helper error observed (non-exhaustive) revoke: Source body: no direct throw or bounded helper error observed (non-exhaustive) cleanup: Source body: no direct throw or bounded helper error observed (non-exhaustive) |
Login、Token Rotation、Logout、Retention Jobから呼ぶ | not an enum (source-derived) | none (source-derived) |
BlackOps\Auth\Session\SessionServiceProvider |
SessionServiceProvider::bearer(string $identityProvider, ?SessionConfiguration $configuration = null): self SessionServiceProvider::cookie(string $identityProvider, string $cookieName, ?SessionConfiguration $configuration = null,): self SessionServiceProvider::register(ServiceRegistry $services): void |
bearer: string $identityProvider, ?SessionConfiguration $configuration = null cookie: string $identityProvider, string $cookieName, ?SessionConfiguration $configuration = null, register: ServiceRegistry $services |
bearer: self cookie: self register: void |
bearer.configuration=null cookie.configuration=null |
bearer: Source body: no direct throw or bounded helper error observed (non-exhaustive) cookie: Source body: no direct throw or bounded helper error observed (non-exhaustive) register: throws InvalidArgumentException |
bearer()またはcookie()をservicesへ追加する |
not an enum (source-derived) | none (source-derived) |
Namespace BlackOps\Console
| Type | Signature | Parameter | Return | Default | Error / Safe Code (source-observed) | Typical Use | Enum backing / cases | Public constants (name / type / value) |
|---|---|---|---|---|---|---|---|---|
BlackOps\Console\ConsoleActorProvider |
ConsoleActorProvider::actor(): ?ActorRef | なし(引数なし) | actor: ?ActorRef | なし(Defaultなし) | actor: Source body: no direct throw or bounded helper error observed (non-exhaustive) | Application Service Providerで任意Bindingする | not an enum (source-derived) | none (source-derived) |
BlackOps\Console\ConsoleTenantProvider |
ConsoleTenantProvider::tenant(): ?TenantRef | なし(引数なし) | tenant: ?TenantRef | なし(Defaultなし) | tenant: Source body: no direct throw or bounded helper error observed (non-exhaustive) | Application Service ProviderでBindingする | not an enum (source-derived) | none (source-derived) |
Namespace BlackOps\Console\Observability
| Type | Signature | Parameter | Return | Default | Error / Safe Code (source-observed) | Typical Use | Enum backing / cases | Public constants (name / type / value) |
|---|---|---|---|---|---|---|---|---|
BlackOps\Console\Observability\OperationalHealthCliAdapter |
OperationalHealthCliAdapter::__construct(private OperationalHealthQuery $query, private OperationalHealthCliFormatter $formatter = new OperationalHealthCliFormatter(),): なし OperationalHealthCliAdapter::run(OperationalHealthKind $kind, bool $json = false): array |
__construct: private OperationalHealthQuery $query, private OperationalHealthCliFormatter $formatter = new OperationalHealthCliFormatter(), run: OperationalHealthKind $kind, bool $json = false |
run: array | __construct.formatter=new OperationalHealthCliFormatter() run.json=false |
__construct: Source body: no direct throw or bounded helper error observed (non-exhaustive) run: Source body: no direct throw or bounded helper error observed (non-exhaustive) |
JSON OutputとPass 0/Fail 1をSupervisorへ返す |
not an enum (source-derived) | none (source-derived) |
BlackOps\Console\Observability\OperationalHealthCliFormatter |
OperationalHealthCliFormatter::format(OperationalHealthReport $report, bool $json = false): string OperationalHealthCliFormatter::exitCode(OperationalHealthReport $report): int |
format: OperationalHealthReport $report, bool $json = false exitCode: OperationalHealthReport $report |
format: string exitCode: int |
format.json=false | format: propagates RuntimeException via json() exitCode: Source body: no direct throw or bounded helper error observed (non-exhaustive) |
OperationalHealthCliAdapterへ注入する |
not an enum (source-derived) | none (source-derived) |
Namespace BlackOps\Core
| Type | Signature | Parameter | Return | Default | Error / Safe Code (source-observed) | Typical Use | Enum backing / cases | Public constants (name / type / value) |
|---|---|---|---|---|---|---|---|---|
BlackOps\Core\ActorContext |
ActorContext::__construct(private ?ActorRef $origin, private ?ActorRef $authorization, private ActorRef $execution,): なし ActorContext::origin(): ?ActorRef ActorContext::authorization(): ?ActorRef ActorContext::execution(): ActorRef |
__construct: private ?ActorRef $origin, private ?ActorRef $authorization, private ActorRef $execution, | origin: ?ActorRef authorization: ?ActorRef execution: ActorRef |
なし(Defaultなし) | __construct: Source body: no direct throw or bounded helper error observed (non-exhaustive) origin: Source body: no direct throw or bounded helper error observed (non-exhaustive) authorization: Source body: no direct throw or bounded helper error observed (non-exhaustive) execution: Source body: no direct throw or bounded helper error observed (non-exhaustive) |
ExecutionContext::actorContext()から読む |
not an enum (source-derived) | none (source-derived) |
BlackOps\Core\ActorRef |
ActorRef::__construct(string $id, string $type): なし ActorRef::id(): string ActorRef::type(): string |
__construct: string $id, string $type | id: string type: string |
なし(Defaultなし) | __construct: throws InvalidArgumentException id: Source body: no direct throw or bounded helper error observed (non-exhaustive) type: Source body: no direct throw or bounded helper error observed (non-exhaustive) |
Credentialを含めず主体を参照する | not an enum (source-derived) | none (source-derived) |
BlackOps\Core\AttemptContext |
AttemptContext::__construct(private AttemptId $id, private int $number, DateTimeImmutable $startedAt,): なし AttemptContext::id(): AttemptId AttemptContext::number(): int AttemptContext::startedAt(): DateTimeImmutable |
__construct: private AttemptId $id, private int $number, DateTimeImmutable $startedAt, | id: AttemptId number: int startedAt: DateTimeImmutable |
なし(Defaultなし) | __construct: throws InvalidArgumentException id: Source body: no direct throw or bounded helper error observed (non-exhaustive) number: Source body: no direct throw or bounded helper error observed (non-exhaustive) startedAt: Source body: no direct throw or bounded helper error observed (non-exhaustive) |
ExecutionContext::attempt()から読む |
not an enum (source-derived) | none (source-derived) |
BlackOps\Core\Attribute\Accepts |
Accepts::__construct(public string $value,): なし | __construct: public string $value, | なし(Return Typeなし) | なし(Defaultなし) | __construct: Source body: no direct throw or bounded helper error observed (non-exhaustive) | Legacy/Separate互換形で使う | not an enum (source-derived) | none (source-derived) |
BlackOps\Core\Attribute\Authorize |
Authorize::__construct(public string $policy,): なし | __construct: public string $policy, | なし(Return Typeなし) | なし(Defaultなし) | __construct: Source body: no direct throw or bounded helper error observed (non-exhaustive) | 認可が必要なOperationへ付ける | not an enum (source-derived) | none (source-derived) |
BlackOps\Core\Attribute\ConsoleCommand |
ConsoleCommand::__construct(public string $name, public string $description = ‘’,): なし | __construct: public string $name, public string $description = ‘’, | なし(Return Typeなし) | __construct.description=‘’ | __construct: throws InvalidArgumentException | Canonical Command名と任意Descriptionを指定する | not an enum (source-derived) | none (source-derived) |
BlackOps\Core\Attribute\Deferred |
marker/class/value type | なし(引数なし) | なし(Return Typeなし) | なし(Defaultなし) | Source type: no public methods; runtime Error/Safe Code is non-exhaustive | #[Deferred]をOperation Classへ付ける |
not an enum (source-derived) | none (source-derived) |
BlackOps\Core\Attribute\ExecuteWith |
ExecuteWith::__construct(public string $strategy,): なし | __construct: public string $strategy, | なし(Return Typeなし) | なし(Defaultなし) | __construct: Source body: no direct throw or bounded helper error observed (non-exhaustive) | Deferredは#[Deferred]がCanonical。InlineはAttributeを省略する |
not an enum (source-derived) | none (source-derived) |
BlackOps\Core\Attribute\HandledBy |
HandledBy::__construct(public string $handler,): なし | __construct: public string $handler, | なし(Return Typeなし) | なし(Defaultなし) | __construct: Source body: no direct throw or bounded helper error observed (non-exhaustive) | 責務分離が必要な互換形で使う | not an enum (source-derived) | none (source-derived) |
BlackOps\Core\Attribute\ListOf |
ListOf::__construct(public string $type,): なし | __construct: public string $type, | なし(Return Typeなし) | なし(Defaultなし) | __construct: Source body: no direct throw or bounded helper error observed (non-exhaustive) | 非Nullable array Propertyへ一度だけ付ける |
not an enum (source-derived) | none (source-derived) |
BlackOps\Core\Attribute\OperationType |
OperationType::__construct(public string $id,): なし | __construct: public string $id, | なし(Return Typeなし) | なし(Defaultなし) | __construct: throws InvalidArgumentException | 全Operation Classへ付ける | not an enum (source-derived) | none (source-derived) |
BlackOps\Core\Attribute\Returns |
Returns::__construct(public string $outcome,): なし | __construct: public string $outcome, | なし(Return Typeなし) | なし(Defaultなし) | __construct: Source body: no direct throw or bounded helper error observed (non-exhaustive) | Legacy/Separate互換形で使う | not an enum (source-derived) | none (source-derived) |
BlackOps\Core\Attribute\ScheduledBy |
ScheduledBy::__construct(string $name, string $cron, string $timezone = ‘UTC’): なし | __construct: string $name, string $cron, string $timezone = ‘UTC’ | なし(Return Typeなし) | __construct.timezone=‘UTC’ | __construct: throws InvalidArgumentException | Operation Classへ一つ付ける | not an enum (source-derived) | none (source-derived) |
BlackOps\Core\Attribute\Sensitive |
Sensitive::__construct(public SensitiveMode $mode = SensitiveMode::Omit,): なし | __construct: public SensitiveMode $mode = SensitiveMode::Omit, | なし(Return Typeなし) | __construct.mode=SensitiveMode::Omit | __construct: Source body: no direct throw or bounded helper error observed (non-exhaustive) | SensitiveなValueまたはOutcome Propertyへ付ける | not an enum (source-derived) | none (source-derived) |
BlackOps\Core\Attribute\SensitiveMode |
marker/enum/value type | なし(引数なし) | なし(Return Typeなし) | なし(Defaultなし) | Source type: no public methods; runtime Error/Safe Code is non-exhaustive | #[Sensitive]の引数に使う |
unit; Omit, Mask, Hash | none (source-derived) |
BlackOps\Core\Authorization\AuthorizationDecision |
AuthorizationDecision::allow(): self AuthorizationDecision::unauthorized(string $code): self AuthorizationDecision::forbid(string $code): self AuthorizationDecision::isAllowed(): bool AuthorizationDecision::isUnauthorized(): bool AuthorizationDecision::isForbidden(): bool AuthorizationDecision::code(): ?string |
unauthorized: string $code forbid: string $code |
allow: self unauthorized: self forbid: self isAllowed: bool isUnauthorized: bool isForbidden: bool code: ?string |
なし(Defaultなし) | allow: Source body: no direct throw or bounded helper error observed (non-exhaustive) unauthorized: Source body: no direct throw or bounded helper error observed (non-exhaustive) forbid: Source body: no direct throw or bounded helper error observed (non-exhaustive) isAllowed: Source body: no direct throw or bounded helper error observed (non-exhaustive) isUnauthorized: Source body: no direct throw or bounded helper error observed (non-exhaustive) isForbidden: Source body: no direct throw or bounded helper error observed (non-exhaustive) code: Source body: no direct throw or bounded helper error observed (non-exhaustive) |
安定Code付きの認可判断を返す | not an enum (source-derived) | none (source-derived) |
BlackOps\Core\Authorization\AuthorizationPolicy |
AuthorizationPolicy::decide(AuthorizationRequest $request): AuthorizationDecision | decide: AuthorizationRequest $request | decide: AuthorizationDecision | なし(Defaultなし) | decide: Source body: no direct throw or bounded helper error observed (non-exhaustive) | Policy Serviceでdecide()を実装する |
not an enum (source-derived) | none (source-derived) |
BlackOps\Core\Authorization\AuthorizationRequest |
AuthorizationRequest::__construct(private Operation $operation, private OperationValue $value, private ExecutionContext $context, private ActorRef $actor,): なし AuthorizationRequest::operation(): Operation AuthorizationRequest::value(): OperationValue AuthorizationRequest::context(): ExecutionContext AuthorizationRequest::actor(): ActorRef |
__construct: private Operation $operation, private OperationValue $value, private ExecutionContext $context, private ActorRef $actor, | operation: Operation value: OperationValue context: ExecutionContext actor: ActorRef |
なし(Defaultなし) | __construct: throws InvalidArgumentException operation: Source body: no direct throw or bounded helper error observed (non-exhaustive) value: Source body: no direct throw or bounded helper error observed (non-exhaustive) context: Source body: no direct throw or bounded helper error observed (non-exhaustive) actor: Source body: no direct throw or bounded helper error observed (non-exhaustive) |
Policy内で現在権限の検索に使う | not an enum (source-derived) | none (source-derived) |
BlackOps\Core\Codec\EncodedOperationMessage |
EncodedOperationMessage::__construct(private string $operationType, private int $schemaVersion, private string $encodedPayload, private string $encodedContext,): なし EncodedOperationMessage::operationType(): string EncodedOperationMessage::schemaVersion(): int EncodedOperationMessage::encodedPayload(): string EncodedOperationMessage::encodedContext(): string |
__construct: private string $operationType, private int $schemaVersion, private string $encodedPayload, private string $encodedContext, | operationType: string schemaVersion: int encodedPayload: string encodedContext: string |
なし(Defaultなし) | __construct: throws InvalidArgumentException operationType: Source body: no direct throw or bounded helper error observed (non-exhaustive) schemaVersion: Source body: no direct throw or bounded helper error observed (non-exhaustive) encodedPayload: Source body: no direct throw or bounded helper error observed (non-exhaustive) encodedContext: Source body: no direct throw or bounded helper error observed (non-exhaustive) |
Transport Payloadとして渡す | not an enum (source-derived) | none (source-derived) |
BlackOps\Core\Codec\OperationCodec |
OperationCodec::encode(OperationMetadata $metadata, OperationValue $value, ExecutionContext $context,): EncodedOperationMessage OperationCodec::decodeValue(OperationMetadata $metadata, int $schemaVersion, string $encodedPayload,): OperationValue OperationCodec::decodeContext(int $schemaVersion, string $encodedContext): ExecutionContext |
encode: OperationMetadata $metadata, OperationValue $value, ExecutionContext $context, decodeValue: OperationMetadata $metadata, int $schemaVersion, string $encodedPayload, decodeContext: int $schemaVersion, string $encodedContext |
encode: EncodedOperationMessage decodeValue: OperationValue decodeContext: ExecutionContext |
なし(Defaultなし) | encode: Source body: no direct throw or bounded helper error observed (non-exhaustive) decodeValue: Source body: no direct throw or bounded helper error observed (non-exhaustive) decodeContext: Source body: no direct throw or bounded helper error observed (non-exhaustive) |
Custom Codecを実装する | not an enum (source-derived) | none (source-derived) |
BlackOps\Core\Codec\OperationCodecException |
marker/class/value type | なし(引数なし) | なし(Return Typeなし) | なし(Defaultなし) | Source type: no public methods; runtime Error/Safe Code is non-exhaustive | 不正Payloadを安全に拒否する | not an enum (source-derived) | none (source-derived) |
BlackOps\Core\DependencyInjection\ServiceProvider |
ServiceProvider::register(ServiceRegistry $services): void | register: ServiceRegistry $services | register: void | なし(Defaultなし) | register: Source body: no direct throw or bounded helper error observed (non-exhaustive) | Repository Interface等をBindingする | not an enum (source-derived) | none (source-derived) |
BlackOps\Core\DependencyInjection\ServiceRegistry |
ServiceRegistry::autowire(string $id, ?string $class = null): void ServiceRegistry::set(string $id, object $service): void |
autowire: string $id, ?string $class = null set: string $id, object $service |
autowire: void set: void |
autowire.class=null | autowire: Source body: no direct throw or bounded helper error observed (non-exhaustive) set: Source body: no direct throw or bounded helper error observed (non-exhaustive) |
Service Providerのregister()で使う |
not an enum (source-derived) | none (source-derived) |
BlackOps\Core\EmptyOutcome |
marker/class/value type | なし(引数なし) | なし(Return Typeなし) | なし(Defaultなし) | Source type: no public methods; runtime Error/Safe Code is non-exhaustive | 値のない成功を読む | not an enum (source-derived) | none (source-derived) |
BlackOps\Core\EphemeralOutcome |
marker/interface/value type | なし(引数なし) | なし(Return Typeなし) | なし(Defaultなし) | Source type: no public methods; runtime Error/Safe Code is non-exhaustive | Credential Responseのfinal readonly DTOで実装する | not an enum (source-derived) | none (source-derived) |
BlackOps\Core\Exception\ConfigurationFailure |
marker/interface/value type | なし(引数なし) | なし(Return Typeなし) | なし(Defaultなし) | Source type: no public methods; runtime Error/Safe Code is non-exhaustive | Internal CLI AdapterのExit 2分類へ使う |
not an enum (source-derived) | none (source-derived) |
BlackOps\Core\Exception\DeferredTransportException |
marker/class/value type | なし(引数なし) | なし(Return Typeなし) | なし(Defaultなし) | Source type: no public methods; runtime Error/Safe Code is non-exhaustive | Adapter Errorを境界Exceptionへ変換する | not an enum (source-derived) | none (source-derived) |
BlackOps\Core\Exception\InvalidIdentifierException |
InvalidIdentifierException::invalidUuidV7(string $identifierType): self | invalidUuidV7: string $identifierType | invalidUuidV7: self | なし(Defaultなし) | invalidUuidV7: Source body: no direct throw or bounded helper error observed (non-exhaustive) | Identifier Inputを400等へ変換する | not an enum (source-derived) | none (source-derived) |
BlackOps\Core\Exception\OperationRejectedException |
OperationRejectedException::validation(string $code): self OperationRejectedException::unauthorized(string $code): self OperationRejectedException::forbidden(string $code): self OperationRejectedException::notFound(string $code): self OperationRejectedException::conflict(string $code): self OperationRejectedException::businessRule(string $code): self OperationRejectedException::reason(): RejectionReason |
validation: string $code unauthorized: string $code forbidden: string $code notFound: string $code conflict: string $code businessRule: string $code |
validation: self unauthorized: self forbidden: self notFound: self conflict: self businessRule: self reason: RejectionReason |
なし(Defaultなし) | validation: Source body: no direct throw or bounded helper error observed (non-exhaustive) unauthorized: Source body: no direct throw or bounded helper error observed (non-exhaustive) forbidden: Source body: no direct throw or bounded helper error observed (non-exhaustive) notFound: Source body: no direct throw or bounded helper error observed (non-exhaustive) conflict: Source body: no direct throw or bounded helper error observed (non-exhaustive) businessRule: Source body: no direct throw or bounded helper error observed (non-exhaustive) reason: Source body: no direct throw or bounded helper error observed (non-exhaustive) |
Category Factoryへ安定Codeを渡してthrowする | not an enum (source-derived) | none (source-derived) |
BlackOps\Core\Execution\ClaimHeartbeat |
ClaimHeartbeat::heartbeat(OperationClaim $claim): OperationClaim | heartbeat: OperationClaim $claim | heartbeat: OperationClaim | なし(Defaultなし) | heartbeat: Source body: no direct throw or bounded helper error observed (non-exhaustive) | Handler実行中のHeartbeatを実装する | not an enum (source-derived) | none (source-derived) |
BlackOps\Core\Execution\ClaimRequest |
ClaimRequest::__construct(private DateTimeImmutable $claimedAt,): なし ClaimRequest::claimedAt(): DateTimeImmutable |
__construct: private DateTimeImmutable $claimedAt, | claimedAt: DateTimeImmutable | なし(Defaultなし) | __construct: Source body: no direct throw or bounded helper error observed (non-exhaustive) claimedAt: Source body: no direct throw or bounded helper error observed (non-exhaustive) |
Receiverへ現在時刻等を渡す | not an enum (source-derived) | none (source-derived) |
BlackOps\Core\Execution\ClaimSettlement |
ClaimSettlement::acknowledge(OperationClaim $claim): void ClaimSettlement::release(OperationClaim $claim, DateTimeImmutable $availableAt): void |
acknowledge: OperationClaim $claim release: OperationClaim $claim, DateTimeImmutable $availableAt |
acknowledge: void release: void |
なし(Defaultなし) | acknowledge: Source body: no direct throw or bounded helper error observed (non-exhaustive) release: Source body: no direct throw or bounded helper error observed (non-exhaustive) |
Fencing付きSettlementを実装する | not an enum (source-derived) | none (source-derived) |
BlackOps\Core\Execution\Deferred |
marker/class/value type | なし(引数なし) | なし(Return Typeなし) | なし(Defaultなし) | Source type: no public methods; runtime Error/Safe Code is non-exhaustive | #[Deferred]で選ぶ |
not an enum (source-derived) | none (source-derived) |
BlackOps\Core\Execution\DeferredAcknowledgement |
DeferredAcknowledgement::__construct(private OperationId $operationId, private DateTimeImmutable $acceptedAt, private bool $replayed = false,): なし DeferredAcknowledgement::operationId(): OperationId DeferredAcknowledgement::acceptedAt(): DateTimeImmutable DeferredAcknowledgement::isReplayed(): bool |
__construct: private OperationId $operationId, private DateTimeImmutable $acceptedAt, private bool $replayed = false, | operationId: OperationId acceptedAt: DateTimeImmutable isReplayed: bool |
__construct.replayed=false | __construct: Source body: no direct throw or bounded helper error observed (non-exhaustive) operationId: Source body: no direct throw or bounded helper error observed (non-exhaustive) acceptedAt: Source body: no direct throw or bounded helper error observed (non-exhaustive) isReplayed: Source body: no direct throw or bounded helper error observed (non-exhaustive) |
Operation IDと受付時刻を読む | not an enum (source-derived) | none (source-derived) |
BlackOps\Core\Execution\DeferredOperationMessage |
DeferredOperationMessage::__construct(private OperationId $operationId, private string $operationType, private int $schemaVersion, private string $encodedPayload, private string $encodedContext, private DateTimeImmutable $availableAt, private ?TenantRef $tenant = null, private ?ActorRef $originActor = null,): なし DeferredOperationMessage::operationId(): OperationId DeferredOperationMessage::operationType(): string DeferredOperationMessage::schemaVersion(): int DeferredOperationMessage::encodedPayload(): string DeferredOperationMessage::encodedContext(): string DeferredOperationMessage::availableAt(): DateTimeImmutable DeferredOperationMessage::tenant(): ?TenantRef DeferredOperationMessage::originActor(): ?ActorRef |
__construct: private OperationId $operationId, private string $operationType, private int $schemaVersion, private string $encodedPayload, private string $encodedContext, private DateTimeImmutable $availableAt, private ?TenantRef $tenant = null, private ?ActorRef $originActor = null, | operationId: OperationId operationType: string schemaVersion: int encodedPayload: string encodedContext: string availableAt: DateTimeImmutable tenant: ?TenantRef originActor: ?ActorRef |
__construct.tenant=null __construct.originActor=null |
__construct: throws InvalidArgumentException operationId: Source body: no direct throw or bounded helper error observed (non-exhaustive) operationType: Source body: no direct throw or bounded helper error observed (non-exhaustive) schemaVersion: Source body: no direct throw or bounded helper error observed (non-exhaustive) encodedPayload: Source body: no direct throw or bounded helper error observed (non-exhaustive) encodedContext: Source body: no direct throw or bounded helper error observed (non-exhaustive) availableAt: Source body: no direct throw or bounded helper error observed (non-exhaustive) tenant: Source body: no direct throw or bounded helper error observed (non-exhaustive) originActor: Source body: no direct throw or bounded helper error observed (non-exhaustive) |
Transport Adapterで送受信する | not an enum (source-derived) | none (source-derived) |
BlackOps\Core\Execution\ExecutionStrategy |
marker/interface/value type | なし(引数なし) | なし(Return Typeなし) | なし(Defaultなし) | Source type: no public methods; runtime Error/Safe Code is non-exhaustive | Custom Strategyの型境界に使う | not an enum (source-derived) | none (source-derived) |
BlackOps\Core\Execution\ExecutionTransport |
marker/interface/value type | なし(引数なし) | なし(Return Typeなし) | なし(Defaultなし) | Source type: no public methods; runtime Error/Safe Code is non-exhaustive | 一体型Transport Adapterを実装する | not an enum (source-derived) | none (source-derived) |
BlackOps\Core\Execution\Inline |
marker/class/value type | なし(引数なし) | なし(Return Typeなし) | なし(Defaultなし) | Source type: no public methods; runtime Error/Safe Code is non-exhaustive | 既定Strategyとして使う | not an enum (source-derived) | none (source-derived) |
BlackOps\Core\Execution\OperationClaim |
OperationClaim::__construct(private DeferredOperationMessage $message, #[SensitiveParameter] private string $claimToken,): なし OperationClaim::message(): DeferredOperationMessage OperationClaim::claimToken(): string |
__construct: private DeferredOperationMessage $message, #[SensitiveParameter] private string $claimToken, | message: DeferredOperationMessage claimToken: string |
なし(Defaultなし) | __construct: throws InvalidArgumentException message: Source body: no direct throw or bounded helper error observed (non-exhaustive) claimToken: Source body: no direct throw or bounded helper error observed (non-exhaustive) |
Worker AdapterでAttemptを開始する | not an enum (source-derived) | none (source-derived) |
BlackOps\Core\Execution\OperationReceiver |
OperationReceiver::claim(ClaimRequest $request): ?OperationClaim | claim: ClaimRequest $request | claim: ?OperationClaim | なし(Defaultなし) | claim: Source body: no direct throw or bounded helper error observed (non-exhaustive) | Custom TransportのWorker側を実装する | not an enum (source-derived) | none (source-derived) |
BlackOps\Core\Execution\OperationSender |
OperationSender::enqueue(DeferredOperationMessage $message): DeferredAcknowledgement | enqueue: DeferredOperationMessage $message | enqueue: DeferredAcknowledgement | なし(Defaultなし) | enqueue: Source body: no direct throw or bounded helper error observed (non-exhaustive) | Custom Transportの送信側を実装する | not an enum (source-derived) | none (source-derived) |
BlackOps\Core\ExecutionContext |
ExecutionContext::__construct(private OperationId $operationId, DateTimeImmutable $receivedAt, private CorrelationId $correlationId, private ?CausationId $causationId = null, private ?AttemptContext $attempt = null, ?DateTimeImmutable $deadline = null, private ?ActorContext $actorContext = null, private ?IdempotencyKeyHash $idempotencyKeyHash = null, private ?ScheduleContext $schedule = null, private ?TenantRef $tenant = null, private ?TelemetryContext $telemetry = null,): なし ExecutionContext::operationId(): OperationId ExecutionContext::receivedAt(): DateTimeImmutable ExecutionContext::correlationId(): CorrelationId ExecutionContext::causationId(): ?CausationId ExecutionContext::attempt(): ?AttemptContext ExecutionContext::deadline(): ?DateTimeImmutable ExecutionContext::actorContext(): ?ActorContext ExecutionContext::idempotencyKeyHash(): ?IdempotencyKeyHash ExecutionContext::schedule(): ?ScheduleContext ExecutionContext::tenant(): ?TenantRef ExecutionContext::telemetry(): ?TelemetryContext |
__construct: private OperationId $operationId, DateTimeImmutable $receivedAt, private CorrelationId $correlationId, private ?CausationId $causationId = null, private ?AttemptContext $attempt = null, ?DateTimeImmutable $deadline = null, private ?ActorContext $actorContext = null, private ?IdempotencyKeyHash $idempotencyKeyHash = null, private ?ScheduleContext $schedule = null, private ?TenantRef $tenant = null, private ?TelemetryContext $telemetry = null, | operationId: OperationId receivedAt: DateTimeImmutable correlationId: CorrelationId causationId: ?CausationId attempt: ?AttemptContext deadline: ?DateTimeImmutable actorContext: ?ActorContext idempotencyKeyHash: ?IdempotencyKeyHash schedule: ?ScheduleContext tenant: ?TenantRef telemetry: ?TelemetryContext |
__construct.causationId=null __construct.attempt=null __construct.deadline=null __construct.actorContext=null __construct.idempotencyKeyHash=null __construct.schedule=null __construct.tenant=null __construct.telemetry=null |
__construct: Source body: no direct throw or bounded helper error observed (non-exhaustive) operationId: Source body: no direct throw or bounded helper error observed (non-exhaustive) receivedAt: Source body: no direct throw or bounded helper error observed (non-exhaustive) correlationId: Source body: no direct throw or bounded helper error observed (non-exhaustive) causationId: Source body: no direct throw or bounded helper error observed (non-exhaustive) attempt: Source body: no direct throw or bounded helper error observed (non-exhaustive) deadline: Source body: no direct throw or bounded helper error observed (non-exhaustive) actorContext: Source body: no direct throw or bounded helper error observed (non-exhaustive) idempotencyKeyHash: Source body: no direct throw or bounded helper error observed (non-exhaustive) schedule: Source body: no direct throw or bounded helper error observed (non-exhaustive) tenant: Source body: no direct throw or bounded helper error observed (non-exhaustive) telemetry: Source body: no direct throw or bounded helper error observed (non-exhaustive) |
必要なOperationだけhandle()第二引数で受ける |
not an enum (source-derived) | none (source-derived) |
BlackOps\Core\Identifier\AttemptId |
marker/class/value type | なし(引数なし) | なし(Return Typeなし) | なし(Defaultなし) | Source type: no public methods; runtime Error/Safe Code is non-exhaustive | Retryごとの実行を追跡する | not an enum (source-derived) | none (source-derived) |
BlackOps\Core\Identifier\CausationId |
marker/class/value type | なし(引数なし) | なし(Return Typeなし) | なし(Defaultなし) | Source type: no public methods; runtime Error/Safe Code is non-exhaustive | 子Operationの因果関係を表す | not an enum (source-derived) | none (source-derived) |
BlackOps\Core\Identifier\CorrelationId |
marker/class/value type | なし(引数なし) | なし(Return Typeなし) | なし(Defaultなし) | Source type: no public methods; runtime Error/Safe Code is non-exhaustive | Root/子Operationを相関する | not an enum (source-derived) | none (source-derived) |
BlackOps\Core\Identifier\JournalRecordId |
marker/class/value type | なし(引数なし) | なし(Return Typeなし) | なし(Defaultなし) | Source type: no public methods; runtime Error/Safe Code is non-exhaustive | Journal AdapterでRecordを扱う | not an enum (source-derived) | none (source-derived) |
BlackOps\Core\Identifier\OperationId |
marker/class/value type | なし(引数なし) | なし(Return Typeなし) | なし(Defaultなし) | Source type: no public methods; runtime Error/Safe Code is non-exhaustive | Response、Journal、Outcomeを相関する | not an enum (source-derived) | none (source-derived) |
BlackOps\Core\Identifier\OutboxRecordId |
marker/class/value type | なし(引数なし) | なし(Return Typeなし) | なし(Defaultなし) | Source type: no public methods; runtime Error/Safe Code is non-exhaustive | Outbox登録と将来のRelayを相関する | not an enum (source-derived) | none (source-derived) |
BlackOps\Core\Identifier\RetentionHoldId |
marker/class/value type | なし(引数なし) | なし(Return Typeなし) | なし(Defaultなし) | Source type: no public methods; runtime Error/Safe Code is non-exhaustive | Holdの作成/解除を相関する | not an enum (source-derived) | none (source-derived) |
BlackOps\Core\Identifier\RetentionPurgeAuditId |
marker/class/value type | なし(引数なし) | なし(Return Typeなし) | なし(Defaultなし) | Source type: no public methods; runtime Error/Safe Code is non-exhaustive | Database AuditとSystem Logを相関する | not an enum (source-derived) | none (source-derived) |
BlackOps\Core\Operation |
marker/interface/value type | なし(引数なし) | なし(Return Typeなし) | なし(Defaultなし) | Source type: no public methods; runtime Error/Safe Code is non-exhaustive | Typed Self-handled Classで実装する | not an enum (source-derived) | none (source-derived) |
BlackOps\Core\OperationEnvelope |
OperationEnvelope::__construct(private Operation $definition, private OperationValue $value, private ExecutionContext $context, private ExecutionStrategy $strategy,): なし OperationEnvelope::definition(): Operation OperationEnvelope::value(): OperationValue OperationEnvelope::context(): ExecutionContext OperationEnvelope::strategy(): ExecutionStrategy OperationEnvelope::id(): OperationId OperationEnvelope::receivedAt(): DateTimeImmutable |
__construct: private Operation $definition, private OperationValue $value, private ExecutionContext $context, private ExecutionStrategy $strategy, | definition: Operation value: OperationValue context: ExecutionContext strategy: ExecutionStrategy id: OperationId receivedAt: DateTimeImmutable |
なし(Defaultなし) | __construct: Source body: no direct throw or bounded helper error observed (non-exhaustive) definition: Source body: no direct throw or bounded helper error observed (non-exhaustive) value: Source body: no direct throw or bounded helper error observed (non-exhaustive) context: Source body: no direct throw or bounded helper error observed (non-exhaustive) strategy: Source body: no direct throw or bounded helper error observed (non-exhaustive) id: Source body: no direct throw or bounded helper error observed (non-exhaustive) receivedAt: Source body: no direct throw or bounded helper error observed (non-exhaustive) |
Legacy Handler/低Level Dispatcher拡張で使う | not an enum (source-derived) | none (source-derived) |
BlackOps\Core\OperationHandler |
OperationHandler::handle(OperationEnvelope $operation): OperationResult | handle: OperationEnvelope $operation | handle: OperationResult | なし(Defaultなし) | handle: Source body: no direct throw or bounded helper error observed (non-exhaustive) | Compatibility形のHandlerで実装する | not an enum (source-derived) | none (source-derived) |
BlackOps\Core\OperationResult |
OperationResult::completed(Outcome $outcome = new EmptyOutcome(), ?OperationId $operationId = null): self OperationResult::rejected(RejectionReason $reason, ?OperationId $operationId = null): self OperationResult::isCompleted(): bool OperationResult::isRejected(): bool OperationResult::outcome(): Outcome OperationResult::rejectionReason(): RejectionReason OperationResult::operationId(): ?OperationId OperationResult::isReplayed(): bool OperationResult::asReplayed(): self |
completed: Outcome $outcome = new EmptyOutcome(), ?OperationId $operationId = null rejected: RejectionReason $reason, ?OperationId $operationId = null |
completed: self rejected: self isCompleted: bool isRejected: bool outcome: Outcome rejectionReason: RejectionReason operationId: ?OperationId isReplayed: bool asReplayed: self |
completed.outcome=new EmptyOutcome() completed.operationId=null rejected.operationId=null |
completed: Source body: no direct throw or bounded helper error observed (non-exhaustive) rejected: Source body: no direct throw or bounded helper error observed (non-exhaustive) isCompleted: Source body: no direct throw or bounded helper error observed (non-exhaustive) isRejected: Source body: no direct throw or bounded helper error observed (non-exhaustive) outcome: throws LogicException rejectionReason: throws LogicException operationId: Source body: no direct throw or bounded helper error observed (non-exhaustive) isReplayed: Source body: no direct throw or bounded helper error observed (non-exhaustive) asReplayed: Source body: no direct throw or bounded helper error observed (non-exhaustive) |
拒否時はrejected($reason, $operationId)、Replayはcompleted($outcome, $operationId)->asReplayed()で相関IDを残す |
not an enum (source-derived) | none (source-derived) |
BlackOps\Core\OperationValue |
marker/interface/value type | なし(引数なし) | なし(Return Typeなし) | なし(Defaultなし) | Source type: no public methods; runtime Error/Safe Code is non-exhaustive | Value DTOで実装する | not an enum (source-derived) | none (source-derived) |
BlackOps\Core\Outcome |
marker/interface/value type | なし(引数なし) | なし(Return Typeなし) | なし(Defaultなし) | Source type: no public methods; runtime Error/Safe Code is non-exhaustive | Outcome DTOで実装する | not an enum (source-derived) | none (source-derived) |
BlackOps\Core\OutcomeData |
marker/interface/value type | なし(引数なし) | なし(Return Typeなし) | なし(Defaultなし) | Source type: no public methods; runtime Error/Safe Code is non-exhaustive | final readonlyなNested DTOで実装する |
not an enum (source-derived) | none (source-derived) |
BlackOps\Core\Registry\OperationMetadata |
OperationMetadata::__construct(public string $typeId, public string $definition, public string $value, public string $handler, public string $outcome, public string $strategy, public bool $typedSelfHandled = false, public bool $typedSelfHandledContext = false, public ?string $typedSelfHandledMode = null, public ?string $authorizationPolicy = null, public ?string $transactionConnection = null, public ?OperationScheduleMetadata $schedule = null,): なし | __construct: public string $typeId, public string $definition, public string $value, public string $handler, public string $outcome, public string $strategy, public bool $typedSelfHandled = false, public bool $typedSelfHandledContext = false, public ?string $typedSelfHandledMode = null, public ?string $authorizationPolicy = null, public ?string $transactionConnection = null, public ?OperationScheduleMetadata $schedule = null, | なし(Return Typeなし) | __construct.typedSelfHandled=false __construct.typedSelfHandledContext=false __construct.typedSelfHandledMode=null __construct.authorizationPolicy=null __construct.transactionConnection=null __construct.schedule=null |
__construct: Source body: no direct throw or bounded helper error observed (non-exhaustive) | Registry/Build Extensionで読む | not an enum (source-derived) | none (source-derived) |
BlackOps\Core\Registry\OperationProvider |
OperationProvider::definitions(): iterable | なし(引数なし) | definitions: iterable | なし(Defaultなし) | definitions: Source body: no direct throw or bounded helper error observed (non-exhaustive) | Package/Generated Sourceを登録する | not an enum (source-derived) | none (source-derived) |
BlackOps\Core\Registry\OperationRegistry |
OperationRegistry::__construct(iterable $metadata): なし OperationRegistry::findByTypeId(string $typeId): ?OperationMetadata OperationRegistry::findByDefinition(string $definition): ?OperationMetadata OperationRegistry::findByScheduleName(string $name): ?OperationMetadata OperationRegistry::all(): array |
__construct: iterable $metadata findByTypeId: string $typeId findByDefinition: string $definition findByScheduleName: string $name |
findByTypeId: ?OperationMetadata findByDefinition: ?OperationMetadata findByScheduleName: ?OperationMetadata all: array |
なし(Defaultなし) | __construct: throws InvalidArgumentException findByTypeId: Source body: no direct throw or bounded helper error observed (non-exhaustive) findByDefinition: Source body: no direct throw or bounded helper error observed (non-exhaustive) findByScheduleName: Source body: no direct throw or bounded helper error observed (non-exhaustive) all: Source body: no direct throw or bounded helper error observed (non-exhaustive) |
Type IDまたはDefinitionで解決する | not an enum (source-derived) | none (source-derived) |
BlackOps\Core\Registry\OperationScheduleMetadata |
OperationScheduleMetadata::__construct(public string $name, public string $cron, public string $timezone,): なし | __construct: public string $name, public string $cron, public string $timezone, | なし(Return Typeなし) | なし(Defaultなし) | __construct: Source body: no direct throw or bounded helper error observed (non-exhaustive) | OperationMetadata::$schedule(または->schedule)から読む |
not an enum (source-derived) | none (source-derived) |
BlackOps\Core\Rejection\RejectionCategory |
marker/enum/value type | なし(引数なし) | なし(Return Typeなし) | なし(Defaultなし) | Source type: no public methods; runtime Error/Safe Code is non-exhaustive | Rejected Resultを分類する | string; Validation=‘validation’, Unauthorized=‘unauthorized’, Forbidden=‘forbidden’, NotFound=‘not_found’, Conflict=‘conflict’, BusinessRule=‘business_rule’ | none (source-derived) |
BlackOps\Core\Rejection\RejectionReason |
RejectionReason::validation(string $code, array $violations = []): self RejectionReason::unauthorized(string $code): self RejectionReason::forbidden(string $code): self RejectionReason::notFound(string $code): self RejectionReason::conflict(string $code): self RejectionReason::businessRule(string $code): self RejectionReason::category(): RejectionCategory RejectionReason::code(): string RejectionReason::violations(): array |
validation: string $code, array $violations = [] unauthorized: string $code forbidden: string $code notFound: string $code conflict: string $code businessRule: string $code |
validation: self unauthorized: self forbidden: self notFound: self conflict: self businessRule: self category: RejectionCategory code: string violations: array |
validation.violations=[] | validation: Source body: no direct throw or bounded helper error observed (non-exhaustive) unauthorized: Source body: no direct throw or bounded helper error observed (non-exhaustive) forbidden: Source body: no direct throw or bounded helper error observed (non-exhaustive) notFound: Source body: no direct throw or bounded helper error observed (non-exhaustive) conflict: Source body: no direct throw or bounded helper error observed (non-exhaustive) businessRule: Source body: no direct throw or bounded helper error observed (non-exhaustive) category: Source body: no direct throw or bounded helper error observed (non-exhaustive) code: Source body: no direct throw or bounded helper error observed (non-exhaustive) violations: Source body: no direct throw or bounded helper error observed (non-exhaustive) |
Rejection Response/Journalで読む | not an enum (source-derived) | none (source-derived) |
BlackOps\Core\Retention\RetentionActorRef |
RetentionActorRef::fromString(string $value): self RetentionActorRef::toString(): string RetentionActorRef::__toString(): string RetentionActorRef::equals(self $other): bool |
fromString: string $value equals: self $other |
fromString: self toString: string __toString: string equals: bool |
なし(Defaultなし) | fromString: throws InvalidArgumentException toString: Source body: no direct throw or bounded helper error observed (non-exhaustive) __toString: Source body: no direct throw or bounded helper error observed (non-exhaustive) equals: Source body: no direct throw or bounded helper error observed (non-exhaustive) |
CLI/Scheduler Actorを記録する | not an enum (source-derived) | none (source-derived) |
BlackOps\Core\Retention\RetentionHold |
RetentionHold::__construct(private RetentionHoldId $id, private OperationId $operationId, private RetentionHoldCategory $category, private string $reason, private DateTimeImmutable $placedAt, private RetentionActorRef $placedBy, private ?DateTimeImmutable $releasedAt = null, private ?RetentionActorRef $releasedBy = null,): なし RetentionHold::id(): RetentionHoldId RetentionHold::operationId(): OperationId RetentionHold::category(): RetentionHoldCategory RetentionHold::reason(): string RetentionHold::placedAt(): DateTimeImmutable RetentionHold::placedBy(): RetentionActorRef RetentionHold::releasedAt(): ?DateTimeImmutable RetentionHold::releasedBy(): ?RetentionActorRef RetentionHold::isActive(): bool RetentionHold::release(DateTimeImmutable $releasedAt, RetentionActorRef $releasedBy): self |
__construct: private RetentionHoldId $id, private OperationId $operationId, private RetentionHoldCategory $category, private string $reason, private DateTimeImmutable $placedAt, private RetentionActorRef $placedBy, private ?DateTimeImmutable $releasedAt = null, private ?RetentionActorRef $releasedBy = null, release: DateTimeImmutable $releasedAt, RetentionActorRef $releasedBy |
id: RetentionHoldId operationId: OperationId category: RetentionHoldCategory reason: string placedAt: DateTimeImmutable placedBy: RetentionActorRef releasedAt: ?DateTimeImmutable releasedBy: ?RetentionActorRef isActive: bool release: self |
__construct.releasedAt=null __construct.releasedBy=null |
__construct: throws InvalidArgumentException id: Source body: no direct throw or bounded helper error observed (non-exhaustive) operationId: Source body: no direct throw or bounded helper error observed (non-exhaustive) category: Source body: no direct throw or bounded helper error observed (non-exhaustive) reason: Source body: no direct throw or bounded helper error observed (non-exhaustive) placedAt: Source body: no direct throw or bounded helper error observed (non-exhaustive) placedBy: Source body: no direct throw or bounded helper error observed (non-exhaustive) releasedAt: Source body: no direct throw or bounded helper error observed (non-exhaustive) releasedBy: Source body: no direct throw or bounded helper error observed (non-exhaustive) isActive: Source body: no direct throw or bounded helper error observed (non-exhaustive) release: throws LogicException |
Legal/Incident等を分類する | not an enum (source-derived) | none (source-derived) |
BlackOps\Core\Retention\RetentionHoldCategory |
marker/enum/value type | なし(引数なし) | なし(Return Typeなし) | なし(Defaultなし) | Source type: no public methods; runtime Error/Safe Code is non-exhaustive | Legal/Incident等を分類する | string; Legal=‘legal’, Security=‘security’, Audit=‘audit’, Support=‘support’, Other=‘other’ | none (source-derived) |
BlackOps\Core\Retention\RetentionHoldPort |
RetentionHoldPort::place(OperationId $operationId, RetentionHoldCategory $category, string $reason, RetentionActorRef $placedBy, DateTimeImmutable $placedAt,): RetentionHold RetentionHoldPort::release(RetentionHoldId $holdId, RetentionActorRef $releasedBy, DateTimeImmutable $releasedAt,): RetentionHold RetentionHoldPort::activeFor(OperationId $operationId): array |
place: OperationId $operationId, RetentionHoldCategory $category, string $reason, RetentionActorRef $placedBy, DateTimeImmutable $placedAt, release: RetentionHoldId $holdId, RetentionActorRef $releasedBy, DateTimeImmutable $releasedAt, activeFor: OperationId $operationId |
place: RetentionHold release: RetentionHold activeFor: array |
なし(Defaultなし) | place: Source body: no direct throw or bounded helper error observed (non-exhaustive) release: Source body: no direct throw or bounded helper error observed (non-exhaustive) activeFor: Source body: no direct throw or bounded helper error observed (non-exhaustive) |
Hold Store Adapterで実装する | not an enum (source-derived) | none (source-derived) |
BlackOps\Core\Retention\RetentionPeriod |
RetentionPeriod::seconds(int $seconds): self RetentionPeriod::days(int $days): self RetentionPeriod::secondsValue(): int RetentionPeriod::expiresAt(DateTimeImmutable $baseTime): DateTimeImmutable |
seconds: int $seconds days: int $days expiresAt: DateTimeImmutable $baseTime |
seconds: self days: self secondsValue: int expiresAt: DateTimeImmutable |
なし(Defaultなし) | seconds: Source body: no direct throw or bounded helper error observed (non-exhaustive) days: throws InvalidArgumentException secondsValue: Source body: no direct throw or bounded helper error observed (non-exhaustive) expiresAt: Source body: no direct throw or bounded helper error observed (non-exhaustive) |
対象別Periodを作る | not an enum (source-derived) | none (source-derived) |
BlackOps\Core\Retention\RetentionPlan |
RetentionPlan::__construct(iterable $items): なし RetentionPlan::items(): array RetentionPlan::count(): int RetentionPlan::isEmpty(): bool RetentionPlan::forTarget(RetentionTarget $target): array |
__construct: iterable $items forTarget: RetentionTarget $target |
items: array count: int isEmpty: bool forTarget: array |
なし(Defaultなし) | __construct: Source body: no direct throw or bounded helper error observed (non-exhaustive) items: Source body: no direct throw or bounded helper error observed (non-exhaustive) count: Source body: no direct throw or bounded helper error observed (non-exhaustive) isEmpty: Source body: no direct throw or bounded helper error observed (non-exhaustive) forTarget: Source body: no direct throw or bounded helper error observed (non-exhaustive) |
Dry-run結果を表示する | not an enum (source-derived) | none (source-derived) |
BlackOps\Core\Retention\RetentionPlanItem |
RetentionPlanItem::__construct(private OperationId $operationId, private RetentionTarget $target, private DateTimeImmutable $basisAt, private DateTimeImmutable $eligibleAt, private ?TenantRef $tenant = null,): なし RetentionPlanItem::operationId(): OperationId RetentionPlanItem::target(): RetentionTarget RetentionPlanItem::basisAt(): DateTimeImmutable RetentionPlanItem::eligibleAt(): DateTimeImmutable RetentionPlanItem::tenant(): ?TenantRef |
__construct: private OperationId $operationId, private RetentionTarget $target, private DateTimeImmutable $basisAt, private DateTimeImmutable $eligibleAt, private ?TenantRef $tenant = null, | operationId: OperationId target: RetentionTarget basisAt: DateTimeImmutable eligibleAt: DateTimeImmutable tenant: ?TenantRef |
__construct.tenant=null | __construct: throws InvalidArgumentException operationId: Source body: no direct throw or bounded helper error observed (non-exhaustive) target: Source body: no direct throw or bounded helper error observed (non-exhaustive) basisAt: Source body: no direct throw or bounded helper error observed (non-exhaustive) eligibleAt: Source body: no direct throw or bounded helper error observed (non-exhaustive) tenant: Source body: no direct throw or bounded helper error observed (non-exhaustive) |
対象、基準時刻、Operation IDを読む | not an enum (source-derived) | none (source-derived) |
BlackOps\Core\Retention\RetentionPlanner |
RetentionPlanner::plan(RetentionPolicy $policy, DateTimeImmutable $now): RetentionPlan | plan: RetentionPolicy $policy, DateTimeImmutable $now | plan: RetentionPlan | なし(Defaultなし) | plan: Source body: no direct throw or bounded helper error observed (non-exhaustive) | Database Adapterで実装する | not an enum (source-derived) | none (source-derived) |
BlackOps\Core\Retention\RetentionPolicy |
RetentionPolicy::__construct(private RetentionPeriod $transportPayloadRetention, private RetentionPeriod $journalRetention, private RetentionPeriod $outcomeRetention, private RetentionPeriod $deadLetterRetention, private ?RetentionPeriod $idempotencyRecordRetention = null,): なし RetentionPolicy::transportPayloadRetention(): RetentionPeriod RetentionPolicy::journalRetention(): RetentionPeriod RetentionPolicy::outcomeRetention(): RetentionPeriod RetentionPolicy::deadLetterRetention(): RetentionPeriod RetentionPolicy::forTarget(RetentionTarget $target): RetentionPeriod RetentionPolicy::idempotencyRecordRetention(): RetentionPeriod |
__construct: private RetentionPeriod $transportPayloadRetention, private RetentionPeriod $journalRetention, private RetentionPeriod $outcomeRetention, private RetentionPeriod $deadLetterRetention, private ?RetentionPeriod $idempotencyRecordRetention = null, forTarget: RetentionTarget $target |
transportPayloadRetention: RetentionPeriod journalRetention: RetentionPeriod outcomeRetention: RetentionPeriod deadLetterRetention: RetentionPeriod forTarget: RetentionPeriod idempotencyRecordRetention: RetentionPeriod |
__construct.idempotencyRecordRetention=null | __construct: Source body: no direct throw or bounded helper error observed (non-exhaustive) transportPayloadRetention: Source body: no direct throw or bounded helper error observed (non-exhaustive) journalRetention: Source body: no direct throw or bounded helper error observed (non-exhaustive) outcomeRetention: Source body: no direct throw or bounded helper error observed (non-exhaustive) deadLetterRetention: Source body: no direct throw or bounded helper error observed (non-exhaustive) forTarget: Source body: no direct throw or bounded helper error observed (non-exhaustive) idempotencyRecordRetention: Source body: no direct throw or bounded helper error observed (non-exhaustive) |
Plan/PurgeへAccepted Policyを渡す | not an enum (source-derived) | none (source-derived) |
BlackOps\Core\Retention\RetentionPolicyRef |
RetentionPolicyRef::fromString(string $value): self RetentionPolicyRef::toString(): string RetentionPolicyRef::__toString(): string RetentionPolicyRef::equals(self $other): bool |
fromString: string $value equals: self $other |
fromString: self toString: string __toString: string equals: bool |
なし(Defaultなし) | fromString: throws InvalidArgumentException toString: Source body: no direct throw or bounded helper error observed (non-exhaustive) __toString: Source body: no direct throw or bounded helper error observed (non-exhaustive) equals: Source body: no direct throw or bounded helper error observed (non-exhaustive) |
Purge Auditへ残す | not an enum (source-derived) | none (source-derived) |
BlackOps\Core\Retention\RetentionPurgeAuditPort |
RetentionPurgeAuditPort::record(RetentionPurgeAuditRecord $record): void | record: RetentionPurgeAuditRecord $record | record: void | なし(Defaultなし) | record: Source body: no direct throw or bounded helper error observed (non-exhaustive) | Database/System Log監査を実装する | not an enum (source-derived) | none (source-derived) |
BlackOps\Core\Retention\RetentionPurgeAuditRecord |
RetentionPurgeAuditRecord::__construct(private RetentionPurgeAuditId $id, private OperationId $operationId, private RetentionPurgeTarget $target, private int $affectedCount, private RetentionPolicyRef $policy, private DateTimeImmutable $purgedAt, private RetentionActorRef $purgedBy, private ?TenantRef $tenant = null,): なし RetentionPurgeAuditRecord::id(): RetentionPurgeAuditId RetentionPurgeAuditRecord::operationId(): OperationId RetentionPurgeAuditRecord::target(): RetentionPurgeTarget RetentionPurgeAuditRecord::affectedCount(): int RetentionPurgeAuditRecord::policy(): RetentionPolicyRef RetentionPurgeAuditRecord::purgedAt(): DateTimeImmutable RetentionPurgeAuditRecord::purgedBy(): RetentionActorRef RetentionPurgeAuditRecord::tenant(): ?TenantRef |
__construct: private RetentionPurgeAuditId $id, private OperationId $operationId, private RetentionPurgeTarget $target, private int $affectedCount, private RetentionPolicyRef $policy, private DateTimeImmutable $purgedAt, private RetentionActorRef $purgedBy, private ?TenantRef $tenant = null, | id: RetentionPurgeAuditId operationId: OperationId target: RetentionPurgeTarget affectedCount: int policy: RetentionPolicyRef purgedAt: DateTimeImmutable purgedBy: RetentionActorRef tenant: ?TenantRef |
__construct.tenant=null | __construct: throws InvalidArgumentException id: Source body: no direct throw or bounded helper error observed (non-exhaustive) operationId: Source body: no direct throw or bounded helper error observed (non-exhaustive) target: Source body: no direct throw or bounded helper error observed (non-exhaustive) affectedCount: Source body: no direct throw or bounded helper error observed (non-exhaustive) policy: Source body: no direct throw or bounded helper error observed (non-exhaustive) purgedAt: Source body: no direct throw or bounded helper error observed (non-exhaustive) purgedBy: Source body: no direct throw or bounded helper error observed (non-exhaustive) tenant: Source body: no direct throw or bounded helper error observed (non-exhaustive) |
変更件数とPolicyを記録する | not an enum (source-derived) | none (source-derived) |
BlackOps\Core\Retention\RetentionPurgeResult |
RetentionPurgeResult::__construct(private RetentionPlan $plan, private int $transportPayloadsPurged, private int $deadLettersDeleted, private int $outcomesDeleted = 0, private int $journalsDeleted = 0, private int $idempotencyRecordsDeleted = 0,): なし RetentionPurgeResult::plan(): RetentionPlan RetentionPurgeResult::transportPayloadsPurged(): int RetentionPurgeResult::deadLettersDeleted(): int RetentionPurgeResult::outcomesDeleted(): int RetentionPurgeResult::journalsDeleted(): int RetentionPurgeResult::idempotencyRecordsDeleted(): int RetentionPurgeResult::totalAffected(): int |
__construct: private RetentionPlan $plan, private int $transportPayloadsPurged, private int $deadLettersDeleted, private int $outcomesDeleted = 0, private int $journalsDeleted = 0, private int $idempotencyRecordsDeleted = 0, | plan: RetentionPlan transportPayloadsPurged: int deadLettersDeleted: int outcomesDeleted: int journalsDeleted: int idempotencyRecordsDeleted: int totalAffected: int |
__construct.outcomesDeleted=0 __construct.journalsDeleted=0 __construct.idempotencyRecordsDeleted=0 |
__construct: throws InvalidArgumentException plan: Source body: no direct throw or bounded helper error observed (non-exhaustive) transportPayloadsPurged: Source body: no direct throw or bounded helper error observed (non-exhaustive) deadLettersDeleted: Source body: no direct throw or bounded helper error observed (non-exhaustive) outcomesDeleted: Source body: no direct throw or bounded helper error observed (non-exhaustive) journalsDeleted: Source body: no direct throw or bounded helper error observed (non-exhaustive) idempotencyRecordsDeleted: Source body: no direct throw or bounded helper error observed (non-exhaustive) totalAffected: Source body: no direct throw or bounded helper error observed (non-exhaustive) |
Purge結果とAuditを表示する。idempotencyRecordsDeleted()でIdempotency Record件数を読む |
not an enum (source-derived) | none (source-derived) |
BlackOps\Core\Retention\RetentionPurgeService |
RetentionPurgeService::purge(RetentionPolicy $policy, RetentionPolicyRef $policyRef, RetentionActorRef $actor, DateTimeImmutable $now,): RetentionPurgeResult | purge: RetentionPolicy $policy, RetentionPolicyRef $policyRef, RetentionActorRef $actor, DateTimeImmutable $now, | purge: RetentionPurgeResult | なし(Defaultなし) | purge: Source body: no direct throw or bounded helper error observed (non-exhaustive) | CLI/Schedulerから呼ぶ | not an enum (source-derived) | none (source-derived) |
BlackOps\Core\Retention\RetentionPurgeTarget |
marker/enum/value type | なし(引数なし) | なし(Return Typeなし) | なし(Defaultなし) | Source type: no public methods; runtime Error/Safe Code is non-exhaustive | 実削除結果を分類する | string; TransportPayload=‘transport_payload’, Journal=‘journal’, Outcome=‘outcome’, DeadLetter=‘dead_letter’, IdempotencyRecord=‘idempotency_record’ | none (source-derived) |
BlackOps\Core\Retention\RetentionTarget |
marker/enum/value type | なし(引数なし) | なし(Return Typeなし) | なし(Defaultなし) | Source type: no public methods; runtime Error/Safe Code is non-exhaustive | PolicyとPlanを分類する | string; TransportPayload=‘transport_payload’, Journal=‘journal’, Outcome=‘outcome’, DeadLetter=‘dead_letter’, IdempotencyRecord=‘idempotency_record’ | none (source-derived) |
BlackOps\Core\ScheduleContext |
ScheduleContext::__construct(private string $name, DateTimeImmutable $scheduledAt, private string $timezone,): なし ScheduleContext::name(): string ScheduleContext::scheduledAt(): DateTimeImmutable ScheduleContext::timezone(): string |
__construct: private string $name, DateTimeImmutable $scheduledAt, private string $timezone, | name: string scheduledAt: DateTimeImmutable timezone: string |
なし(Defaultなし) | __construct: Source body: no direct throw or bounded helper error observed (non-exhaustive) name: Source body: no direct throw or bounded helper error observed (non-exhaustive) scheduledAt: Source body: no direct throw or bounded helper error observed (non-exhaustive) timezone: Source body: no direct throw or bounded helper error observed (non-exhaustive) |
ExecutionContext::schedule()から読む |
not an enum (source-derived) | none (source-derived) |
BlackOps\Core\Supervision\ExponentialBackoffSupervisionPolicy |
ExponentialBackoffSupervisionPolicy::__construct(private int $maxAttempts = 3, private int $initialDelayMilliseconds = 1_000, private float $multiplier = 2.0, private int $maximumDelayMilliseconds = 60_000, private float $jitterRatio = 0.2,): なし ExponentialBackoffSupervisionPolicy::decide(Throwable $error, AttemptContext $attempt): SupervisionDecision |
__construct: private int $maxAttempts = 3, private int $initialDelayMilliseconds = 1_000, private float $multiplier = 2.0, private int $maximumDelayMilliseconds = 60_000, private float $jitterRatio = 0.2, decide: Throwable $error, AttemptContext $attempt |
decide: SupervisionDecision | __construct.maxAttempts=3 __construct.initialDelayMilliseconds=1_000 __construct.multiplier=2.0 __construct.maximumDelayMilliseconds=60_000 __construct.jitterRatio=0.2 |
__construct: throws InvalidArgumentException decide: Source body: no direct throw or bounded helper error observed (non-exhaustive) |
Framework Workerの固定既定Retry Policy。Custom Worker Adapterでのみ構成する | not an enum (source-derived) | none (source-derived) |
BlackOps\Core\Supervision\RetryableException |
marker/interface/value type | なし(引数なし) | なし(Return Typeなし) | なし(Defaultなし) | Source type: no public methods; runtime Error/Safe Code is non-exhaustive | 一時障害Exceptionで実装する | not an enum (source-derived) | none (source-derived) |
BlackOps\Core\Supervision\SupervisionAction |
marker/enum/value type | なし(引数なし) | なし(Return Typeなし) | なし(Defaultなし) | Source type: no public methods; runtime Error/Safe Code is non-exhaustive | Policy結果を分岐する | string; Retry=‘retry’, Fail=‘fail’, DeadLetter=‘dead_letter’ | none (source-derived) |
BlackOps\Core\Supervision\SupervisionDecision |
SupervisionDecision::retry(int $delayMilliseconds): self SupervisionDecision::fail(): self SupervisionDecision::deadLetter(): self SupervisionDecision::action(): SupervisionAction SupervisionDecision::delayMilliseconds(): int |
retry: int $delayMilliseconds | retry: self fail: self deadLetter: self action: SupervisionAction delayMilliseconds: int |
なし(Defaultなし) | retry: throws InvalidArgumentException fail: Source body: no direct throw or bounded helper error observed (non-exhaustive) deadLetter: Source body: no direct throw or bounded helper error observed (non-exhaustive) action: Source body: no direct throw or bounded helper error observed (non-exhaustive) delayMilliseconds: throws LogicException |
Worker RuntimeへPolicy判断を返す | not an enum (source-derived) | none (source-derived) |
BlackOps\Core\Supervision\SupervisionPolicy |
SupervisionPolicy::decide(Throwable $error, AttemptContext $attempt): SupervisionDecision | decide: Throwable $error, AttemptContext $attempt | decide: SupervisionDecision | なし(Defaultなし) | decide: Source body: no direct throw or bounded helper error observed (non-exhaustive) | Custom Retry Policyを実装する | not an enum (source-derived) | none (source-derived) |
BlackOps\Core\TenantRef |
TenantRef::__construct(string $type, string $id): なし TenantRef::type(): string TenantRef::id(): string |
__construct: string $type, string $id | type: string id: string |
なし(Defaultなし) | __construct: throws InvalidArgumentException type: Source body: no direct throw or bounded helper error observed (non-exhaustive) id: Source body: no direct throw or bounded helper error observed (non-exhaustive) |
HTTP/Console/Scheduled/Dispatch Contextへ明示する | not an enum (source-derived) | none (source-derived) |
BlackOps\Core\Validation\Attribute\Choice |
Choice::__construct(public array $choices,): なし | __construct: public array $choices, | なし(Return Typeなし) | なし(Defaultなし) | __construct: throws InvalidArgumentException | 列挙候補を持つPropertyへ付ける | not an enum (source-derived) | none (source-derived) |
BlackOps\Core\Validation\Attribute\Count |
Count::__construct(public ?int $min = null, public ?int $max = null,): なし | __construct: public ?int $min = null, public ?int $max = null, | なし(Return Typeなし) | __construct.min=null __construct.max=null |
__construct: throws InvalidArgumentException | Array等のPropertyへ付ける | not an enum (source-derived) | none (source-derived) |
BlackOps\Core\Validation\Attribute\Email |
marker/class/value type | なし(引数なし) | なし(Return Typeなし) | なし(Defaultなし) | Source type: no public methods; runtime Error/Safe Code is non-exhaustive | Email Propertyへ付ける | not an enum (source-derived) | none (source-derived) |
BlackOps\Core\Validation\Attribute\Length |
Length::__construct(public ?int $min = null, public ?int $max = null,): なし | __construct: public ?int $min = null, public ?int $max = null, | なし(Return Typeなし) | __construct.min=null __construct.max=null |
__construct: throws InvalidArgumentException | min/maxを指定する |
not an enum (source-derived) | none (source-derived) |
BlackOps\Core\Validation\Attribute\NotBlank |
marker/class/value type | なし(引数なし) | なし(Return Typeなし) | なし(Defaultなし) | Source type: no public methods; runtime Error/Safe Code is non-exhaustive | 必須のValue Propertyへ付ける | not an enum (source-derived) | none (source-derived) |
BlackOps\Core\Validation\Attribute\Range |
Range::__construct(public int/float/null $min = null, public int/float/null $max = null,): なし | __construct: public int/float/null $min = null, public int/float/null $max = null, | なし(Return Typeなし) | __construct.min=null __construct.max=null |
__construct: throws InvalidArgumentException | int/float Propertyへ付ける |
not an enum (source-derived) | none (source-derived) |
BlackOps\Core\Validation\Attribute\Regex |
Regex::__construct(public string $pattern,): なし | __construct: public string $pattern, | なし(Return Typeなし) | なし(Defaultなし) | __construct: throws InvalidArgumentException | String Propertyへ付ける | not an enum (source-derived) | none (source-derived) |
BlackOps\Core\Validation\Violation |
Violation::__construct(public string $field, public string $rule, public string $code,): なし | __construct: public string $field, public string $rule, public string $code, | なし(Return Typeなし) | なし(Defaultなし) | __construct: throws InvalidArgumentException | Rejected Response/Journalで読む | not an enum (source-derived) | none (source-derived) |
Namespace BlackOps\Database
| Type | Signature | Parameter | Return | Default | Error / Safe Code (source-observed) | Typical Use | Enum backing / cases | Public constants (name / type / value) |
|---|---|---|---|---|---|---|---|---|
BlackOps\Database\AfterCommitFailure |
AfterCommitFailure::__construct(private string $serviceClass, private string $method, private Throwable $cause, private ?ExecutionContext $context = null,): なし AfterCommitFailure::serviceClass(): string AfterCommitFailure::method(): string AfterCommitFailure::cause(): Throwable AfterCommitFailure::context(): ?ExecutionContext |
__construct: private string $serviceClass, private string $method, private Throwable $cause, private ?ExecutionContext $context = null, | serviceClass: string method: string cause: Throwable context: ?ExecutionContext |
__construct.context=null | __construct: Source body: no direct throw or bounded helper error observed (non-exhaustive) serviceClass: Source body: no direct throw or bounded helper error observed (non-exhaustive) method: Source body: no direct throw or bounded helper error observed (non-exhaustive) cause: Source body: no direct throw or bounded helper error observed (non-exhaustive) context: Source body: no direct throw or bounded helper error observed (non-exhaustive) |
Failure Reporterで失敗を観測する | not an enum (source-derived) | none (source-derived) |
BlackOps\Database\AfterCommitFailureReporter |
AfterCommitFailureReporter::report(AfterCommitFailure $failure): void | report: AfterCommitFailure $failure | report: void | なし(Defaultなし) | report: Source body: no direct throw or bounded helper error observed (non-exhaustive) | Application固有の監視AdapterをService Providerで登録する | not an enum (source-derived) | none (source-derived) |
BlackOps\Database\Attribute\AfterCommit |
marker/class/value type | なし(引数なし) | なし(Return Typeなし) | なし(Defaultなし) | Source type: no public methods; runtime Error/Safe Code is non-exhaustive | Public Instance Methodへ付ける | not an enum (source-derived) | none (source-derived) |
BlackOps\Database\Attribute\Transactional |
Transactional::__construct(?string $connection = null): なし | __construct: ?string $connection = null | なし(Return Typeなし) | __construct.connection=null | __construct: throws InvalidArgumentException | ClassまたはPublic Instance Methodへ付ける | not an enum (source-derived) | none (source-derived) |
BlackOps\Database\DatabaseManager |
DatabaseManager::connection(?string $name = null): Connection | connection: ?string $name = null | connection: Connection | connection.name=null | connection: Source body: no direct throw or bounded helper error observed (non-exhaustive) | 複数Connectionが必要なServiceへConstructor Injectionする | not an enum (source-derived) | none (source-derived) |
BlackOps\Database\Exception\TransactionException |
marker/class/value type | なし(引数なし) | なし(Return Typeなし) | なし(Defaultなし) | Source type: no public methods; runtime Error/Safe Code is non-exhaustive | 安全なMessageとPrevious Throwableを扱う | not an enum (source-derived) | none (source-derived) |
BlackOps\Database\Seeder |
Seeder::run(): void | なし(引数なし) | run: void | なし(Defaultなし) | run: Source body: no direct throw or bounded helper error observed (non-exhaustive) | Root Seederと子Seederでrun(): voidを実装する |
not an enum (source-derived) | none (source-derived) |
BlackOps\Database\SeederRunner |
SeederRunner::run(string …$seeders): void | run: string …$seeders | run: void | なし(Defaultなし) | run: Source body: no direct throw or bounded helper error observed (non-exhaustive) | Root Seederから子SeederのClass名を渡す | not an enum (source-derived) | none (source-derived) |
Namespace BlackOps\Execution
| Type | Signature | Parameter | Return | Default | Error / Safe Code (source-observed) | Typical Use | Enum backing / cases | Public constants (name / type / value) |
|---|---|---|---|---|---|---|---|---|
BlackOps\Execution\DispatchReceipt |
DispatchReceipt::__construct(private OperationId $operationId, DateTimeImmutable $dispatchedAt,): なし DispatchReceipt::operationId(): OperationId DispatchReceipt::dispatchedAt(): DateTimeImmutable |
__construct: private OperationId $operationId, DateTimeImmutable $dispatchedAt, | operationId: OperationId dispatchedAt: DateTimeImmutable |
なし(Defaultなし) | __construct: Source body: no direct throw or bounded helper error observed (non-exhaustive) operationId: Source body: no direct throw or bounded helper error observed (non-exhaustive) dispatchedAt: Source body: no direct throw or bounded helper error observed (non-exhaustive) |
operationId()/dispatchedAt()を読む |
not an enum (source-derived) | none (source-derived) |
BlackOps\Execution\Dispatcher |
Dispatcher::dispatch(Operation $definition, OperationValue $value, ?ActorContext $actorContext = null, ?IdempotencyKey $idempotencyKey = null, ?TenantRef $tenant = null, ?TelemetryContext $telemetry = null,): OperationResult | dispatch: Operation $definition, OperationValue $value, ?ActorContext $actorContext = null, ?IdempotencyKey $idempotencyKey = null, ?TenantRef $tenant = null, ?TelemetryContext $telemetry = null, | dispatch: OperationResult | dispatch.actorContext=null dispatch.idempotencyKey=null dispatch.tenant=null dispatch.telemetry=null |
dispatch: Source body: no direct throw or bounded helper error observed (non-exhaustive) | 独自入口では任意のActorContextとOptional IdempotencyKeyを末尾へ渡す |
not an enum (source-derived) | none (source-derived) |
BlackOps\Execution\Operations |
Operations::dispatch(string $definition, OperationValue $value, ?DateTimeImmutable $availableAt = null, ?ActorRef $executionActor = null,): DispatchReceipt | dispatch: string $definition, OperationValue $value, ?DateTimeImmutable $availableAt = null, ?ActorRef $executionActor = null, | dispatch: DispatchReceipt | dispatch.availableAt=null dispatch.executionActor=null |
dispatch: Source body: no direct throw or bounded helper error observed (non-exhaustive) | Application CoordinationへConstructor Injectionする | not an enum (source-derived) | none (source-derived) |
Namespace BlackOps\Http
| Type | Signature | Parameter | Return | Default | Error / Safe Code (source-observed) | Typical Use | Enum backing / cases | Public constants (name / type / value) |
|---|---|---|---|---|---|---|---|---|
BlackOps\Http\Attribute\FromBody |
FromBody::__construct(public ?string $name = null,): なし | __construct: public ?string $name = null, | なし(Return Typeなし) | __construct.name=null | __construct: Source body: no direct throw or bounded helper error observed (non-exhaustive) | Body Inputへ付ける | not an enum (source-derived) | none (source-derived) |
BlackOps\Http\Attribute\FromHeader |
FromHeader::__construct(public ?string $name = null,): なし | __construct: public ?string $name = null, | なし(Return Typeなし) | __construct.name=null | __construct: Source body: no direct throw or bounded helper error observed (non-exhaustive) | Header Inputへ付ける | not an enum (source-derived) | none (source-derived) |
BlackOps\Http\Attribute\FromPath |
FromPath::__construct(public ?string $name = null,): なし | __construct: public ?string $name = null, | なし(Return Typeなし) | __construct.name=null | __construct: Source body: no direct throw or bounded helper error observed (non-exhaustive) | Path Inputへ付ける | not an enum (source-derived) | none (source-derived) |
BlackOps\Http\Attribute\FromQuery |
FromQuery::__construct(public ?string $name = null,): なし | __construct: public ?string $name = null, | なし(Return Typeなし) | __construct.name=null | __construct: Source body: no direct throw or bounded helper error observed (non-exhaustive) | Query Inputへ付ける | not an enum (source-derived) | none (source-derived) |
BlackOps\Http\Attribute\Route |
Route::__construct(string $method, public string $path,): なし | __construct: string $method, public string $path, | なし(Return Typeなし) | なし(Defaultなし) | __construct: throws InvalidArgumentException | HTTP公開するOperationへ付ける | not an enum (source-derived) | none (source-derived) |
BlackOps\Http\Authentication\AuthenticationMiddleware |
AuthenticationMiddleware::__construct(private HttpAuthenticator $authenticator, ?ResponseFactoryInterface $responses = null, ?StreamFactoryInterface $streams = null,): なし AuthenticationMiddleware::process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface |
__construct: private HttpAuthenticator $authenticator, ?ResponseFactoryInterface $responses = null, ?StreamFactoryInterface $streams = null, process: ServerRequestInterface $request, RequestHandlerInterface $handler |
process: ResponseInterface | __construct.responses=null __construct.streams=null |
__construct: propagates LogicException via defaultFactory() process: throws LogicException |
config/middleware.phpへServiceとして登録する |
not an enum (source-derived) | none (source-derived) |
BlackOps\Http\Authentication\AuthenticationResult |
AuthenticationResult::anonymous(): self AuthenticationResult::authenticated(ActorRef $actor, ?TenantRef $tenant = null): self AuthenticationResult::invalid(string $code): self AuthenticationResult::isAnonymous(): bool AuthenticationResult::isAuthenticated(): bool AuthenticationResult::isInvalid(): bool AuthenticationResult::actor(): ?ActorRef AuthenticationResult::code(): ?string AuthenticationResult::tenant(): ?TenantRef |
authenticated: ActorRef $actor, ?TenantRef $tenant = null invalid: string $code |
anonymous: self authenticated: self invalid: self isAnonymous: bool isAuthenticated: bool isInvalid: bool actor: ?ActorRef code: ?string tenant: ?TenantRef |
authenticated.tenant=null | anonymous: Source body: no direct throw or bounded helper error observed (non-exhaustive) authenticated: Source body: no direct throw or bounded helper error observed (non-exhaustive) invalid: Source body: no direct throw or bounded helper error observed (non-exhaustive) isAnonymous: Source body: no direct throw or bounded helper error observed (non-exhaustive) isAuthenticated: Source body: no direct throw or bounded helper error observed (non-exhaustive) isInvalid: Source body: no direct throw or bounded helper error observed (non-exhaustive) actor: Source body: no direct throw or bounded helper error observed (non-exhaustive) code: Source body: no direct throw or bounded helper error observed (non-exhaustive) tenant: Source body: no direct throw or bounded helper error observed (non-exhaustive) |
Authenticatorから安全なActorまたはCodeを返す | not an enum (source-derived) | none (source-derived) |
BlackOps\Http\Authentication\HttpAuthenticator |
HttpAuthenticator::authenticate(ServerRequestInterface $request): AuthenticationResult | authenticate: ServerRequestInterface $request | authenticate: AuthenticationResult | なし(Defaultなし) | authenticate: Source body: no direct throw or bounded helper error observed (non-exhaustive) | Application固有のSession/Token検証を実装する | not an enum (source-derived) | none (source-derived) |
BlackOps\Http\Observability\OperationalHealthJsonResponder |
OperationalHealthJsonResponder::__construct(private ResponseFactoryInterface $responses, private StreamFactoryInterface $streams,): なし OperationalHealthJsonResponder::respond(OperationalHealthReport $report): ResponseInterface OperationalHealthJsonResponder::methodNotAllowed(): ResponseInterface |
__construct: private ResponseFactoryInterface $responses, private StreamFactoryInterface $streams, respond: OperationalHealthReport $report |
respond: ResponseInterface methodNotAllowed: ResponseInterface |
なし(Defaultなし) | __construct: Source body: no direct throw or bounded helper error observed (non-exhaustive) respond: throws RuntimeException methodNotAllowed: Source body: no direct throw or bounded helper error observed (non-exhaustive) |
Pass 200、Fail 503、非GET 405を返す |
not an enum (source-derived) | none (source-derived) |
BlackOps\Http\Observability\OperationalHealthRequestHandler |
OperationalHealthRequestHandler::__construct(private OperationalHealthQuery $query, private OperationalHealthKind $kind, private OperationalHealthJsonResponder $responder,): なし OperationalHealthRequestHandler::handle(ServerRequestInterface $request): ResponseInterface |
__construct: private OperationalHealthQuery $query, private OperationalHealthKind $kind, private OperationalHealthJsonResponder $responder, handle: ServerRequestInterface $request |
handle: ResponseInterface | なし(Defaultなし) | __construct: Source body: no direct throw or bounded helper error observed (non-exhaustive) handle: Source body: no direct throw or bounded helper error observed (non-exhaustive) |
Application RouterへGET Routeとして登録する |
not an enum (source-derived) | none (source-derived) |
BlackOps\Http\SapiRuntime |
SapiRuntime::run(Application $application): void SapiRuntime::runWorker(Application $application): void |
run: Application $application runWorker: Application $application |
run: void runWorker: void |
なし(Defaultなし) | run: Source body: no direct throw or bounded helper error observed (non-exhaustive) runWorker: Source body: no direct throw or bounded helper error observed (non-exhaustive) |
Public Entrypointからrun($application)またはrunWorker($application)を呼ぶ |
not an enum (source-derived) | none (source-derived) |
Namespace BlackOps\Idempotency
| Type | Signature | Parameter | Return | Default | Error / Safe Code (source-observed) | Typical Use | Enum backing / cases | Public constants (name / type / value) |
|---|---|---|---|---|---|---|---|---|
BlackOps\Idempotency\IdempotencyKey |
IdempotencyKey::__construct(#[SensitiveParameter] string $value): なし IdempotencyKey::hash(): IdempotencyKeyHash IdempotencyKey::__debugInfo(): array |
__construct: #[SensitiveParameter] string $value | hash: IdempotencyKeyHash __debugInfo: array |
なし(Defaultなし) | __construct: throws InvalidArgumentException hash: Source body: no direct throw or bounded helper error observed (non-exhaustive) __debugInfo: Source body: no direct throw or bounded helper error observed (non-exhaustive) |
Network Retryで同じKeyを再利用するときhash()をFramework入口へ渡す |
not an enum (source-derived) | none (source-derived) |
BlackOps\Idempotency\IdempotencyKeyHash |
IdempotencyKeyHash::__construct(int $version, string $digest): なし IdempotencyKeyHash::version(): int IdempotencyKeyHash::algorithm(): string IdempotencyKeyHash::digest(): string IdempotencyKeyHash::equals(self $other): bool IdempotencyKeyHash::__toString(): string |
__construct: int $version, string $digest equals: self $other |
version: int algorithm: string digest: string equals: bool __toString: string |
なし(Defaultなし) | __construct: throws InvalidArgumentException version: Source body: no direct throw or bounded helper error observed (non-exhaustive) algorithm: Source body: no direct throw or bounded helper error observed (non-exhaustive) digest: Source body: no direct throw or bounded helper error observed (non-exhaustive) equals: Source body: no direct throw or bounded helper error observed (non-exhaustive) __toString: Source body: no direct throw or bounded helper error observed (non-exhaustive) |
ExecutionContext::idempotencyKeyHash()からOpaque相関を読む |
not an enum (source-derived) | ALGORITHM_VERSION: int=1, ALGORITHM: string=‘sha256’, DOMAIN_SEPARATOR: string=‘blackops/idempotency-key/v1’ |
Namespace BlackOps\Identifier
| Type | Signature | Parameter | Return | Default | Error / Safe Code (source-observed) | Typical Use | Enum backing / cases | Public constants (name / type / value) |
|---|---|---|---|---|---|---|---|---|
BlackOps\Identifier\Uuidv7Generator |
Uuidv7Generator::generate(): string | なし(引数なし) | generate: string | なし(Defaultなし) | generate: Source body: no direct throw or bounded helper error observed (non-exhaustive) | Identifier AdapterへConstructor Injectionし、generate(): stringを呼ぶ |
not an enum (source-derived) | none (source-derived) |
Namespace BlackOps\Journal
| Type | Signature | Parameter | Return | Default | Error / Safe Code (source-observed) | Typical Use | Enum backing / cases | Public constants (name / type / value) |
|---|---|---|---|---|---|---|---|---|
BlackOps\Journal\CanonicalJournalStore |
marker/interface/value type | なし(引数なし) | なし(Return Typeなし) | なし(Defaultなし) | Source type: no public methods; runtime Error/Safe Code is non-exhaustive | 一体型Canonical Storeで実装する | not an enum (source-derived) | none (source-derived) |
BlackOps\Journal\CanonicalJournalWriter |
CanonicalJournalWriter::append(JournalRecord $record): void | append: JournalRecord $record | append: void | なし(Defaultなし) | append: Source body: no direct throw or bounded helper error observed (non-exhaustive) | Durable Journal Adapterで実装する | not an enum (source-derived) | none (source-derived) |
BlackOps\Journal\Data\AttemptFailedData |
AttemptFailedData::__construct(public string $errorType, public string $errorMessage, public bool $retryable,): なし | __construct: public string $errorType, public string $errorMessage, public bool $retryable, | なし(Return Typeなし) | なし(Defaultなし) | __construct: Source body: no direct throw or bounded helper error observed (non-exhaustive) | attempt.failedを読む |
not an enum (source-derived) | none (source-derived) |
BlackOps\Journal\Data\AttemptRetryScheduledData |
AttemptRetryScheduledData::__construct(public AttemptId $failedAttemptId, public int $nextAttemptNumber, DateTimeImmutable $scheduledAt, public int $delayMilliseconds,): なし | __construct: public AttemptId $failedAttemptId, public int $nextAttemptNumber, DateTimeImmutable $scheduledAt, public int $delayMilliseconds, | なし(Return Typeなし) | なし(Defaultなし) | __construct: throws InvalidArgumentException | attempt.retry_scheduledを読む |
not an enum (source-derived) | none (source-derived) |
BlackOps\Journal\Data\OperationCompletedData |
OperationCompletedData::__construct(public Outcome $outcome,): なし | __construct: public Outcome $outcome, | なし(Return Typeなし) | なし(Defaultなし) | __construct: Source body: no direct throw or bounded helper error observed (non-exhaustive) | operation.completedを読む |
not an enum (source-derived) | none (source-derived) |
BlackOps\Journal\Data\OperationDeadLetteredData |
OperationDeadLetteredData::__construct(public ?AttemptId $finalAttemptId, public ?int $finalAttemptNumber, public string $reasonType, public string $reasonMessage, DateTimeImmutable $movedAt,): なし | __construct: public ?AttemptId $finalAttemptId, public ?int $finalAttemptNumber, public string $reasonType, public string $reasonMessage, DateTimeImmutable $movedAt, | なし(Return Typeなし) | なし(Defaultなし) | __construct: throws InvalidArgumentException | operation.dead_letteredを読む |
not an enum (source-derived) | none (source-derived) |
BlackOps\Journal\Data\OperationFailedData |
OperationFailedData::__construct(public string $errorType, public string $errorMessage, public bool $retryable,): なし | __construct: public string $errorType, public string $errorMessage, public bool $retryable, | なし(Return Typeなし) | なし(Defaultなし) | __construct: Source body: no direct throw or bounded helper error observed (non-exhaustive) | operation.failedを読む |
not an enum (source-derived) | none (source-derived) |
BlackOps\Journal\Data\OperationReceivedData |
OperationReceivedData::__construct(public OperationValue $value,): なし | __construct: public OperationValue $value, | なし(Return Typeなし) | なし(Defaultなし) | __construct: Source body: no direct throw or bounded helper error observed (non-exhaustive) | operation.receivedを読む |
not an enum (source-derived) | none (source-derived) |
BlackOps\Journal\Data\OperationRejectedData |
OperationRejectedData::__construct(public RejectionReason $reason,): なし | __construct: public RejectionReason $reason, | なし(Return Typeなし) | なし(Defaultなし) | __construct: Source body: no direct throw or bounded helper error observed (non-exhaustive) | operation.rejectedを読む |
not an enum (source-derived) | none (source-derived) |
BlackOps\Journal\EmptyJournalData |
marker/class/value type | なし(引数なし) | なし(Return Typeなし) | なし(Defaultなし) | Source type: no public methods; runtime Error/Safe Code is non-exhaustive | Payloadを持たないRecordで使う | not an enum (source-derived) | none (source-derived) |
BlackOps\Journal\Exception\JournalObservationFailed |
marker/class/value type | なし(引数なし) | なし(Return Typeなし) | なし(Defaultなし) | Source type: no public methods; runtime Error/Safe Code is non-exhaustive | Delivery Policyに従って扱う | not an enum (source-derived) | none (source-derived) |
BlackOps\Journal\Exception\JournalReadFailed |
marker/class/value type | なし(引数なし) | なし(Return Typeなし) | なし(Defaultなし) | Source type: no public methods; runtime Error/Safe Code is non-exhaustive | Store Errorを境界で扱う | not an enum (source-derived) | none (source-derived) |
BlackOps\Journal\Exception\JournalWriteFailed |
marker/class/value type | なし(引数なし) | なし(Return Typeなし) | なし(Defaultなし) | Source type: no public methods; runtime Error/Safe Code is non-exhaustive | Durable書込を失敗させる | not an enum (source-derived) | none (source-derived) |
BlackOps\Journal\Exception\LifecycleTransitionException |
LifecycleTransitionException::invalid(?LifecycleState $current, JournalEvent $event): self | invalid: ?LifecycleState $current, JournalEvent $event | invalid: self | なし(Defaultなし) | invalid: Source body: no direct throw or bounded helper error observed (non-exhaustive) | Stale/Terminal更新を拒否する | not an enum (source-derived) | none (source-derived) |
BlackOps\Journal\FlushableJournalObserver |
FlushableJournalObserver::flush(): void | なし(引数なし) | flush: void | なし(Defaultなし) | flush: Source body: no direct throw or bounded helper error observed (non-exhaustive) | Bufferを持つSinkで実装する | not an enum (source-derived) | none (source-derived) |
BlackOps\Journal\JournalAttempt |
JournalAttempt::__construct(public AttemptId $id, public int $number, DateTimeImmutable $startedAt,): なし | __construct: public AttemptId $id, public int $number, DateTimeImmutable $startedAt, | なし(Return Typeなし) | なし(Defaultなし) | __construct: throws InvalidArgumentException | Attempt ID/番号/開始時刻を読む | not an enum (source-derived) | none (source-derived) |
BlackOps\Journal\JournalData |
marker/interface/value type | なし(引数なし) | なし(Return Typeなし) | なし(Defaultなし) | Source type: no public methods; runtime Error/Safe Code is non-exhaustive | Custom/Canonical Data境界で実装する | not an enum (source-derived) | none (source-derived) |
BlackOps\Journal\JournalDeliveryPolicy |
marker/enum/value type | なし(引数なし) | なし(Return Typeなし) | なし(Defaultなし) | Source type: no public methods; runtime Error/Safe Code is non-exhaustive | Observer Pipelineを構成する | unit; BestEffort, Required, Durable | none (source-derived) |
BlackOps\Journal\JournalEvent |
marker/enum/value type | なし(引数なし) | なし(Return Typeなし) | なし(Defaultなし) | Source type: no public methods; runtime Error/Safe Code is non-exhaustive | RecordのEventを分岐する | string; OperationReceived=‘operation.received’, OperationAccepted=‘operation.accepted’, AttemptStarted=‘attempt.started’, AttemptSucceeded=‘attempt.succeeded’, AttemptFailed=‘attempt.failed’, AttemptRetryScheduled=‘attempt.retry_scheduled’, OperationCompleted=‘operation.completed’, OperationRejected=‘operation.rejected’, OperationFailed=‘operation.failed’, OperationDeadLettered=‘operation.dead_lettered’ | none (source-derived) |
BlackOps\Journal\JournalObserver |
JournalObserver::observe(ObservedJournalRecord $record): void | observe: ObservedJournalRecord $record | observe: void | なし(Defaultなし) | observe: Source body: no direct throw or bounded helper error observed (non-exhaustive) | Custom Log/Telemetry Sinkを実装する | not an enum (source-derived) | none (source-derived) |
BlackOps\Journal\JournalOperation |
JournalOperation::__construct(public OperationId $id, public string $type, public int $schemaVersion, public string $strategy, public CorrelationId $correlationId, public ?CausationId $causationId = null, public ?ActorContext $actorContext = null, public ?ScheduleContext $schedule = null, public ?TenantRef $tenant = null, public ?TelemetryCorrelation $telemetry = null,): なし | __construct: public OperationId $id, public string $type, public int $schemaVersion, public string $strategy, public CorrelationId $correlationId, public ?CausationId $causationId = null, public ?ActorContext $actorContext = null, public ?ScheduleContext $schedule = null, public ?TenantRef $tenant = null, public ?TelemetryCorrelation $telemetry = null, | なし(Return Typeなし) | __construct.causationId=null __construct.actorContext=null __construct.schedule=null __construct.tenant=null __construct.telemetry=null |
__construct: throws InvalidArgumentException | Canonical RecordからID/TypeだけのActorを読む | not an enum (source-derived) | none (source-derived) |
BlackOps\Journal\JournalRecord |
JournalRecord::__construct(public JournalRecordId $recordId, public int $schemaVersion, public JournalEvent $event, DateTimeImmutable $occurredAt, public int $sequence, public JournalOperation $operation, public ?JournalAttempt $attempt, public JournalData $data,): なし | __construct: public JournalRecordId $recordId, public int $schemaVersion, public JournalEvent $event, DateTimeImmutable $occurredAt, public int $sequence, public JournalOperation $operation, public ?JournalAttempt $attempt, public JournalData $data, | なし(Return Typeなし) | なし(Defaultなし) | __construct: throws InvalidArgumentException | Canonical Storeで読み書きする | not an enum (source-derived) | none (source-derived) |
BlackOps\Journal\LifecycleState |
LifecycleState::isTerminal(): bool | なし(引数なし) | isTerminal: bool | なし(Defaultなし) | isTerminal: Source body: no direct throw or bounded helper error observed (non-exhaustive) | Status Viewで現在Stateを示す | string; Received=‘received’, Accepted=‘accepted’, Running=‘running’, Supervising=‘supervising’, RetryScheduled=‘retry_scheduled’, Finalizing=‘finalizing’, Completed=‘completed’, Rejected=‘rejected’, Failed=‘failed’, DeadLettered=‘dead_lettered’ | none (source-derived) |
BlackOps\Journal\ObservedJournalRecord |
ObservedJournalRecord::__construct(public JournalRecordId $recordId, public int $schemaVersion, public JournalEvent $event, DateTimeImmutable $occurredAt, public int $sequence, public JournalOperation $operation, public ?JournalAttempt $attempt, array $data,): なし | __construct: public JournalRecordId $recordId, public int $schemaVersion, public JournalEvent $event, DateTimeImmutable $occurredAt, public int $sequence, public JournalOperation $operation, public ?JournalAttempt $attempt, array $data, | なし(Return Typeなし) | なし(Defaultなし) | __construct: throws InvalidArgumentException | Observer/Log Sinkへ渡す | not an enum (source-derived) | none (source-derived) |
Namespace BlackOps\Logging
| Type | Signature | Parameter | Return | Default | Error / Safe Code (source-observed) | Typical Use | Enum backing / cases | Public constants (name / type / value) |
|---|---|---|---|---|---|---|---|---|
BlackOps\Logging\JsonlJournalObserver |
JsonlJournalObserver::__construct(mixed $stream, ?JsonlJournalRecordEncoder $encoder = null): なし JsonlJournalObserver::observe(ObservedJournalRecord $record): void JsonlJournalObserver::flush(): void |
__construct: mixed $stream, ?JsonlJournalRecordEncoder $encoder = null observe: ObservedJournalRecord $record |
observe: void flush: void |
__construct.encoder=null | __construct: throws InvalidArgumentException observe: throws JournalObservationFailed flush: throws JournalObservationFailed |
Local JSONL Sinkを構成する | not an enum (source-derived) | none (source-derived) |
BlackOps\Logging\JsonlJournalRecordEncoder |
JsonlJournalRecordEncoder::encode(ObservedJournalRecord $record): string | encode: ObservedJournalRecord $record | encode: string | なし(Defaultなし) | encode: Source body: no direct throw or bounded helper error observed (non-exhaustive) | File/Stream Observerで使う | not an enum (source-derived) | none (source-derived) |
Namespace BlackOps\Observability
| Type | Signature | Parameter | Return | Default | Error / Safe Code (source-observed) | Typical Use | Enum backing / cases | Public constants (name / type / value) |
|---|---|---|---|---|---|---|---|---|
BlackOps\Observability\CallbackOperationalHealthQuery |
CallbackOperationalHealthQuery::__construct(array $checks): なし CallbackOperationalHealthQuery::check(OperationalHealthKind $kind): OperationalHealthReport |
__construct: array $checks check: OperationalHealthKind $kind |
check: OperationalHealthReport | なし(Defaultなし) | __construct: throws InvalidArgumentException check: Source body: no direct throw or bounded helper error observed (non-exhaustive) |
ApplicationのBounded Checkを実行する | not an enum (source-derived) | none (source-derived) |
BlackOps\Observability\OperationalHealthCheck |
OperationalHealthCheck::__construct(public string $code, public OperationalHealthStatus $status,): なし OperationalHealthCheck::pass(string $code): self OperationalHealthCheck::fail(string $code): self OperationalHealthCheck::toArray(): array |
__construct: public string $code, public OperationalHealthStatus $status, pass: string $code fail: string $code |
pass: self fail: self toArray: array |
なし(Defaultなし) | __construct: throws InvalidArgumentException pass: Source body: no direct throw or bounded helper error observed (non-exhaustive) fail: Source body: no direct throw or bounded helper error observed (non-exhaustive) toArray: Source body: no direct throw or bounded helper error observed (non-exhaustive) |
Compiled Artifact、Database等のSafe Checkを登録する | not an enum (source-derived) | none (source-derived) |
BlackOps\Observability\OperationalHealthCheckProvider |
OperationalHealthCheckProvider::code(): string OperationalHealthCheckProvider::check(): bool |
なし(引数なし) | code: string check: bool |
なし(Defaultなし) | code: Source body: no direct throw or bounded helper error observed (non-exhaustive) check: Source body: no direct throw or bounded helper error observed (non-exhaustive) |
Compiled Artifact、Database等のSafe Checkを登録する | not an enum (source-derived) | none (source-derived) |
BlackOps\Observability\OperationalHealthKind |
marker/enum/value type | なし(引数なし) | なし(Return Typeなし) | なし(Defaultなし) | Source type: no public methods; runtime Error/Safe Code is non-exhaustive | Query、HTTP Handler、CLI Adapterへ渡す | string; Liveness=‘liveness’, Readiness=‘readiness’ | none (source-derived) |
BlackOps\Observability\OperationalHealthQuery |
OperationalHealthQuery::check(OperationalHealthKind $kind): OperationalHealthReport | check: OperationalHealthKind $kind | check: OperationalHealthReport | なし(Defaultなし) | check: Source body: no direct throw or bounded helper error observed (non-exhaustive) | Application-owned Checkを構成する | not an enum (source-derived) | none (source-derived) |
BlackOps\Observability\OperationalHealthQueryFactory |
OperationalHealthQueryFactory::requiredReadinessCheckCodes(): array OperationalHealthQueryFactory::fromCallbacks(array $checks): OperationalHealthQuery |
fromCallbacks: array $checks | requiredReadinessCheckCodes: array fromCallbacks: OperationalHealthQuery |
なし(Defaultなし) | requiredReadinessCheckCodes: Source body: no direct throw or bounded helper error observed (non-exhaustive) fromCallbacks: Source body: no direct throw or bounded helper error observed (non-exhaustive) |
requiredReadinessCheckCodes()を使ってCheckを登録する |
not an enum (source-derived) | none (source-derived) |
BlackOps\Observability\OperationalHealthReport |
OperationalHealthReport::__construct(public OperationalHealthKind $kind, public OperationalHealthStatus $status, public DateTimeImmutable $checkedAt, public array $checks,): なし OperationalHealthReport::toArray(): array OperationalHealthReport::isPassing(): bool |
__construct: public OperationalHealthKind $kind, public OperationalHealthStatus $status, public DateTimeImmutable $checkedAt, public array $checks, | toArray: array isPassing: bool |
なし(Defaultなし) | __construct: Source body: no direct throw or bounded helper error observed (non-exhaustive) toArray: Source body: no direct throw or bounded helper error observed (non-exhaustive) isPassing: Source body: no direct throw or bounded helper error observed (non-exhaustive) |
JSON ResponseまたはCLI Outputへ変換する | not an enum (source-derived) | SCHEMA_VERSION: int=1 |
BlackOps\Observability\OperationalHealthStatus |
marker/enum/value type | なし(引数なし) | なし(Return Typeなし) | なし(Defaultなし) | Source type: no public methods; runtime Error/Safe Code is non-exhaustive | HTTP StatusとCLI Exit Codeを決める | string; Pass=‘pass’, Fail=‘fail’ | none (source-derived) |
Namespace BlackOps\OperationData
| Type | Signature | Parameter | Return | Default | Error / Safe Code (source-observed) | Typical Use | Enum backing / cases | Public constants (name / type / value) |
|---|---|---|---|---|---|---|---|---|
BlackOps\OperationData\DenyOperationDataReadAuthorizer |
DenyOperationDataReadAuthorizer::decide(OperationDataReadAuthorizationRequest $request): OperationDataReadAuthorizationDecision | decide: OperationDataReadAuthorizationRequest $request | decide: OperationDataReadAuthorizationDecision | なし(Defaultなし) | decide: Source body: no direct throw or bounded helper error observed (non-exhaustive) | Binding未設定時のFail-closed | not an enum (source-derived) | none (source-derived) |
BlackOps\OperationData\Exception\OperationJournalQueryException |
OperationJournalQueryException::authorizationFailed(): self OperationJournalQueryException::storageFailed(): self OperationJournalQueryException::protectionFailed(): self OperationJournalQueryException::decodeFailed(): self OperationJournalQueryException::integrityFailed(): self OperationJournalQueryException::queryCode(): string |
なし(引数なし) | authorizationFailed: self storageFailed: self protectionFailed: self decodeFailed: self integrityFailed: self queryCode: string |
なし(Defaultなし) | authorizationFailed: Source body: no direct throw or bounded helper error observed (non-exhaustive) storageFailed: Source body: no direct throw or bounded helper error observed (non-exhaustive) protectionFailed: Source body: no direct throw or bounded helper error observed (non-exhaustive) decodeFailed: Source body: no direct throw or bounded helper error observed (non-exhaustive) integrityFailed: Source body: no direct throw or bounded helper error observed (non-exhaustive) queryCode: Source body: no direct throw or bounded helper error observed (non-exhaustive) |
Safe Stable Codeとして扱う | not an enum (source-derived) | AUTHORIZATION_FAILED: string=‘operation_journal.authorization_failed’, STORAGE_FAILED: string=‘operation_journal.storage_failed’, PROTECTION_FAILED: string=‘operation_journal.protection_failed’, DECODE_FAILED: string=‘operation_journal.decode_failed’, INTEGRITY_FAILED: string=‘operation_journal.integrity_failed’ |
BlackOps\OperationData\Exception\OperationOutcomeQueryException |
OperationOutcomeQueryException::authorizationFailed(): self OperationOutcomeQueryException::storageFailed(): self OperationOutcomeQueryException::protectionFailed(): self OperationOutcomeQueryException::decodeFailed(): self OperationOutcomeQueryException::integrityFailed(): self OperationOutcomeQueryException::queryCode(): string |
なし(引数なし) | authorizationFailed: self storageFailed: self protectionFailed: self decodeFailed: self integrityFailed: self queryCode: string |
なし(Defaultなし) | authorizationFailed: Source body: no direct throw or bounded helper error observed (non-exhaustive) storageFailed: Source body: no direct throw or bounded helper error observed (non-exhaustive) protectionFailed: Source body: no direct throw or bounded helper error observed (non-exhaustive) decodeFailed: Source body: no direct throw or bounded helper error observed (non-exhaustive) integrityFailed: Source body: no direct throw or bounded helper error observed (non-exhaustive) queryCode: Source body: no direct throw or bounded helper error observed (non-exhaustive) |
Safe Stable Codeとして扱う | not an enum (source-derived) | AUTHORIZATION_FAILED: string=‘operation_outcome.authorization_failed’, STORAGE_FAILED: string=‘operation_outcome.storage_failed’, PROTECTION_FAILED: string=‘operation_outcome.protection_failed’, DECODE_FAILED: string=‘operation_outcome.decode_failed’, INTEGRITY_FAILED: string=‘operation_outcome.integrity_failed’ |
BlackOps\OperationData\OperationDataPurpose |
OperationDataPurpose::fromString(string $code): self OperationDataPurpose::code(): string OperationDataPurpose::toString(): string |
fromString: string $code | fromString: self code: string toString: string |
なし(Defaultなし) | fromString: throws InvalidArgumentException code: Source body: no direct throw or bounded helper error observed (non-exhaustive) toString: Source body: no direct throw or bounded helper error observed (non-exhaustive) |
fromString()で正規化する |
not an enum (source-derived) | none (source-derived) |
BlackOps\OperationData\OperationDataReadAuthorizationDecision |
OperationDataReadAuthorizationDecision::allow(): self OperationDataReadAuthorizationDecision::deny(): self OperationDataReadAuthorizationDecision::isAllowed(): bool |
なし(引数なし) | allow: self deny: self isAllowed: bool |
なし(Defaultなし) | allow: Source body: no direct throw or bounded helper error observed (non-exhaustive) deny: Source body: no direct throw or bounded helper error observed (non-exhaustive) isAllowed: Source body: no direct throw or bounded helper error observed (non-exhaustive) |
allow()/deny()で作る |
not an enum (source-derived) | none (source-derived) |
BlackOps\OperationData\OperationDataReadAuthorizationRequest |
OperationDataReadAuthorizationRequest::__construct(private OperationDataResource $resource, private OperationDataPurpose $purpose, private OperationId $operationId, private string $operationType, private ?ActorRef $currentActor, private ?TenantRef $currentTenant, private ?ActorRef $originActor, private ?TenantRef $originTenant,): なし OperationDataReadAuthorizationRequest::resource(): OperationDataResource OperationDataReadAuthorizationRequest::purpose(): OperationDataPurpose OperationDataReadAuthorizationRequest::operationId(): OperationId OperationDataReadAuthorizationRequest::operationType(): string OperationDataReadAuthorizationRequest::currentActor(): ?ActorRef OperationDataReadAuthorizationRequest::currentTenant(): ?TenantRef OperationDataReadAuthorizationRequest::originActor(): ?ActorRef OperationDataReadAuthorizationRequest::originTenant(): ?TenantRef |
__construct: private OperationDataResource $resource, private OperationDataPurpose $purpose, private OperationId $operationId, private string $operationType, private ?ActorRef $currentActor, private ?TenantRef $currentTenant, private ?ActorRef $originActor, private ?TenantRef $originTenant, | resource: OperationDataResource purpose: OperationDataPurpose operationId: OperationId operationType: string currentActor: ?ActorRef currentTenant: ?TenantRef originActor: ?ActorRef originTenant: ?TenantRef |
なし(Defaultなし) | __construct: throws InvalidArgumentException resource: Source body: no direct throw or bounded helper error observed (non-exhaustive) purpose: Source body: no direct throw or bounded helper error observed (non-exhaustive) operationId: Source body: no direct throw or bounded helper error observed (non-exhaustive) operationType: Source body: no direct throw or bounded helper error observed (non-exhaustive) currentActor: Source body: no direct throw or bounded helper error observed (non-exhaustive) currentTenant: Source body: no direct throw or bounded helper error observed (non-exhaustive) originActor: Source body: no direct throw or bounded helper error observed (non-exhaustive) originTenant: Source body: no direct throw or bounded helper error observed (non-exhaustive) |
OperationDataReadAuthorizer::decide()へ渡す |
not an enum (source-derived) | none (source-derived) |
BlackOps\OperationData\OperationDataReadAuthorizer |
OperationDataReadAuthorizer::decide(OperationDataReadAuthorizationRequest $request): OperationDataReadAuthorizationDecision | decide: OperationDataReadAuthorizationRequest $request | decide: OperationDataReadAuthorizationDecision | なし(Defaultなし) | decide: Source body: no direct throw or bounded helper error observed (non-exhaustive) | Default-deny BindingをApplicationで置き換える | not an enum (source-derived) | none (source-derived) |
BlackOps\OperationData\OperationDataResource |
marker/enum/value type | なし(引数なし) | なし(Return Typeなし) | なし(Defaultなし) | Source type: no public methods; runtime Error/Safe Code is non-exhaustive | Authorizer Requestへ渡す | string; CanonicalJournal=‘canonical_journal’, Outcome=‘outcome’ | none (source-derived) |
BlackOps\OperationData\OperationJournalFound |
OperationJournalFound::__construct(private array $records,): なし OperationJournalFound::records(): array |
__construct: private array $records, | records: array | なし(Defaultなし) | __construct: Source body: no direct throw or bounded helper error observed (non-exhaustive) records: Source body: no direct throw or bounded helper error observed (non-exhaustive) |
OperationJournalQuery::records()の結果 |
not an enum (source-derived) | none (source-derived) |
BlackOps\OperationData\OperationJournalQuery |
OperationJournalQuery::records(OperationId $operationId, ?ActorRef $currentActor, ?TenantRef $currentTenant, OperationDataPurpose $purpose,): OperationJournalReadResult | records: OperationId $operationId, ?ActorRef $currentActor, ?TenantRef $currentTenant, OperationDataPurpose $purpose, | records: OperationJournalReadResult | なし(Defaultなし) | records: Source body: no direct throw or bounded helper error observed (non-exhaustive) | ApplicationのDefault-deny Journal入口へ注入する | not an enum (source-derived) | none (source-derived) |
BlackOps\OperationData\OperationJournalReadResult |
marker/interface/value type | なし(引数なし) | なし(Return Typeなし) | なし(Defaultなし) | Source type: no public methods; runtime Error/Safe Code is non-exhaustive | Query結果を分岐する | not an enum (source-derived) | none (source-derived) |
BlackOps\OperationData\OperationJournalUnavailable |
marker/class/value type | なし(引数なし) | なし(Return Typeなし) | なし(Defaultなし) | Source type: no public methods; runtime Error/Safe Code is non-exhaustive | OperationJournalQuery::records()の結果 |
not an enum (source-derived) | none (source-derived) |
BlackOps\OperationData\OperationOutcomeFound |
OperationOutcomeFound::__construct(private OutcomeRecord $record,): なし OperationOutcomeFound::record(): OutcomeRecord |
__construct: private OutcomeRecord $record, | record: OutcomeRecord | なし(Defaultなし) | __construct: Source body: no direct throw or bounded helper error observed (non-exhaustive) record: Source body: no direct throw or bounded helper error observed (non-exhaustive) |
OperationOutcomeQuery::find()の結果を分岐する |
not an enum (source-derived) | none (source-derived) |
BlackOps\OperationData\OperationOutcomeQuery |
OperationOutcomeQuery::find(OperationId $operationId, ?ActorRef $currentActor, ?TenantRef $currentTenant, OperationDataPurpose $purpose,): OperationOutcomeReadResult | find: OperationId $operationId, ?ActorRef $currentActor, ?TenantRef $currentTenant, OperationDataPurpose $purpose, | find: OperationOutcomeReadResult | なし(Defaultなし) | find: Source body: no direct throw or bounded helper error observed (non-exhaustive) | ApplicationのDefault-deny Result入口へ注入する | not an enum (source-derived) | none (source-derived) |
BlackOps\OperationData\OperationOutcomeReadResult |
marker/interface/value type | なし(引数なし) | なし(Return Typeなし) | なし(Defaultなし) | Source type: no public methods; runtime Error/Safe Code is non-exhaustive | Query結果を分岐する | not an enum (source-derived) | none (source-derived) |
BlackOps\OperationData\OperationOutcomeUnavailable |
marker/class/value type | なし(引数なし) | なし(Return Typeなし) | なし(Defaultなし) | Source type: no public methods; runtime Error/Safe Code is non-exhaustive | OperationOutcomeQuery::find()の結果 |
not an enum (source-derived) | none (source-derived) |
Namespace BlackOps\Outbox
| Type | Signature | Parameter | Return | Default | Error / Safe Code (source-observed) | Typical Use | Enum backing / cases | Public constants (name / type / value) |
|---|---|---|---|---|---|---|---|---|
BlackOps\Outbox\OutboxRegistration |
OutboxRegistration::__construct(private OutboxRecordId $recordId, private OperationId $operationId, DateTimeImmutable $recordedAt,): なし OutboxRegistration::recordId(): OutboxRecordId OutboxRegistration::operationId(): OperationId OutboxRegistration::recordedAt(): DateTimeImmutable |
__construct: private OutboxRecordId $recordId, private OperationId $operationId, DateTimeImmutable $recordedAt, | recordId: OutboxRecordId operationId: OperationId recordedAt: DateTimeImmutable |
なし(Defaultなし) | __construct: Source body: no direct throw or bounded helper error observed (non-exhaustive) recordId: Source body: no direct throw or bounded helper error observed (non-exhaustive) operationId: Source body: no direct throw or bounded helper error observed (non-exhaustive) recordedAt: Source body: no direct throw or bounded helper error observed (non-exhaustive) |
登録結果を監査・相関する | not an enum (source-derived) | none (source-derived) |
BlackOps\Outbox\TransactionalOutbox |
TransactionalOutbox::register(Operation $definition, OperationValue $value, ?DateTimeImmutable $availableAt = null, ?ActorRef $executionActor = null,): OutboxRegistration | register: Operation $definition, OperationValue $value, ?DateTimeImmutable $availableAt = null, ?ActorRef $executionActor = null, | register: OutboxRegistration | register.availableAt=null register.executionActor=null |
register: Source body: no direct throw or bounded helper error observed (non-exhaustive) | 既存Integration互換用。新規Application CoordinationはBlackOps\Execution\OperationsをConstructor Injectionする |
not an enum (source-derived) | none (source-derived) |
Namespace BlackOps\Outcome
| Type | Signature | Parameter | Return | Default | Error / Safe Code (source-observed) | Typical Use | Enum backing / cases | Public constants (name / type / value) |
|---|---|---|---|---|---|---|---|---|
BlackOps\Outcome\Exception\OutcomeStoreException |
marker/class/value type | なし(引数なし) | なし(Return Typeなし) | なし(Defaultなし) | Source type: no public methods; runtime Error/Safe Code is non-exhaustive | Store境界Errorとして扱う | not an enum (source-derived) | none (source-derived) |
BlackOps\Outcome\OutcomeRecord |
OutcomeRecord::__construct(private OperationId $operationId, private Outcome $outcome, DateTimeImmutable $completedAt,): なし OutcomeRecord::operationId(): OperationId OutcomeRecord::outcome(): Outcome OutcomeRecord::completedAt(): DateTimeImmutable |
__construct: private OperationId $operationId, private Outcome $outcome, DateTimeImmutable $completedAt, | operationId: OperationId outcome: Outcome completedAt: DateTimeImmutable |
なし(Defaultなし) | __construct: Source body: no direct throw or bounded helper error observed (non-exhaustive) operationId: Source body: no direct throw or bounded helper error observed (non-exhaustive) outcome: Source body: no direct throw or bounded helper error observed (non-exhaustive) completedAt: Source body: no direct throw or bounded helper error observed (non-exhaustive) |
OperationOutcomeFound::record()から読む |
not an enum (source-derived) | none (source-derived) |
BlackOps\Outcome\OutcomeStore |
marker/interface/value type | なし(引数なし) | なし(Return Typeなし) | なし(Defaultなし) | Source type: no public methods; runtime Error/Safe Code is non-exhaustive | 一体型Store Adapterで実装する | not an enum (source-derived) | none (source-derived) |
BlackOps\Outcome\OutcomeWriter |
OutcomeWriter::save(OutcomeRecord $record): void | save: OutcomeRecord $record | save: void | なし(Defaultなし) | save: Source body: no direct throw or bounded helper error observed (non-exhaustive) | Runtime/Store Adapterで実装する | not an enum (source-derived) | none (source-derived) |
Namespace BlackOps\Scheduling
| Type | Signature | Parameter | Return | Default | Error / Safe Code (source-observed) | Typical Use | Enum backing / cases | Public constants (name / type / value) |
|---|---|---|---|---|---|---|---|---|
BlackOps\Scheduling\ScheduledActorProvider |
ScheduledActorProvider::actor(ScheduleContext $context): ?ActorRef | actor: ScheduleContext $context | actor: ?ActorRef | なし(Defaultなし) | actor: Source body: no direct throw or bounded helper error observed (non-exhaustive) | Application Service ProviderでBindingする | not an enum (source-derived) | none (source-derived) |
BlackOps\Scheduling\ScheduledTenantProvider |
ScheduledTenantProvider::tenant(ScheduleContext $context): ?TenantRef | tenant: ScheduleContext $context | tenant: ?TenantRef | なし(Defaultなし) | tenant: Source body: no direct throw or bounded helper error observed (non-exhaustive) | Schedule Contextから解決する | not an enum (source-derived) | none (source-derived) |
Namespace BlackOps\Status
| Type | Signature | Parameter | Return | Default | Error / Safe Code (source-observed) | Typical Use | Enum backing / cases | Public constants (name / type / value) |
|---|---|---|---|---|---|---|---|---|
BlackOps\Status\DenyOperationStatusAuthorizer |
DenyOperationStatusAuthorizer::decide(OperationStatusAuthorizationRequest $request): OperationStatusAuthorizationDecision | decide: OperationStatusAuthorizationRequest $request | decide: OperationStatusAuthorizationDecision | なし(Defaultなし) | decide: Source body: no direct throw or bounded helper error observed (non-exhaustive) | Status Detailを常に拒否する | not an enum (source-derived) | none (source-derived) |
BlackOps\Status\Exception\OperationStatusQueryException |
OperationStatusQueryException::authorizationFailed(): self OperationStatusQueryException::storageFailed(): self OperationStatusQueryException::decodeFailed(): self OperationStatusQueryException::integrityFailed(): self OperationStatusQueryException::queryCode(): string |
なし(引数なし) | authorizationFailed: self storageFailed: self decodeFailed: self integrityFailed: self queryCode: string |
なし(Defaultなし) | authorizationFailed: Source body: no direct throw or bounded helper error observed (non-exhaustive) storageFailed: Source body: no direct throw or bounded helper error observed (non-exhaustive) decodeFailed: Source body: no direct throw or bounded helper error observed (non-exhaustive) integrityFailed: Source body: no direct throw or bounded helper error observed (non-exhaustive) queryCode: Source body: no direct throw or bounded helper error observed (non-exhaustive) |
Adapter境界の500として扱う | not an enum (source-derived) | AUTHORIZATION_FAILED: string=‘status_query.authorization_failed’, STORAGE_FAILED: string=‘status_query.storage_failed’, DECODE_FAILED: string=‘status_query.decode_failed’, INTEGRITY_FAILED: string=‘status_query.integrity_failed’ |
BlackOps\Status\OperationStatus |
OperationStatus::accepted(OperationId $operationId, string $operationType): self OperationStatus::running(OperationId $operationId, string $operationType, int $attempt): self OperationStatus::retryScheduled(OperationId $operationId, string $operationType, int $attempt, DateTimeImmutable $retryAt,): self OperationStatus::completed(OperationId $operationId, string $operationType, Outcome $outcome = new EmptyOutcome(),): self OperationStatus::rejected(OperationId $operationId, string $operationType, string $category, string $code,): self OperationStatus::failed(OperationId $operationId, string $operationType): self OperationStatus::deadLettered(OperationId $operationId, string $operationType): self OperationStatus::operationId(): OperationId OperationStatus::operationType(): string OperationStatus::state(): OperationStatusState OperationStatus::attempt(): ?int OperationStatus::retryAt(): ?DateTimeImmutable OperationStatus::outcome(): ?Outcome OperationStatus::error(): ?OperationStatusError |
accepted: OperationId $operationId, string $operationType running: OperationId $operationId, string $operationType, int $attempt retryScheduled: OperationId $operationId, string $operationType, int $attempt, DateTimeImmutable $retryAt, completed: OperationId $operationId, string $operationType, Outcome $outcome = new EmptyOutcome(), rejected: OperationId $operationId, string $operationType, string $category, string $code, failed: OperationId $operationId, string $operationType deadLettered: OperationId $operationId, string $operationType |
accepted: self running: self retryScheduled: self completed: self rejected: self failed: self deadLettered: self operationId: OperationId operationType: string state: OperationStatusState attempt: ?int retryAt: ?DateTimeImmutable outcome: ?Outcome error: ?OperationStatusError |
completed.outcome=new EmptyOutcome() | accepted: Source body: no direct throw or bounded helper error observed (non-exhaustive) running: Source body: no direct throw or bounded helper error observed (non-exhaustive) retryScheduled: Source body: no direct throw or bounded helper error observed (non-exhaustive) completed: Source body: no direct throw or bounded helper error observed (non-exhaustive) rejected: Source body: no direct throw or bounded helper error observed (non-exhaustive) failed: Source body: no direct throw or bounded helper error observed (non-exhaustive) deadLettered: Source body: no direct throw or bounded helper error observed (non-exhaustive) operationId: Source body: no direct throw or bounded helper error observed (non-exhaustive) operationType: Source body: no direct throw or bounded helper error observed (non-exhaustive) state: Source body: no direct throw or bounded helper error observed (non-exhaustive) attempt: Source body: no direct throw or bounded helper error observed (non-exhaustive) retryAt: Source body: no direct throw or bounded helper error observed (non-exhaustive) outcome: Source body: no direct throw or bounded helper error observed (non-exhaustive) error: Source body: no direct throw or bounded helper error observed (non-exhaustive) |
ApplicationのStatus Adapterへ注入する | not an enum (source-derived) | none (source-derived) |
BlackOps\Status\OperationStatusAuthorizationDecision |
OperationStatusAuthorizationDecision::allow(): self OperationStatusAuthorizationDecision::deny(): self OperationStatusAuthorizationDecision::isAllowed(): bool |
なし(引数なし) | allow: self deny: self isAllowed: bool |
なし(Defaultなし) | allow: Source body: no direct throw or bounded helper error observed (non-exhaustive) deny: Source body: no direct throw or bounded helper error observed (non-exhaustive) isAllowed: Source body: no direct throw or bounded helper error observed (non-exhaustive) |
Authorizerから判断を返す | not an enum (source-derived) | none (source-derived) |
BlackOps\Status\OperationStatusAuthorizationRequest |
OperationStatusAuthorizationRequest::__construct(private OperationId $operationId, private string $operationType, private ?ActorRef $currentActor, private ?ActorRef $originActor, private ?TenantRef $currentTenant = null, private ?TenantRef $originTenant = null,): なし OperationStatusAuthorizationRequest::operationId(): OperationId OperationStatusAuthorizationRequest::operationType(): string OperationStatusAuthorizationRequest::currentActor(): ?ActorRef OperationStatusAuthorizationRequest::originActor(): ?ActorRef OperationStatusAuthorizationRequest::currentTenant(): ?TenantRef OperationStatusAuthorizationRequest::originTenant(): ?TenantRef |
__construct: private OperationId $operationId, private string $operationType, private ?ActorRef $currentActor, private ?ActorRef $originActor, private ?TenantRef $currentTenant = null, private ?TenantRef $originTenant = null, | operationId: OperationId operationType: string currentActor: ?ActorRef originActor: ?ActorRef currentTenant: ?TenantRef originTenant: ?TenantRef |
__construct.currentTenant=null __construct.originTenant=null |
__construct: throws InvalidArgumentException operationId: Source body: no direct throw or bounded helper error observed (non-exhaustive) operationType: Source body: no direct throw or bounded helper error observed (non-exhaustive) currentActor: Source body: no direct throw or bounded helper error observed (non-exhaustive) originActor: Source body: no direct throw or bounded helper error observed (non-exhaustive) currentTenant: Source body: no direct throw or bounded helper error observed (non-exhaustive) originTenant: Source body: no direct throw or bounded helper error observed (non-exhaustive) |
PayloadやOutcomeを読まずPolicy評価する | not an enum (source-derived) | none (source-derived) |
BlackOps\Status\OperationStatusAuthorizer |
OperationStatusAuthorizer::decide(OperationStatusAuthorizationRequest $request): OperationStatusAuthorizationDecision | decide: OperationStatusAuthorizationRequest $request | decide: OperationStatusAuthorizationDecision | なし(Defaultなし) | decide: Source body: no direct throw or bounded helper error observed (non-exhaustive) | Service ProviderからApplication PolicyをBindingする | not an enum (source-derived) | none (source-derived) |
BlackOps\Status\OperationStatusError |
OperationStatusError::rejected(string $category, string $code): self OperationStatusError::failed(): self OperationStatusError::deadLettered(): self OperationStatusError::category(): ?string OperationStatusError::code(): string |
rejected: string $category, string $code | rejected: self failed: self deadLettered: self category: ?string code: string |
なし(Defaultなし) | rejected: Source body: no direct throw or bounded helper error observed (non-exhaustive) failed: Source body: no direct throw or bounded helper error observed (non-exhaustive) deadLettered: Source body: no direct throw or bounded helper error observed (non-exhaustive) category: Source body: no direct throw or bounded helper error observed (non-exhaustive) code: Source body: no direct throw or bounded helper error observed (non-exhaustive) |
Category/安定Codeだけを返す | not an enum (source-derived) | OPERATION_FAILED: string=‘operation_failed’, OPERATION_DEAD_LETTERED: string=‘operation_dead_lettered’ |
BlackOps\Status\OperationStatusExpired |
marker/class/value type | なし(引数なし) | なし(Return Typeなし) | なし(Defaultなし) | Source type: no public methods; runtime Error/Safe Code is non-exhaustive | Safe 410へ変換する | not an enum (source-derived) | none (source-derived) |
BlackOps\Status\OperationStatusFound |
OperationStatusFound::__construct(private OperationStatus $status,): なし OperationStatusFound::status(): OperationStatus |
__construct: private OperationStatus $status, | status: OperationStatus | なし(Defaultなし) | __construct: Source body: no direct throw or bounded helper error observed (non-exhaustive) status: Source body: no direct throw or bounded helper error observed (non-exhaustive) |
status()から7 Stateを読む |
not an enum (source-derived) | none (source-derived) |
BlackOps\Status\OperationStatusQuery |
OperationStatusQuery::find(OperationId $operationId, ?ActorRef $currentActor = null): OperationStatusResult | find: OperationId $operationId, ?ActorRef $currentActor = null | find: OperationStatusResult | find.currentActor=null | find: Source body: no direct throw or bounded helper error observed (non-exhaustive) | ApplicationのStatus Adapterへ注入する | not an enum (source-derived) | none (source-derived) |
BlackOps\Status\OperationStatusResult |
marker/interface/value type | なし(引数なし) | なし(Return Typeなし) | なし(Defaultなし) | Source type: no public methods; runtime Error/Safe Code is non-exhaustive | Query Resultを分岐する | not an enum (source-derived) | none (source-derived) |
BlackOps\Status\OperationStatusState |
OperationStatusState::isTerminal(): bool | なし(引数なし) | isTerminal: bool | なし(Defaultなし) | isTerminal: Source body: no direct throw or bounded helper error observed (non-exhaustive) | Status Resultを分岐する | string; Accepted=‘accepted’, Running=‘running’, RetryScheduled=‘retry_scheduled’, Completed=‘completed’, Rejected=‘rejected’, Failed=‘failed’, DeadLettered=‘dead_lettered’ | none (source-derived) |
BlackOps\Status\OperationStatusUnavailable |
marker/class/value type | なし(引数なし) | なし(Return Typeなし) | なし(Defaultなし) | Source type: no public methods; runtime Error/Safe Code is non-exhaustive | Safe 404へ変換する | not an enum (source-derived) | none (source-derived) |
BlackOps\Status\TenantAwareOperationStatusQuery |
TenantAwareOperationStatusQuery::findForTenant(OperationId $operationId, ?ActorRef $currentActor = null, ?TenantRef $currentTenant = null,): OperationStatusResult | findForTenant: OperationId $operationId, ?ActorRef $currentActor = null, ?TenantRef $currentTenant = null, | findForTenant: OperationStatusResult | findForTenant.currentActor=null findForTenant.currentTenant=null |
findForTenant: Source body: no direct throw or bounded helper error observed (non-exhaustive) | GET /operations/{operationId}の内部Source |
not an enum (source-derived) | none (source-derived) |
Namespace BlackOps\StorageProtection
| Type | Signature | Parameter | Return | Default | Error / Safe Code (source-observed) | Typical Use | Enum backing / cases | Public constants (name / type / value) |
|---|---|---|---|---|---|---|---|---|
BlackOps\StorageProtection\StorageKey |
StorageKey::__construct(string $id, #[\SensitiveParameter] string $material): なし StorageKey::id(): string StorageKey::material(): string StorageKey::__debugInfo(): array |
__construct: string $id, #[\SensitiveParameter] string $material | id: string material: string __debugInfo: array |
なし(Defaultなし) | __construct: throws InvalidArgumentException id: Source body: no direct throw or bounded helper error observed (non-exhaustive) material: Source body: no direct throw or bounded helper error observed (non-exhaustive) __debugInfo: Source body: no direct throw or bounded helper error observed (non-exhaustive) |
ProviderからRuntimeへ渡す(Materialは出力しない) | not an enum (source-derived) | none (source-derived) |
BlackOps\StorageProtection\StorageKeyProvider |
StorageKeyProvider::activeKey(?TenantRef $tenant, StoragePurpose $purpose): StorageKey StorageKeyProvider::key(string $keyId, ?TenantRef $tenant, StoragePurpose $purpose): StorageKey |
activeKey: ?TenantRef $tenant, StoragePurpose $purpose key: string $keyId, ?TenantRef $tenant, StoragePurpose $purpose |
activeKey: StorageKey key: StorageKey |
なし(Defaultなし) | activeKey: Source body: no direct throw or bounded helper error observed (non-exhaustive) key: Source body: no direct throw or bounded helper error observed (non-exhaustive) |
activeKey()/key()を実装する |
not an enum (source-derived) | none (source-derived) |
BlackOps\StorageProtection\StorageProtectionException |
StorageProtectionException::failure(): self | なし(引数なし) | failure: self | なし(Defaultなし) | failure: Source body: no direct throw or bounded helper error observed (non-exhaustive) | Key/Ciphertext/AAD Detailを隠す | not an enum (source-derived) | none (source-derived) |
BlackOps\StorageProtection\StoragePurpose |
marker/enum/value type | なし(引数なし) | なし(Return Typeなし) | なし(Defaultなし) | Source type: no public methods; runtime Error/Safe Code is non-exhaustive | AADとKey選択へ渡す | string; JournalRecord=‘journal_record’, DeferredPayload=‘deferred_payload’, DeferredContext=‘deferred_context’, OutcomePayload=‘outcome_payload’, OutboxPayload=‘outbox_payload’, OutboxContext=‘outbox_context’, DeadLetterReason=‘dead_letter_reason’, IdempotencyResponse=‘idempotency_response’, IdempotencyResult=‘idempotency_result’ | none (source-derived) |
Namespace BlackOps\Telemetry
| Type | Signature | Parameter | Return | Default | Error / Safe Code (source-observed) | Typical Use | Enum backing / cases | Public constants (name / type / value) |
|---|---|---|---|---|---|---|---|---|
BlackOps\Telemetry\TelemetryContext |
TelemetryContext::__construct(string $traceparent, ?string $tracestate = null): なし TelemetryContext::traceparent(): string TelemetryContext::tracestate(): ?string |
__construct: string $traceparent, ?string $tracestate = null | traceparent: string tracestate: ?string |
__construct.tracestate=null | __construct: throws InvalidArgumentException; propagates InvalidArgumentException via validateState() traceparent: Source body: no direct throw or bounded helper error observed (non-exhaustive) tracestate: Source body: no direct throw or bounded helper error observed (non-exhaustive) |
HTTP、Deferred、Outbox、Worker Retryへ安全に伝播する | not an enum (source-derived) | none (source-derived) |
BlackOps\Telemetry\TelemetryCorrelation |
TelemetryCorrelation::__construct(string $traceId, string $spanId, bool $sampled): なし TelemetryCorrelation::fromContext(?TelemetryContext $context): ?self |
__construct: string $traceId, string $spanId, bool $sampled fromContext: ?TelemetryContext $context |
fromContext: ?self | なし(Defaultなし) | __construct: throws InvalidArgumentException fromContext: Source body: no direct throw or bounded helper error observed (non-exhaustive) |
Structured JSONLのtelemetryへSafe Fieldだけを渡す |
not an enum (source-derived) | none (source-derived) |
- 通常のFeatureは
Operation、OperationValue、Outcome、必要なAttributeだけを使います。 - Deferred Result入口はStatus Resource、または
OperationOutcomeQueryへTenant/Actor/Purposeを渡します。 - Repository Bindingは
ServiceProviderとServiceRegistryを使います。 - Transport、Journal、RetentionのPortはAdapterを実装するときだけ使います。
- 内部実装Namespaceや
#[PublicApi]のない具象実装をApplicationのContractにしません。
現行機能と未提供SurfaceはReleasesを確認してください。
日常のBuild、Operation実行、Worker、Relay、DiagnosticsをTask順で確認する場合はBlackOps CLIへ進みます。Console入口の実行とExit契約はConsoleCommandを参照してください。
Tenant and Protected Storage
このNamespace群の正確な契約は、後段のCanonical namespace indexでSignature、Parameter、Return、Default、Error、Enum、Public constantの順に照合します。
Scheduled Operation API
このNamespace群の正確な契約は、後段のCanonical namespace indexでSignature、Parameter、Return、Default、Error、Enum、Public constantの順に照合します。
ScheduledByは公開済みExperimental Stable 1.2.1のSurfaceです。Value、CLI、Provider、Occurrenceの手順はScheduled Operationを参照してください。