Add exact runtime conformance lookup and agent-visible language limits
Add authorized exact-contract lookup, revision-fenced views, generated typed package/browser descriptors, and lifecycle-safe React discovery. Preserve closed generic contracts without competing-conformance policies or new authority grants. Document supported workarounds and privacy boundaries for agent feedback. Publish matching protocol/SDK exports and update scaffold/starter pins; leave the deployed template unchanged.
This commit is contained in:
Vendored
+12
@@ -25,6 +25,17 @@ export type QxContextLifecycle<C> = {
|
||||
signal?: AbortSignal;
|
||||
openSession?: () => Promise<QxSession<C>>;
|
||||
};
|
||||
declare const contractView: unique symbol;
|
||||
/** Generated exact closed contract. A descriptor is type evidence, never authority. */
|
||||
export type QxInterfaceContract<View> = {
|
||||
readonly interfaceRevisionId: string;
|
||||
readonly operations: Record<string, QxOperationSpec>;
|
||||
readonly [contractView]: (value: View) => View;
|
||||
};
|
||||
export declare const defineQxInterfaceContract: <View>(interfaceRevisionId: string, operations: Record<string, QxOperationSpec>) => QxInterfaceContract<View>;
|
||||
export type QxConformer = {
|
||||
tryConform<View>(object: import("./references.js").QxObjectRef, contract: QxInterfaceContract<View>): Promise<View | undefined>;
|
||||
};
|
||||
export declare const qxDerived: <C, O>(get: QxHandler<C, O>) => QxDerived<C, O>;
|
||||
/** Versioned binding ABI. This mirrors the language-neutral value IR. */
|
||||
export type QxValueType = {
|
||||
@@ -63,6 +74,7 @@ export type QxPortSpec = {
|
||||
} | {
|
||||
kind: "interface";
|
||||
id: string;
|
||||
interfaceRevisionId: string;
|
||||
operations: Record<string, QxOperationSpec>;
|
||||
} | {
|
||||
kind: "constructor";
|
||||
|
||||
Reference in New Issue
Block a user