@clowder-ai/plugin-contract 0.1.0-beta.6 → 0.1.0-beta.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/conformance/fixtures.d.ts +9 -0
- package/dist/conformance/fixtures.d.ts.map +1 -0
- package/dist/conformance/fixtures.js +8 -0
- package/dist/conformance/fixtures.js.map +1 -0
- package/dist/conformance/index.d.ts +2 -0
- package/dist/conformance/index.d.ts.map +1 -1
- package/dist/conformance/index.js +1 -0
- package/dist/conformance/index.js.map +1 -1
- package/dist/validation/index.d.ts +1 -0
- package/dist/validation/index.d.ts.map +1 -1
- package/dist/validation/index.js +1 -0
- package/dist/validation/index.js.map +1 -1
- package/dist/validation/manifest.d.ts +23 -0
- package/dist/validation/manifest.d.ts.map +1 -0
- package/dist/validation/manifest.js +33 -0
- package/dist/validation/manifest.js.map +1 -0
- package/dist/wire/disposition-fixtures.d.ts +9 -2
- package/dist/wire/disposition-fixtures.d.ts.map +1 -1
- package/dist/wire/disposition-fixtures.js +450 -3
- package/dist/wire/disposition-fixtures.js.map +1 -1
- package/dist/wire/disposition.d.ts +10 -8
- package/dist/wire/disposition.d.ts.map +1 -1
- package/dist/wire/disposition.js +20 -8
- package/dist/wire/disposition.js.map +1 -1
- package/dist/wire/handshake-byte-bounds.d.ts +69 -0
- package/dist/wire/handshake-byte-bounds.d.ts.map +1 -0
- package/dist/wire/handshake-byte-bounds.js +173 -0
- package/dist/wire/handshake-byte-bounds.js.map +1 -0
- package/dist/wire/handshake.d.ts +53 -7
- package/dist/wire/handshake.d.ts.map +1 -1
- package/dist/wire/handshake.js +129 -10
- package/dist/wire/handshake.js.map +1 -1
- package/dist/wire/index.d.ts +8 -4
- package/dist/wire/index.d.ts.map +1 -1
- package/dist/wire/index.js +6 -2
- package/dist/wire/index.js.map +1 -1
- package/dist/wire/registry.d.ts +170 -6
- package/dist/wire/registry.d.ts.map +1 -1
- package/dist/wire/registry.js +13 -11
- package/dist/wire/registry.js.map +1 -1
- package/dist/wire/row-shapes.d.ts +11 -11
- package/dist/wire/row-shapes.d.ts.map +1 -1
- package/dist/wire/row-shapes.js +2 -2
- package/dist/wire/row-shapes.js.map +1 -1
- package/package.json +5 -3
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Public, machine-readable wire-disposition safety vectors.
|
|
3
|
+
*
|
|
4
|
+
* These are contract data for conformance runners. They do not implement
|
|
5
|
+
* Host activation or a handshake codec.
|
|
6
|
+
*/
|
|
7
|
+
export { DISPOSITION_FIXTURE_VECTORS, BETA8_HANDSHAKE_VECTOR_IDS, CLOSED_ERROR_ARM_NAMES, RESPONSE_CANDIDATE_CASES, NOTIFICATION_PARTITION_CASES, } from '../wire/disposition-fixtures.js';
|
|
8
|
+
export type { ClosedErrorArmName, RequestSnapshot, InFlightRecord, FixturePreState, DispositionFixtureVector, PartitionCase, } from '../wire/disposition-fixtures.js';
|
|
9
|
+
//# sourceMappingURL=fixtures.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fixtures.d.ts","sourceRoot":"","sources":["../../src/conformance/fixtures.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,2BAA2B,EAC3B,0BAA0B,EAC1B,sBAAsB,EACtB,wBAAwB,EACxB,4BAA4B,GAC7B,MAAM,iCAAiC,CAAC;AAEzC,YAAY,EACV,kBAAkB,EAClB,eAAe,EACf,cAAc,EACd,eAAe,EACf,wBAAwB,EACxB,aAAa,GACd,MAAM,iCAAiC,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Public, machine-readable wire-disposition safety vectors.
|
|
3
|
+
*
|
|
4
|
+
* These are contract data for conformance runners. They do not implement
|
|
5
|
+
* Host activation or a handshake codec.
|
|
6
|
+
*/
|
|
7
|
+
export { DISPOSITION_FIXTURE_VECTORS, BETA8_HANDSHAKE_VECTOR_IDS, CLOSED_ERROR_ARM_NAMES, RESPONSE_CANDIDATE_CASES, NOTIFICATION_PARTITION_CASES, } from '../wire/disposition-fixtures.js';
|
|
8
|
+
//# sourceMappingURL=fixtures.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fixtures.js","sourceRoot":"","sources":["../../src/conformance/fixtures.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,2BAA2B,EAC3B,0BAA0B,EAC1B,sBAAsB,EACtB,wBAAwB,EACxB,4BAA4B,GAC7B,MAAM,iCAAiC,CAAC"}
|
|
@@ -11,6 +11,8 @@ export { isValidDataClassStrategy } from '../types/data-class.js';
|
|
|
11
11
|
export { getCapabilityLayer } from '../types/capability.js';
|
|
12
12
|
export { executeBehaviorCase, type BehaviorAdapter, type BehaviorCaseReport, type BehaviorTarget, type BehaviorVerdict, } from './behavior-executor.js';
|
|
13
13
|
export { MessagingLoopbackAdapter } from './messaging-loopback-adapter.js';
|
|
14
|
+
export { DISPOSITION_FIXTURE_VECTORS, BETA8_HANDSHAKE_VECTOR_IDS, CLOSED_ERROR_ARM_NAMES, RESPONSE_CANDIDATE_CASES, NOTIFICATION_PARTITION_CASES, } from './fixtures.js';
|
|
15
|
+
export type { ClosedErrorArmName, RequestSnapshot, InFlightRecord, FixturePreState, DispositionFixtureVector, PartitionCase, } from './fixtures.js';
|
|
14
16
|
export { HarnessChild, HarnessChildExitedError, HarnessCleanupError, HarnessFrameBacklogError, HarnessTimeoutError, MAX_HARNESS_QUEUED_FRAMES, MAX_NDJSON_FRAME_BYTES, MAX_TIMER_MS, NdjsonFrameDecoder, NdjsonFrameError, encodeNdjsonFrame, runDualTransportOracle, runHarnessCase, spawnHarnessChild, type DecodedNdjsonFrame, type DualTransportOracleCase, type DualTransportOracleReport, type HarnessChildExit, type HarnessReceiveOptions, type HarnessWireShape, type JsonObject, type NdjsonFrameErrorCode, type OracleTransport, type RunHarnessCaseOptions, type SpawnHarnessChildOptions, type TransportTranscript, } from './stdio-harness/index.js';
|
|
15
17
|
export { DATA_CLASS_ALLOWED_STRATEGIES, CAPABILITY_TABLE, L0_CAPABILITIES, L1_CAPABILITIES, L2_CAPABILITIES, } from '../generated/contract.generated.js';
|
|
16
18
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/conformance/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAElE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D,OAAO,EACL,mBAAmB,EACnB,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,eAAe,GACrB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAE3E,OAAO,EACL,YAAY,EACZ,uBAAuB,EACvB,mBAAmB,EACnB,wBAAwB,EACxB,mBAAmB,EACnB,yBAAyB,EACzB,sBAAsB,EACtB,YAAY,EACZ,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EACjB,sBAAsB,EACtB,cAAc,EACd,iBAAiB,EACjB,KAAK,kBAAkB,EACvB,KAAK,uBAAuB,EAC5B,KAAK,yBAAyB,EAC9B,KAAK,gBAAgB,EACrB,KAAK,qBAAqB,EAC1B,KAAK,gBAAgB,EACrB,KAAK,UAAU,EACf,KAAK,oBAAoB,EACzB,KAAK,eAAe,EACpB,KAAK,qBAAqB,EAC1B,KAAK,wBAAwB,EAC7B,KAAK,mBAAmB,GACzB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EACL,6BAA6B,EAC7B,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,eAAe,GAChB,MAAM,oCAAoC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/conformance/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAElE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D,OAAO,EACL,mBAAmB,EACnB,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,eAAe,GACrB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAE3E,OAAO,EACL,2BAA2B,EAC3B,0BAA0B,EAC1B,sBAAsB,EACtB,wBAAwB,EACxB,4BAA4B,GAC7B,MAAM,eAAe,CAAC;AAEvB,YAAY,EACV,kBAAkB,EAClB,eAAe,EACf,cAAc,EACd,eAAe,EACf,wBAAwB,EACxB,aAAa,GACd,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,YAAY,EACZ,uBAAuB,EACvB,mBAAmB,EACnB,wBAAwB,EACxB,mBAAmB,EACnB,yBAAyB,EACzB,sBAAsB,EACtB,YAAY,EACZ,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EACjB,sBAAsB,EACtB,cAAc,EACd,iBAAiB,EACjB,KAAK,kBAAkB,EACvB,KAAK,uBAAuB,EAC5B,KAAK,yBAAyB,EAC9B,KAAK,gBAAgB,EACrB,KAAK,qBAAqB,EAC1B,KAAK,gBAAgB,EACrB,KAAK,UAAU,EACf,KAAK,oBAAoB,EACzB,KAAK,eAAe,EACpB,KAAK,qBAAqB,EAC1B,KAAK,wBAAwB,EAC7B,KAAK,mBAAmB,GACzB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EACL,6BAA6B,EAC7B,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,eAAe,GAChB,MAAM,oCAAoC,CAAC"}
|
|
@@ -11,6 +11,7 @@ export { isValidDataClassStrategy } from '../types/data-class.js';
|
|
|
11
11
|
export { getCapabilityLayer } from '../types/capability.js';
|
|
12
12
|
export { executeBehaviorCase, } from './behavior-executor.js';
|
|
13
13
|
export { MessagingLoopbackAdapter } from './messaging-loopback-adapter.js';
|
|
14
|
+
export { DISPOSITION_FIXTURE_VECTORS, BETA8_HANDSHAKE_VECTOR_IDS, CLOSED_ERROR_ARM_NAMES, RESPONSE_CANDIDATE_CASES, NOTIFICATION_PARTITION_CASES, } from './fixtures.js';
|
|
14
15
|
export { HarnessChild, HarnessChildExitedError, HarnessCleanupError, HarnessFrameBacklogError, HarnessTimeoutError, MAX_HARNESS_QUEUED_FRAMES, MAX_NDJSON_FRAME_BYTES, MAX_TIMER_MS, NdjsonFrameDecoder, NdjsonFrameError, encodeNdjsonFrame, runDualTransportOracle, runHarnessCase, spawnHarnessChild, } from './stdio-harness/index.js';
|
|
15
16
|
export { DATA_CLASS_ALLOWED_STRATEGIES, CAPABILITY_TABLE, L0_CAPABILITIES, L1_CAPABILITIES, L2_CAPABILITIES, } from '../generated/contract.generated.js';
|
|
16
17
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/conformance/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAElE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D,OAAO,EACL,mBAAmB,GAKpB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAE3E,OAAO,EACL,YAAY,EACZ,uBAAuB,EACvB,mBAAmB,EACnB,wBAAwB,EACxB,mBAAmB,EACnB,yBAAyB,EACzB,sBAAsB,EACtB,YAAY,EACZ,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EACjB,sBAAsB,EACtB,cAAc,EACd,iBAAiB,GAalB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EACL,6BAA6B,EAC7B,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,eAAe,GAChB,MAAM,oCAAoC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/conformance/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAElE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D,OAAO,EACL,mBAAmB,GAKpB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAE3E,OAAO,EACL,2BAA2B,EAC3B,0BAA0B,EAC1B,sBAAsB,EACtB,wBAAwB,EACxB,4BAA4B,GAC7B,MAAM,eAAe,CAAC;AAWvB,OAAO,EACL,YAAY,EACZ,uBAAuB,EACvB,mBAAmB,EACnB,wBAAwB,EACxB,mBAAmB,EACnB,yBAAyB,EACzB,sBAAsB,EACtB,YAAY,EACZ,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EACjB,sBAAsB,EACtB,cAAc,EACd,iBAAiB,GAalB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EACL,6BAA6B,EAC7B,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,eAAe,GAChB,MAAM,oCAAoC,CAAC"}
|
|
@@ -1,2 +1,3 @@
|
|
|
1
1
|
export { validateMessagingSemantics, type SemanticValidationError, type SemanticValidationResult, } from './messaging-semantic.js';
|
|
2
|
+
export { validateManifest, type ManifestValidationError, type ManifestValidationResult, } from './manifest.js';
|
|
2
3
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/validation/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,EAC1B,KAAK,uBAAuB,EAC5B,KAAK,wBAAwB,GAC9B,MAAM,yBAAyB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/validation/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,EAC1B,KAAK,uBAAuB,EAC5B,KAAK,wBAAwB,GAC9B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,gBAAgB,EAChB,KAAK,uBAAuB,EAC5B,KAAK,wBAAwB,GAC9B,MAAM,eAAe,CAAC"}
|
package/dist/validation/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/validation/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,GAG3B,MAAM,yBAAyB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/validation/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,GAG3B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,gBAAgB,GAGjB,MAAM,eAAe,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { PluginManifest } from '../generated/contract.generated.js';
|
|
2
|
+
export interface ManifestValidationError {
|
|
3
|
+
readonly instancePath: string;
|
|
4
|
+
readonly schemaPath: string;
|
|
5
|
+
readonly keyword: string;
|
|
6
|
+
readonly message: string;
|
|
7
|
+
}
|
|
8
|
+
export type ManifestValidationResult = {
|
|
9
|
+
readonly valid: true;
|
|
10
|
+
readonly manifest: PluginManifest;
|
|
11
|
+
readonly errors: readonly [];
|
|
12
|
+
} | {
|
|
13
|
+
readonly valid: false;
|
|
14
|
+
readonly errors: readonly ManifestValidationError[];
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* Validates an untrusted plugin manifest against the contract-owned schema.
|
|
18
|
+
*
|
|
19
|
+
* The schema is resolved through the package's public export so runtime users
|
|
20
|
+
* and the conformance suite share one manifest definition and Ajv policy.
|
|
21
|
+
*/
|
|
22
|
+
export declare function validateManifest(value: unknown): ManifestValidationResult;
|
|
23
|
+
//# sourceMappingURL=manifest.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../src/validation/manifest.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AA6BzE,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,MAAM,wBAAwB,GAChC;IACE,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC;IACrB,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC;CAC9B,GACD;IACE,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,SAAS,uBAAuB,EAAE,CAAC;CACrD,CAAC;AAMN;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,wBAAwB,CAkBzE"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { createRequire } from 'node:module';
|
|
2
|
+
const require = createRequire(import.meta.url);
|
|
3
|
+
const Ajv2020 = require('ajv/dist/2020');
|
|
4
|
+
const addFormats = require('ajv-formats');
|
|
5
|
+
const manifestSchema = require('@clowder-ai/plugin-contract/schemas/manifest');
|
|
6
|
+
const ajv = new Ajv2020({ allErrors: true, strict: false });
|
|
7
|
+
addFormats(ajv);
|
|
8
|
+
const validateSchema = ajv.compile(manifestSchema);
|
|
9
|
+
/**
|
|
10
|
+
* Validates an untrusted plugin manifest against the contract-owned schema.
|
|
11
|
+
*
|
|
12
|
+
* The schema is resolved through the package's public export so runtime users
|
|
13
|
+
* and the conformance suite share one manifest definition and Ajv policy.
|
|
14
|
+
*/
|
|
15
|
+
export function validateManifest(value) {
|
|
16
|
+
if (validateSchema(value)) {
|
|
17
|
+
return {
|
|
18
|
+
valid: true,
|
|
19
|
+
manifest: value,
|
|
20
|
+
errors: [],
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
return {
|
|
24
|
+
valid: false,
|
|
25
|
+
errors: (validateSchema.errors ?? []).map((error) => ({
|
|
26
|
+
instancePath: error.instancePath,
|
|
27
|
+
schemaPath: error.schemaPath,
|
|
28
|
+
keyword: error.keyword,
|
|
29
|
+
message: error.message ?? 'manifest validation failed',
|
|
30
|
+
})),
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=manifest.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../src/validation/manifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAI5C,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/C,MAAM,OAAO,GAGO,OAAO,CAAC,eAAe,CAAC,CAAC;AAC7C,MAAM,UAAU,GAA+B,OAAO,CAAC,aAAa,CAAC,CAAC;AACtE,MAAM,cAAc,GAAG,OAAO,CAAC,8CAA8C,CAG5E,CAAC;AAoCF,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;AAC5D,UAAU,CAAC,GAAG,CAAC,CAAC;AAChB,MAAM,cAAc,GAAG,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;AAEnD;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAc;IAC7C,IAAI,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO;YACL,KAAK,EAAE,IAAI;YACX,QAAQ,EAAE,KAAuB;YACjC,MAAM,EAAE,EAAE;SACX,CAAC;IACJ,CAAC;IAED,OAAO;QACL,KAAK,EAAE,KAAK;QACZ,MAAM,EAAE,CAAC,cAAc,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACpD,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,4BAA4B;SACvD,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Disposition conformance fixture vectors — machine-readable test data
|
|
3
|
-
* for the pre-dispatch disposition table (T-A through T-
|
|
3
|
+
* for the pre-dispatch disposition table (T-A through T-M).
|
|
4
4
|
*
|
|
5
5
|
* Mechanized VERBATIM from §3.8-1 of the #1165 frozen plan (rev11,
|
|
6
6
|
* SHA 7e26e5af). Each vector carries:
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
* - 7 notification-partition sub-cases (NOTIFICATION_PARTITION_CASES)
|
|
20
20
|
* "your correction #4's five, the idless-envelope fixture,
|
|
21
21
|
* and the R8 row-10 value-failure fixture"
|
|
22
|
-
* - All
|
|
22
|
+
* - All 13 T-classes have ≥1 vector
|
|
23
23
|
* - Pre-state mutual-exclusivity proof pairs:
|
|
24
24
|
* ping nonce (T-H-3 / T-L-2), row-9 deliveryId (T-H-9 / T-L-4)
|
|
25
25
|
*
|
|
@@ -30,6 +30,7 @@
|
|
|
30
30
|
* Tests verify both existence AND class correctness per key.
|
|
31
31
|
*/
|
|
32
32
|
import type { DispositionClass, DispositionOutcome } from './disposition.js';
|
|
33
|
+
import type { CandidateHello } from './handshake.js';
|
|
33
34
|
import type { WireMethodName } from './registry.js';
|
|
34
35
|
export declare const CLOSED_ERROR_ARM_NAMES: readonly ["ParseErrorEnvelope", "InvalidRequestNullIdEnvelope", "InvalidRequestValidIdEnvelope", "MethodNotFoundEnvelope", "InvalidParamsEnvelope", "InternalErrorEnvelope", "HandshakeRejectedEnvelope", "DeliveryRejectedEnvelope", "DomainErrorEnvelope", "DeadlineExpiredEnvelope", "SnapshotUnavailableEnvelope"];
|
|
35
36
|
export type ClosedErrorArmName = (typeof CLOSED_ERROR_ARM_NAMES)[number];
|
|
@@ -42,6 +43,8 @@ export interface RequestSnapshot {
|
|
|
42
43
|
readonly nonce?: string;
|
|
43
44
|
/** Row 9 deliver: the deliveryId that must match byte-equal in the ack. */
|
|
44
45
|
readonly deliveryId?: string;
|
|
46
|
+
/** Row 1 hello: the candidate claims that SessionBinding must echo byte-equal. */
|
|
47
|
+
readonly candidateHello?: CandidateHello;
|
|
45
48
|
}
|
|
46
49
|
/**
|
|
47
50
|
* A single in-flight request record for pre-state correlation.
|
|
@@ -71,6 +74,8 @@ export interface DispositionFixtureVector {
|
|
|
71
74
|
readonly expectedErrorArm: ClosedErrorArmName | null;
|
|
72
75
|
readonly expectedErrorCode: number | null;
|
|
73
76
|
readonly expectedResponseFrame: string | null;
|
|
77
|
+
/** This vector must not allocate state, enqueue work, or activate. */
|
|
78
|
+
readonly zeroSideEffects?: true;
|
|
74
79
|
readonly description: string;
|
|
75
80
|
}
|
|
76
81
|
/**
|
|
@@ -96,4 +101,6 @@ export declare const RESPONSE_CANDIDATE_CASES: Readonly<Record<string, Partition
|
|
|
96
101
|
*/
|
|
97
102
|
export declare const NOTIFICATION_PARTITION_CASES: Readonly<Record<string, PartitionCase>>;
|
|
98
103
|
export declare const DISPOSITION_FIXTURE_VECTORS: readonly DispositionFixtureVector[];
|
|
104
|
+
/** Complete beta.8 handshake safety surface exported for downstream runners. */
|
|
105
|
+
export declare const BETA8_HANDSHAKE_VECTOR_IDS: readonly ["T-C-2", "T-M-1", "T-M-2", "T-M-3", "T-M-4", "T-M-5", "T-M-6", "T-M-7", "T-M-8", "T-G-2", "T-G-3", "T-G-4", "T-G-5", "T-G-6", "T-G-7", "T-G-8", "T-G-9", "T-G-10", "T-G-11", "T-G-12", "T-G-13", "T-G-14", "T-H-10", "T-H-11", "T-L-5", "T-L-6"];
|
|
99
106
|
//# sourceMappingURL=disposition-fixtures.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"disposition-fixtures.d.ts","sourceRoot":"","sources":["../../src/wire/disposition-fixtures.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"disposition-fixtures.d.ts","sourceRoot":"","sources":["../../src/wire/disposition-fixtures.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAK7E,OAAO,KAAK,EAAE,cAAc,EAAkB,MAAM,gBAAgB,CAAC;AAErE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAqBpD,eAAO,MAAM,sBAAsB,wTAYzB,CAAC;AAEX,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,sBAAsB,CAAC,CAAC,MAAM,CAAC,CAAC;AAkHzE;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,2EAA2E;IAC3E,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,2EAA2E;IAC3E,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,kFAAkF;IAClF,QAAQ,CAAC,cAAc,CAAC,EAAE,cAAc,CAAC;CAC1C;AAED;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,+DAA+D;IAC/D,QAAQ,CAAC,eAAe,CAAC,EAAE,eAAe,CAAC;CAC5C;AAED;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,gBAAgB,EAAE,SAAS,cAAc,EAAE,CAAC;CACtD;AAMD,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,GAAG,KAAK,CAAC;IAC1C,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;IACnC,QAAQ,CAAC,aAAa,EAAE,gBAAgB,CAAC;IACzC,QAAQ,CAAC,eAAe,EAAE,kBAAkB,CAAC;IAC7C,QAAQ,CAAC,gBAAgB,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACrD,QAAQ,CAAC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1C,QAAQ,CAAC,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9C,sEAAsE;IACtE,QAAQ,CAAC,eAAe,CAAC,EAAE,IAAI,CAAC;IAChC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAUD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,aAAa,EAAE,gBAAgB,CAAC;CAC1C;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,wBAAwB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAmB5E,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,4BAA4B,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAehF,CAAC;AAMF,eAAO,MAAM,2BAA2B,EAAE,SAAS,wBAAwB,EAy5B1E,CAAC;AAEF,gFAAgF;AAChF,eAAO,MAAM,0BAA0B,4PAO7B,CAAC"}
|