feat(01-02): add optional plugin services and HasPlugin
- App-scoped typed Publish/Lookup with duplicate-provider errors - Set plugin IDs before Register so HasPlugin sees the full set - Greeter uses pact.OptionalMessage without importing optional
This commit is contained in:
@@ -18,7 +18,16 @@ type HasConfig interface {
|
||||
ConfigFS() fs.FS
|
||||
}
|
||||
|
||||
// Reserved KERN-03 capability names, declared when their first consumers exist:
|
||||
// OptionalMessage is a service an optional plugin may publish so other
|
||||
// plugins can integrate without importing that plugin's package.
|
||||
type OptionalMessage interface {
|
||||
Message() string
|
||||
}
|
||||
|
||||
// Future KERN-03 capability families are type-asserted when their first
|
||||
// consumer packages exist. Method payloads are not declared here so pact
|
||||
// does not import surf, lagoon, festival, or other packages that Phase 1
|
||||
// does not yet ship:
|
||||
//
|
||||
// HasModels
|
||||
// HasMigrations
|
||||
@@ -32,3 +41,6 @@ type HasConfig interface {
|
||||
// HasSchedule
|
||||
// HasMailTemplates
|
||||
// HasLang
|
||||
//
|
||||
// Phase 1 type-asserts only HasConfig (party, before Register) and
|
||||
// HasCommands (generated app main, after Boot).
|
||||
|
||||
Reference in New Issue
Block a user