@blokjs/shared 2.0.1 → 2.2.0

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.
Files changed (49) hide show
  1. package/dist/AgentSessionContracts.d.ts +316 -0
  2. package/dist/AgentSessionContracts.js +331 -0
  3. package/dist/BlokError.d.ts +55 -1
  4. package/dist/BlokError.js +99 -1
  5. package/dist/CapabilityContracts.d.ts +91 -0
  6. package/dist/CapabilityContracts.js +104 -0
  7. package/dist/CapabilityManifest.d.ts +67 -0
  8. package/dist/CapabilityManifest.js +172 -0
  9. package/dist/EnforcementContracts.d.ts +61 -0
  10. package/dist/EnforcementContracts.js +17 -0
  11. package/dist/EnforcementProfileContracts.d.ts +36 -0
  12. package/dist/EnforcementProfileContracts.js +55 -0
  13. package/dist/EvidenceContracts.d.ts +884 -0
  14. package/dist/EvidenceContracts.js +237 -0
  15. package/dist/GitCapabilityContracts.d.ts +103 -0
  16. package/dist/GitCapabilityContracts.js +222 -0
  17. package/dist/GlobalError.js +5 -1
  18. package/dist/GlobalLogger.d.ts +2 -0
  19. package/dist/GlobalLogger.js +4 -0
  20. package/dist/GraphContracts.d.ts +1643 -0
  21. package/dist/GraphContracts.js +333 -0
  22. package/dist/InteractionContracts.d.ts +76 -0
  23. package/dist/InteractionContracts.js +218 -0
  24. package/dist/JoinContracts.d.ts +593 -0
  25. package/dist/JoinContracts.js +329 -0
  26. package/dist/NodeBase.d.ts +20 -0
  27. package/dist/NodeBase.js +57 -6
  28. package/dist/PermissionAlgebra.d.ts +51 -0
  29. package/dist/PermissionAlgebra.js +125 -0
  30. package/dist/PolicyContracts.d.ts +184 -0
  31. package/dist/PolicyContracts.js +1 -0
  32. package/dist/ProcessCapabilityContracts.d.ts +146 -0
  33. package/dist/ProcessCapabilityContracts.js +263 -0
  34. package/dist/RuntimeContracts.d.ts +125 -0
  35. package/dist/RuntimeContracts.js +108 -0
  36. package/dist/SecretContracts.d.ts +43 -0
  37. package/dist/SecretContracts.js +1 -0
  38. package/dist/WasiComponentContracts.d.ts +582 -0
  39. package/dist/WasiComponentContracts.js +192 -0
  40. package/dist/WorkflowBindingContracts.d.ts +1062 -0
  41. package/dist/WorkflowBindingContracts.js +339 -0
  42. package/dist/index.d.ts +46 -15
  43. package/dist/index.js +26 -3
  44. package/dist/types/LoggerContext.d.ts +7 -0
  45. package/dist/utils/Mapper.d.ts +14 -0
  46. package/dist/utils/Mapper.js +32 -0
  47. package/dist/utils/lowerRefs.d.ts +25 -1
  48. package/dist/utils/lowerRefs.js +8 -3
  49. package/package.json +3 -2
@@ -0,0 +1,17 @@
1
+ /**
2
+ * H1-02 contracts shared by authoring, the runner, and control-plane adapters.
3
+ *
4
+ * These are deliberately data-only. A model can return data that resembles a
5
+ * trusted record, but the runner decides whether the producing step is allowed
6
+ * to establish trusted provenance.
7
+ */
8
+ export const ENFORCEMENT_CONTRACT_VERSION = "1";
9
+ export class EnforcementViolationError extends Error {
10
+ reasonCode;
11
+ code = "ENFORCEMENT_REJECTED";
12
+ constructor(reasonCode, message) {
13
+ super(message);
14
+ this.reasonCode = reasonCode;
15
+ this.name = "EnforcementViolationError";
16
+ }
17
+ }
@@ -0,0 +1,36 @@
1
+ import { z } from "zod";
2
+ /** Version of the language-neutral enforcement profile contract. */
3
+ export declare const ENFORCEMENT_PROFILE_CONTRACT_VERSION: "1";
4
+ export declare const ENFORCEMENT_PROFILES: readonly ["advisory", "guided", "strict"];
5
+ export type EnforcementProfile = (typeof ENFORCEMENT_PROFILES)[number];
6
+ export interface EnforcementProfileSemantics {
7
+ readonly deviations: "record" | "authorized-override" | "reject";
8
+ readonly transitions: "advisory" | "enforced";
9
+ readonly inRunOverride: "allowed" | "forbidden";
10
+ }
11
+ /** Machine-readable semantics; keep this table in sync with ADR 0002. */
12
+ export declare const ENFORCEMENT_PROFILE_SEMANTICS: Readonly<Record<EnforcementProfile, EnforcementProfileSemantics>>;
13
+ export declare const EnforcementProfileSchema: z.ZodEnum<["advisory", "guided", "strict"]>;
14
+ export interface EnforcementProfileContract {
15
+ readonly version: typeof ENFORCEMENT_PROFILE_CONTRACT_VERSION;
16
+ readonly profile: EnforcementProfile;
17
+ }
18
+ export declare const EnforcementProfileContractSchema: z.ZodObject<{
19
+ version: z.ZodLiteral<"1">;
20
+ profile: z.ZodEnum<["advisory", "guided", "strict"]>;
21
+ }, "strip", z.ZodTypeAny, {
22
+ version: "1";
23
+ profile: "strict" | "advisory" | "guided";
24
+ }, {
25
+ version: "1";
26
+ profile: "strict" | "advisory" | "guided";
27
+ }>;
28
+ export declare class EnforcementProfileContractError extends Error {
29
+ readonly issues: readonly string[];
30
+ constructor(issues: readonly string[]);
31
+ }
32
+ export declare function parseEnforcementProfile(value: unknown): EnforcementProfile;
33
+ export declare function parseEnforcementProfileContract(value: unknown): EnforcementProfileContract;
34
+ /** Return the immutable, machine-readable behavior for one profile. */
35
+ export declare function enforcementProfileSemantics(value: unknown): EnforcementProfileSemantics;
36
+ export declare function serializeEnforcementProfileContract(value: unknown): string;
@@ -0,0 +1,55 @@
1
+ import { z } from "zod";
2
+ /** Version of the language-neutral enforcement profile contract. */
3
+ export const ENFORCEMENT_PROFILE_CONTRACT_VERSION = "1";
4
+ export const ENFORCEMENT_PROFILES = ["advisory", "guided", "strict"];
5
+ /** Machine-readable semantics; keep this table in sync with ADR 0002. */
6
+ export const ENFORCEMENT_PROFILE_SEMANTICS = {
7
+ advisory: {
8
+ deviations: "record",
9
+ transitions: "advisory",
10
+ inRunOverride: "allowed",
11
+ },
12
+ guided: {
13
+ deviations: "authorized-override",
14
+ transitions: "enforced",
15
+ inRunOverride: "allowed",
16
+ },
17
+ strict: {
18
+ deviations: "reject",
19
+ transitions: "enforced",
20
+ inRunOverride: "forbidden",
21
+ },
22
+ };
23
+ export const EnforcementProfileSchema = z.enum(ENFORCEMENT_PROFILES);
24
+ export const EnforcementProfileContractSchema = z.object({
25
+ version: z.literal(ENFORCEMENT_PROFILE_CONTRACT_VERSION),
26
+ profile: EnforcementProfileSchema,
27
+ });
28
+ export class EnforcementProfileContractError extends Error {
29
+ issues;
30
+ constructor(issues) {
31
+ super(`Invalid enforcement profile contract: ${issues.join("; ")}`);
32
+ this.name = "EnforcementProfileContractError";
33
+ this.issues = [...issues];
34
+ }
35
+ }
36
+ function parseSchema(schema, value, label) {
37
+ const result = schema.safeParse(value);
38
+ if (!result.success) {
39
+ throw new EnforcementProfileContractError(result.error.issues.map((issue) => `${label}${issue.path.length > 0 ? `.${issue.path.join(".")}` : ""} ${issue.message}`));
40
+ }
41
+ return result.data;
42
+ }
43
+ export function parseEnforcementProfile(value) {
44
+ return parseSchema(EnforcementProfileSchema, value, "enforcement profile");
45
+ }
46
+ export function parseEnforcementProfileContract(value) {
47
+ return parseSchema(EnforcementProfileContractSchema, value, "enforcement profile contract");
48
+ }
49
+ /** Return the immutable, machine-readable behavior for one profile. */
50
+ export function enforcementProfileSemantics(value) {
51
+ return ENFORCEMENT_PROFILE_SEMANTICS[parseEnforcementProfile(value)];
52
+ }
53
+ export function serializeEnforcementProfileContract(value) {
54
+ return JSON.stringify(parseEnforcementProfileContract(value));
55
+ }