@cesteral/contract-schema
Advanced tools
@@ -32,2 +32,3 @@ import { z } from "zod"; | ||
| requiresSimulation: true; | ||
| supportsDryRun: true; | ||
| } | ||
@@ -34,0 +35,0 @@ export interface CesteralEffectWriteToolAnnotations extends CesteralWriteToolAnnotationsBase { |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"annotations.d.ts","sourceRoot":"","sources":["../src/annotations.ts"],"names":[],"mappings":"AA4BA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAE5D,OAAO,EACL,yBAAyB,EAEzB,KAAK,sBAAsB,EAC5B,MAAM,sBAAsB,CAAC;AAK9B,OAAO,EAAE,yBAAyB,EAAE,KAAK,sBAAsB,EAAE,CAAC;AAClE,YAAY,EAAE,mBAAmB,EAAE,CAAC;AAcpC,MAAM,MAAM,uBAAuB,GAAG,4BAA4B,GAAG,2BAA2B,CAAC;AAGjG,UAAU,2BAA2B;IAEnC,QAAQ,EAAE,MAAM,CAAC;IAQjB,oBAAoB,EAAE,MAAM,CAAC;IAG7B,gBAAgB,EAAE,MAAM,CAAC;IAMzB,WAAW,EAAE,mBAAmB,EAAE,CAAC;IAGnC,YAAY,EAAE,MAAM,EAAE,CAAC;IAMvB,aAAa,EAAE,MAAM,CAAC;IAOtB,UAAU,EAAE,MAAM,CAAC;CACpB;AAGD,UAAU,gCAAiC,SAAQ,2BAA2B;IAC5E,IAAI,EAAE,OAAO,CAAC;IASd,UAAU,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAGhC,SAAS,EAAE,sBAAsB,EAAE,CAAC;IAQpC,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAGhC,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAOD,MAAM,WAAW,kCAAmC,SAAQ,gCAAgC;IAC1F,UAAU,EAAE,QAAQ,CAAC;IAOrB,WAAW,EAAE;QACX,QAAQ,EAAE,MAAM,CAAC;QAEjB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KAChC,CAAC;IAGF,2BAA2B,EAAE,IAAI,CAAC;IAOlC,kBAAkB,EAAE,IAAI,CAAC;IAOzB,kBAAkB,EAAE,IAAI,CAAC;CAC1B;AAQD,MAAM,WAAW,kCAAmC,SAAQ,gCAAgC;IAC1F,UAAU,EAAE,QAAQ,CAAC;IAGrB,2BAA2B,EAAE,KAAK,CAAC;IAGnC,kBAAkB,EAAE,OAAO,CAAC;IAG5B,kBAAkB,EAAE,OAAO,CAAC;CAC7B;AAOD,MAAM,MAAM,4BAA4B,GACpC,kCAAkC,GAClC,kCAAkC,CAAC;AAOvC,MAAM,WAAW,2BAA4B,SAAQ,2BAA2B;IAC9E,IAAI,EAAE,MAAM,CAAC;CACd;AAGD,wBAAgB,aAAa,CAAC,CAAC,EAAE,uBAAuB,GAAG,CAAC,IAAI,kCAAkC,CAEjG;AAGD,wBAAgB,aAAa,CAAC,CAAC,EAAE,uBAAuB,GAAG,CAAC,IAAI,kCAAkC,CAEjG;AA6GD,UAAU,4BAA4B;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,UAAU,iCAAkC,SAAQ,4BAA4B;IAC9E,IAAI,EAAE,OAAO,CAAC;IACd,SAAS,EAAE,sBAAsB,EAAE,CAAC;IACpC,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC;IACjC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,2BAA2B,CAAC,EAAE,OAAO,CAAC;CACvC;AAED,MAAM,WAAW,6BAA8B,SAAQ,iCAAiC;IACtF,UAAU,EAAE,QAAQ,CAAC;IACrB,WAAW,EAAE,mBAAmB,EAAE,CAAC;IACnC,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,WAAW,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,CAAC;CACnE;AAED,MAAM,WAAW,6BAA8B,SAAQ,iCAAiC;IACtF,UAAU,EAAE,QAAQ,CAAC;IACrB,WAAW,EAAE,mBAAmB,EAAE,CAAC;IACnC,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,MAAM,MAAM,uBAAuB,GAAG,6BAA6B,GAAG,6BAA6B,CAAC;AAEpG,MAAM,WAAW,sBAAuB,SAAQ,4BAA4B;IAC1E,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,mBAAmB,EAAE,CAAC;IACnC,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,MAAM,MAAM,kBAAkB,GAAG,uBAAuB,GAAG,sBAAsB,CAAC;AAElF,eAAO,MAAM,6BAA6B,EAAE,CAAC,CAAC,OAAO,CAAC,uBAAuB,CAC3B,CAAC;AACnD,eAAO,MAAM,4BAA4B,EAAE,CAAC,CAAC,OAAO,CAAC,sBAAsB,CAC1B,CAAC;AAIlD,eAAO,MAAM,wBAAwB,EAAE,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAElE,CAAC;AAEF,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,OAAO,GACb;IAAE,OAAO,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,kBAAkB,CAAA;CAAE,GAAG;IAAE,OAAO,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAA;CAAE,CAIrF"} | ||
| {"version":3,"file":"annotations.d.ts","sourceRoot":"","sources":["../src/annotations.ts"],"names":[],"mappings":"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"} |
+20
-3
@@ -21,2 +21,19 @@ import { z } from "zod"; | ||
| const requiredEntityIdArgs = z.array(z.string().min(1)).min(1); | ||
| const entityWriteIdArgs = z.array(z.string().min(1)); | ||
| function applyEntityWriteIdArgsRule(schema) { | ||
| return schema.superRefine((value, ctx) => { | ||
| const v = value; | ||
| if (v.kind !== "write" || v.writeClass !== "entity") | ||
| return; | ||
| const isCreate = Array.isArray(v.operation) && v.operation.includes("create"); | ||
| if (!isCreate && (!Array.isArray(v.entityIdArgs) || v.entityIdArgs.length === 0)) { | ||
| ctx.addIssue({ | ||
| code: "custom", | ||
| path: ["entityIdArgs"], | ||
| message: "entityIdArgs must name at least one identifying arg for a non-create entity-write " + | ||
| "(only `create` operations may declare an empty entityIdArgs).", | ||
| }); | ||
| } | ||
| }); | ||
| } | ||
| function applyContractIdConsistency(schema) { | ||
@@ -47,3 +64,3 @@ return schema.superRefine((value, ctx) => { | ||
| entityKinds: requiredEntityKinds, | ||
| entityIdArgs: requiredEntityIdArgs, | ||
| entityIdArgs: entityWriteIdArgs, | ||
| readPartner: z.object({ | ||
@@ -70,5 +87,5 @@ toolName: z.string().min(1), | ||
| }); | ||
| export const cesteralWriteAnnotationSchema = applyContractIdConsistency(writeAnnotationShape); | ||
| export const cesteralWriteAnnotationSchema = applyEntityWriteIdArgsRule(applyContractIdConsistency(writeAnnotationShape)); | ||
| export const cesteralReadAnnotationSchema = applyContractIdConsistency(readAnnotationShape); | ||
| export const cesteralAnnotationSchema = applyContractIdConsistency(z.union([writeAnnotationShape, readAnnotationShape])); | ||
| export const cesteralAnnotationSchema = applyEntityWriteIdArgsRule(applyContractIdConsistency(z.union([writeAnnotationShape, readAnnotationShape]))); | ||
| export function parseCesteralAnnotation(value) { | ||
@@ -75,0 +92,0 @@ const r = cesteralAnnotationSchema.safeParse(value); |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"annotations.js","sourceRoot":"","sources":["../src/annotations.ts"],"names":[],"mappings":"AA4BA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EACL,yBAAyB,EACzB,oBAAoB,GAErB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAI5D,OAAO,EAAE,yBAAyB,EAA+B,CAAC;AA+JlE,MAAM,UAAU,aAAa,CAAC,CAA0B;IACtD,OAAO,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,CAAC,UAAU,KAAK,QAAQ,CAAC;AACzD,CAAC;AAGD,MAAM,UAAU,aAAa,CAAC,CAA0B;IACtD,OAAO,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,CAAC,UAAU,KAAK,QAAQ,CAAC;AACzD,CAAC;AAOD,MAAM,oBAAoB,GAAG;IAC3B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3B,oBAAoB,EAAE,UAAU;IAChC,gBAAgB,EAAE,UAAU;IAC5B,aAAa,EAAE,mBAAmB;IAClC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;CACvB,CAAC;AAGF,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACtE,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAE/D,SAAS,0BAA0B,CAAyB,MAAS;IACnE,OAAO,MAAM,CAAC,WAAW,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QACvC,MAAM,CAAC,GAAG,KAKT,CAAC;QACF,MAAM,QAAQ,GAAG,GAAG,CAAC,CAAC,oBAAoB,IAAI,CAAC,CAAC,gBAAgB,KAAK,CAAC,CAAC,aAAa,EAAE,CAAC;QACvF,IAAI,CAAC,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;YAC9B,GAAG,CAAC,QAAQ,CAAC;gBAGX,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,CAAC,YAAY,CAAC;gBACpB,OAAO,EAAE,4GAA4G,QAAQ,WAAW,CAAC,CAAC,UAAU,IAAI;aACzJ,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAGD,MAAM,eAAe,GAAG;IACtB,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;IACxB,GAAG,oBAAoB;IACvB,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAQ/C,qBAAqB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACrD,cAAc,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACtC,2BAA2B,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CACpD,CAAC;AAOF,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChC,GAAG,eAAe;IAClB,UAAU,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;IAC/B,WAAW,EAAE,mBAAmB;IAChC,YAAY,EAAE,oBAAoB;IAClC,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;QACpB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QAC3B,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;KACzC,CAAC;CACH,CAAC,CAAC;AAQH,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChC,GAAG,eAAe;IAClB,UAAU,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;IAC/B,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,yBAAyB,CAAC;IAC/C,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CACzC,CAAC,CAAC;AAEH,MAAM,oBAAoB,GAAG,CAAC,CAAC,kBAAkB,CAAC,YAAY,EAAE;IAC9D,gBAAgB;IAChB,gBAAgB;CACjB,CAAC,CAAC;AAEH,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;IACvB,GAAG,oBAAoB;IACvB,WAAW,EAAE,mBAAmB;IAChC,YAAY,EAAE,oBAAoB;CACnC,CAAC,CAAC;AAoDH,MAAM,CAAC,MAAM,6BAA6B,GACxC,0BAA0B,CAAC,oBAAoB,CAAC,CAAC;AACnD,MAAM,CAAC,MAAM,4BAA4B,GACvC,0BAA0B,CAAC,mBAAmB,CAAC,CAAC;AAIlD,MAAM,CAAC,MAAM,wBAAwB,GAAkC,0BAA0B,CAC/F,CAAC,CAAC,KAAK,CAAC,CAAC,oBAAoB,EAAE,mBAAmB,CAAC,CAAC,CACrD,CAAC;AAEF,MAAM,UAAU,uBAAuB,CACrC,KAAc;IAEd,MAAM,CAAC,GAAG,wBAAwB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACpD,IAAI,CAAC,CAAC,CAAC,OAAO;QAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;IAC1D,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;AACzC,CAAC"} | ||
| {"version":3,"file":"annotations.js","sourceRoot":"","sources":["../src/annotations.ts"],"names":[],"mappings":"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"} |
@@ -27,2 +27,19 @@ "use strict"; | ||
| const requiredEntityIdArgs = zod_1.z.array(zod_1.z.string().min(1)).min(1); | ||
| const entityWriteIdArgs = zod_1.z.array(zod_1.z.string().min(1)); | ||
| function applyEntityWriteIdArgsRule(schema) { | ||
| return schema.superRefine((value, ctx) => { | ||
| const v = value; | ||
| if (v.kind !== "write" || v.writeClass !== "entity") | ||
| return; | ||
| const isCreate = Array.isArray(v.operation) && v.operation.includes("create"); | ||
| if (!isCreate && (!Array.isArray(v.entityIdArgs) || v.entityIdArgs.length === 0)) { | ||
| ctx.addIssue({ | ||
| code: "custom", | ||
| path: ["entityIdArgs"], | ||
| message: "entityIdArgs must name at least one identifying arg for a non-create entity-write " + | ||
| "(only `create` operations may declare an empty entityIdArgs).", | ||
| }); | ||
| } | ||
| }); | ||
| } | ||
| function applyContractIdConsistency(schema) { | ||
@@ -53,3 +70,3 @@ return schema.superRefine((value, ctx) => { | ||
| entityKinds: requiredEntityKinds, | ||
| entityIdArgs: requiredEntityIdArgs, | ||
| entityIdArgs: entityWriteIdArgs, | ||
| readPartner: zod_1.z.object({ | ||
@@ -76,5 +93,5 @@ toolName: zod_1.z.string().min(1), | ||
| }); | ||
| exports.cesteralWriteAnnotationSchema = applyContractIdConsistency(writeAnnotationShape); | ||
| exports.cesteralWriteAnnotationSchema = applyEntityWriteIdArgsRule(applyContractIdConsistency(writeAnnotationShape)); | ||
| exports.cesteralReadAnnotationSchema = applyContractIdConsistency(readAnnotationShape); | ||
| exports.cesteralAnnotationSchema = applyContractIdConsistency(zod_1.z.union([writeAnnotationShape, readAnnotationShape])); | ||
| exports.cesteralAnnotationSchema = applyEntityWriteIdArgsRule(applyContractIdConsistency(zod_1.z.union([writeAnnotationShape, readAnnotationShape]))); | ||
| function parseCesteralAnnotation(value) { | ||
@@ -81,0 +98,0 @@ const r = exports.cesteralAnnotationSchema.safeParse(value); |
+1
-1
| { | ||
| "name": "@cesteral/contract-schema", | ||
| "version": "1.1.0", | ||
| "version": "1.2.0", | ||
| "description": "Canonical governance-contract surface (annotations, manifest, dry-run, contractId) shared by Cesteral MCP servers and governance", | ||
@@ -5,0 +5,0 @@ "license": "Apache-2.0", |
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
67815
3.73%754
4.87%0
-100%