Implement capability generics, checked package specializations and CRUD scaffolding
Add kinded parameters, capability bounds, Self, aliases and closed application identities. Check generic implementations universally and build candidate-specific codecs and descriptors from immutable schemas. Preserve lexical aliases and exact dispatch identities in package and host bindings. Add an imperative CRUD+index domain scaffold with explicit soft-deletion semantics, source/codegen regression coverage, installed CLI tests and an authoring guide. Existing Web Studio opaque props and class-level create-menu migration are separate from the implemented language core.
This commit is contained in:
@@ -12,7 +12,7 @@ import {
|
||||
type EvolutionReview,
|
||||
type WorkspaceRevision,
|
||||
} from "../capability-model/index.js";
|
||||
import { bindingSchema } from "../bindings/index.js";
|
||||
import { bindingSchema, specializeBindingSchema } from "../bindings/index.js";
|
||||
import { snapshotCommit, checkoutCommit, buildCheckedPackage } from "./checked-build.js";
|
||||
const execFile = promisify(execFileCallback);
|
||||
const bytesDigest = (value: Uint8Array) => `sha256:${createHash("sha256").update(value).digest("hex")}`;
|
||||
@@ -219,7 +219,12 @@ export const checkWorkspaceCandidate = async (options: {
|
||||
resolveResource,
|
||||
});
|
||||
const schema = path.join(temporary, "bindings.json");
|
||||
await fs.writeFile(schema, JSON.stringify(bindingSchema(candidate)));
|
||||
await fs.writeFile(
|
||||
schema,
|
||||
JSON.stringify(
|
||||
specializeBindingSchema(bindingSchema(candidate), compiled.workspace, candidate.resource.revision.revisionId),
|
||||
),
|
||||
);
|
||||
const artifactPath = await buildCheckedPackage(
|
||||
resource.directory,
|
||||
schema,
|
||||
|
||||
Reference in New Issue
Block a user