chore: crush git history - reborn from consolidation on 2026-03-10

This commit is contained in:
John Dvorak
2026-03-10 00:00:00 -07:00
commit d278c4b105
313 changed files with 87549 additions and 0 deletions
+42
View File
@@ -0,0 +1,42 @@
import type { RouteContract } from '../types.js'
/**
* Plugin Contract Types
* Types for plugin contract system and composed contracts.
*/
export interface PluginContractSpec {
/** Route path prefix pattern. Supports wildcards: '/api/**' matches '/api/users' */
readonly appliesTo: string
/** Contracts organized by hook phase */
readonly hooks: {
readonly [phase: string]: {
/** Preconditions that must hold before this phase executes */
readonly requires?: readonly string[]
/** Postconditions that must hold after this phase executes */
readonly ensures?: readonly string[]
}
}
/** Plugin metadata for diagnostics */
readonly meta?: {
readonly name?: string
readonly version?: string
readonly description?: string
}
/**
* Lazy extension references — Apophis extensions this plugin needs.
* Extensions are resolved at test time from the extension registry.
* If a required extension is missing, the plugin's contracts are skipped with a warning.
*/
readonly extensions?: ReadonlyArray<{
readonly name: string
readonly required?: boolean
}>
}
export interface ComposedContract {
readonly route: RouteContract
phases: {
[phase: string]: {
requires: Array<{ formula: string; source: 'route' | `plugin:${string}` }>
ensures: Array<{ formula: string; source: 'route' | `plugin:${string}` }>
}
}
}