@nexural/schema 0.1.0 → 1.0.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.
package/dist/index.d.ts CHANGED
@@ -2836,4 +2836,319 @@ declare const RevokedRecipesList: z.ZodObject<{
2836
2836
  }>;
2837
2837
  type RevokedRecipesList = z.infer<typeof RevokedRecipesList>;
2838
2838
 
2839
- export { AdrFrontmatter, AuditEvent, ContentFrontmatter, CostEnvelope, CostEvent, CrossRefReport, DecayConfig, DecayDays, DecayWarnEvent, Email, EnvVarName, ExternalMcpEndpoint, ExternalMcpRegistry, Federation, ForgedLockfile, GitSha, Iso8601, IsoDate, KebabSlug, McpToolRequest, McpToolResponse, ModelFamilyRegistry, ModelFamilyResolution, NexuralError, NexuralErrorCode, NxCommandEvent, OpUri, PositiveUsdAmount, RecipeManifest, Registry, RelatedRelation, RepoUrl, RevokedRecipeEntry, RevokedRecipesList, SchemaVersion, ScorecardReport, SemverString, ServiceDeclaration, Sha256Hex, SourceType, TelemetryEvent, ToolCallEvent, TrustTier, Ulid, UsdAmount, WarehouseIndex, WarehouseMeta, WarehouseStatus };
2839
+ /**
2840
+ * WarehouseManifest — `manifest.yaml` at the root of every warehouse.
2841
+ *
2842
+ * Distinct from `meta.yaml` (WarehouseMeta) which describes the warehouse
2843
+ * itself. The manifest describes the warehouse's **contribution surface**:
2844
+ * which documents it exposes (consumed by `nx ask` + agent synthesis) and
2845
+ * which templates it exposes (consumed by `nx forge` at emit time).
2846
+ *
2847
+ * Introduced in Phase 6.5 per ADR-0011 §2 (Minimum Viable Warehouses).
2848
+ */
2849
+
2850
+ /**
2851
+ * A document is a piece of authored knowledge — markdown / yaml /
2852
+ * structured text — that the warehouse offers as reference material.
2853
+ * `nx ask` synthesis pulls these via the MCP layer (per ADR-0008 §1).
2854
+ */
2855
+ declare const WarehouseDocument: z.ZodObject<{
2856
+ /** Stable id for cross-references; kebab-case. */
2857
+ id: z.ZodString;
2858
+ /** Path relative to the warehouse root. */
2859
+ path: z.ZodString;
2860
+ /** Short human-readable title. */
2861
+ title: z.ZodString;
2862
+ /**
2863
+ * Who is allowed to consume this document.
2864
+ * "agents" = LLM synthesis; "human" = direct read via `nx ask --human`;
2865
+ * "public" = any external MCP consumer.
2866
+ */
2867
+ audience: z.ZodArray<z.ZodEnum<["agents", "human", "public"]>, "many">;
2868
+ /** Free-form tags for retrieval / filtering. */
2869
+ tags: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
2870
+ /**
2871
+ * Last-reviewed ISO date. Decay countdown starts here. Inherits the
2872
+ * warehouse's `meta.yaml.decay_rate_days` if unset.
2873
+ */
2874
+ last_reviewed: z.ZodOptional<z.ZodString>;
2875
+ }, "strict", z.ZodTypeAny, {
2876
+ path: string;
2877
+ id: string;
2878
+ title: string;
2879
+ tags: string[];
2880
+ audience: ("public" | "agents" | "human")[];
2881
+ last_reviewed?: string | undefined;
2882
+ }, {
2883
+ path: string;
2884
+ id: string;
2885
+ title: string;
2886
+ audience: ("public" | "agents" | "human")[];
2887
+ last_reviewed?: string | undefined;
2888
+ tags?: string[] | undefined;
2889
+ }>;
2890
+ type WarehouseDocument = z.infer<typeof WarehouseDocument>;
2891
+ /**
2892
+ * A template is an emittable artifact — code, config, or scaffold — that
2893
+ * `nx forge` writes to disk when composing a recipe. Each template
2894
+ * declares which recipes are allowed to consume it (or `["*"]` for
2895
+ * recipe-agnostic primitives like `.gitignore`).
2896
+ */
2897
+ declare const WarehouseTemplate: z.ZodObject<{
2898
+ /** Stable id for cross-references; kebab-case. */
2899
+ id: z.ZodString;
2900
+ /** Source path relative to the warehouse root. */
2901
+ source: z.ZodString;
2902
+ /**
2903
+ * Emit target path, with Handlebars-style `{{vars}}` allowed in
2904
+ * path segments. Relative to the emit root.
2905
+ */
2906
+ target_path: z.ZodString;
2907
+ /**
2908
+ * Which recipes may consume this template. `["*"]` = any recipe.
2909
+ * Empty array = template not yet released to any recipe.
2910
+ */
2911
+ consumers: z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodLiteral<"*">, z.ZodString]>, "many">>;
2912
+ /** Optional conditional path; same syntax as TemplateFile.conditionalOn. */
2913
+ conditional_on: z.ZodOptional<z.ZodString>;
2914
+ /** Mark binary files (skip rendering, copy bytes). */
2915
+ binary: z.ZodDefault<z.ZodBoolean>;
2916
+ /** POSIX mode (octal). Default 0o644. */
2917
+ mode: z.ZodOptional<z.ZodNumber>;
2918
+ }, "strict", z.ZodTypeAny, {
2919
+ id: string;
2920
+ source: string;
2921
+ target_path: string;
2922
+ consumers: string[];
2923
+ binary: boolean;
2924
+ conditional_on?: string | undefined;
2925
+ mode?: number | undefined;
2926
+ }, {
2927
+ id: string;
2928
+ source: string;
2929
+ target_path: string;
2930
+ consumers?: string[] | undefined;
2931
+ conditional_on?: string | undefined;
2932
+ binary?: boolean | undefined;
2933
+ mode?: number | undefined;
2934
+ }>;
2935
+ type WarehouseTemplate = z.infer<typeof WarehouseTemplate>;
2936
+ declare const WarehouseManifest: z.ZodEffects<z.ZodEffects<z.ZodObject<{
2937
+ schema_version: z.ZodLiteral<1>;
2938
+ /** Must match the warehouse's `meta.yaml.name`. */
2939
+ warehouse: z.ZodString;
2940
+ /** Manifest version; bumps on document/template changes. */
2941
+ version: z.ZodString;
2942
+ /** Short description of what this warehouse contributes. */
2943
+ description: z.ZodString;
2944
+ /** Authored documents. */
2945
+ documents: z.ZodDefault<z.ZodArray<z.ZodObject<{
2946
+ /** Stable id for cross-references; kebab-case. */
2947
+ id: z.ZodString;
2948
+ /** Path relative to the warehouse root. */
2949
+ path: z.ZodString;
2950
+ /** Short human-readable title. */
2951
+ title: z.ZodString;
2952
+ /**
2953
+ * Who is allowed to consume this document.
2954
+ * "agents" = LLM synthesis; "human" = direct read via `nx ask --human`;
2955
+ * "public" = any external MCP consumer.
2956
+ */
2957
+ audience: z.ZodArray<z.ZodEnum<["agents", "human", "public"]>, "many">;
2958
+ /** Free-form tags for retrieval / filtering. */
2959
+ tags: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
2960
+ /**
2961
+ * Last-reviewed ISO date. Decay countdown starts here. Inherits the
2962
+ * warehouse's `meta.yaml.decay_rate_days` if unset.
2963
+ */
2964
+ last_reviewed: z.ZodOptional<z.ZodString>;
2965
+ }, "strict", z.ZodTypeAny, {
2966
+ path: string;
2967
+ id: string;
2968
+ title: string;
2969
+ tags: string[];
2970
+ audience: ("public" | "agents" | "human")[];
2971
+ last_reviewed?: string | undefined;
2972
+ }, {
2973
+ path: string;
2974
+ id: string;
2975
+ title: string;
2976
+ audience: ("public" | "agents" | "human")[];
2977
+ last_reviewed?: string | undefined;
2978
+ tags?: string[] | undefined;
2979
+ }>, "many">>;
2980
+ /** Forge templates. */
2981
+ templates: z.ZodDefault<z.ZodArray<z.ZodObject<{
2982
+ /** Stable id for cross-references; kebab-case. */
2983
+ id: z.ZodString;
2984
+ /** Source path relative to the warehouse root. */
2985
+ source: z.ZodString;
2986
+ /**
2987
+ * Emit target path, with Handlebars-style `{{vars}}` allowed in
2988
+ * path segments. Relative to the emit root.
2989
+ */
2990
+ target_path: z.ZodString;
2991
+ /**
2992
+ * Which recipes may consume this template. `["*"]` = any recipe.
2993
+ * Empty array = template not yet released to any recipe.
2994
+ */
2995
+ consumers: z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodLiteral<"*">, z.ZodString]>, "many">>;
2996
+ /** Optional conditional path; same syntax as TemplateFile.conditionalOn. */
2997
+ conditional_on: z.ZodOptional<z.ZodString>;
2998
+ /** Mark binary files (skip rendering, copy bytes). */
2999
+ binary: z.ZodDefault<z.ZodBoolean>;
3000
+ /** POSIX mode (octal). Default 0o644. */
3001
+ mode: z.ZodOptional<z.ZodNumber>;
3002
+ }, "strict", z.ZodTypeAny, {
3003
+ id: string;
3004
+ source: string;
3005
+ target_path: string;
3006
+ consumers: string[];
3007
+ binary: boolean;
3008
+ conditional_on?: string | undefined;
3009
+ mode?: number | undefined;
3010
+ }, {
3011
+ id: string;
3012
+ source: string;
3013
+ target_path: string;
3014
+ consumers?: string[] | undefined;
3015
+ conditional_on?: string | undefined;
3016
+ binary?: boolean | undefined;
3017
+ mode?: number | undefined;
3018
+ }>, "many">>;
3019
+ }, "strict", z.ZodTypeAny, {
3020
+ schema_version: 1;
3021
+ description: string;
3022
+ warehouse: string;
3023
+ version: string;
3024
+ documents: {
3025
+ path: string;
3026
+ id: string;
3027
+ title: string;
3028
+ tags: string[];
3029
+ audience: ("public" | "agents" | "human")[];
3030
+ last_reviewed?: string | undefined;
3031
+ }[];
3032
+ templates: {
3033
+ id: string;
3034
+ source: string;
3035
+ target_path: string;
3036
+ consumers: string[];
3037
+ binary: boolean;
3038
+ conditional_on?: string | undefined;
3039
+ mode?: number | undefined;
3040
+ }[];
3041
+ }, {
3042
+ schema_version: 1;
3043
+ description: string;
3044
+ warehouse: string;
3045
+ version: string;
3046
+ documents?: {
3047
+ path: string;
3048
+ id: string;
3049
+ title: string;
3050
+ audience: ("public" | "agents" | "human")[];
3051
+ last_reviewed?: string | undefined;
3052
+ tags?: string[] | undefined;
3053
+ }[] | undefined;
3054
+ templates?: {
3055
+ id: string;
3056
+ source: string;
3057
+ target_path: string;
3058
+ consumers?: string[] | undefined;
3059
+ conditional_on?: string | undefined;
3060
+ binary?: boolean | undefined;
3061
+ mode?: number | undefined;
3062
+ }[] | undefined;
3063
+ }>, {
3064
+ schema_version: 1;
3065
+ description: string;
3066
+ warehouse: string;
3067
+ version: string;
3068
+ documents: {
3069
+ path: string;
3070
+ id: string;
3071
+ title: string;
3072
+ tags: string[];
3073
+ audience: ("public" | "agents" | "human")[];
3074
+ last_reviewed?: string | undefined;
3075
+ }[];
3076
+ templates: {
3077
+ id: string;
3078
+ source: string;
3079
+ target_path: string;
3080
+ consumers: string[];
3081
+ binary: boolean;
3082
+ conditional_on?: string | undefined;
3083
+ mode?: number | undefined;
3084
+ }[];
3085
+ }, {
3086
+ schema_version: 1;
3087
+ description: string;
3088
+ warehouse: string;
3089
+ version: string;
3090
+ documents?: {
3091
+ path: string;
3092
+ id: string;
3093
+ title: string;
3094
+ audience: ("public" | "agents" | "human")[];
3095
+ last_reviewed?: string | undefined;
3096
+ tags?: string[] | undefined;
3097
+ }[] | undefined;
3098
+ templates?: {
3099
+ id: string;
3100
+ source: string;
3101
+ target_path: string;
3102
+ consumers?: string[] | undefined;
3103
+ conditional_on?: string | undefined;
3104
+ binary?: boolean | undefined;
3105
+ mode?: number | undefined;
3106
+ }[] | undefined;
3107
+ }>, {
3108
+ schema_version: 1;
3109
+ description: string;
3110
+ warehouse: string;
3111
+ version: string;
3112
+ documents: {
3113
+ path: string;
3114
+ id: string;
3115
+ title: string;
3116
+ tags: string[];
3117
+ audience: ("public" | "agents" | "human")[];
3118
+ last_reviewed?: string | undefined;
3119
+ }[];
3120
+ templates: {
3121
+ id: string;
3122
+ source: string;
3123
+ target_path: string;
3124
+ consumers: string[];
3125
+ binary: boolean;
3126
+ conditional_on?: string | undefined;
3127
+ mode?: number | undefined;
3128
+ }[];
3129
+ }, {
3130
+ schema_version: 1;
3131
+ description: string;
3132
+ warehouse: string;
3133
+ version: string;
3134
+ documents?: {
3135
+ path: string;
3136
+ id: string;
3137
+ title: string;
3138
+ audience: ("public" | "agents" | "human")[];
3139
+ last_reviewed?: string | undefined;
3140
+ tags?: string[] | undefined;
3141
+ }[] | undefined;
3142
+ templates?: {
3143
+ id: string;
3144
+ source: string;
3145
+ target_path: string;
3146
+ consumers?: string[] | undefined;
3147
+ conditional_on?: string | undefined;
3148
+ binary?: boolean | undefined;
3149
+ mode?: number | undefined;
3150
+ }[] | undefined;
3151
+ }>;
3152
+ type WarehouseManifest = z.infer<typeof WarehouseManifest>;
3153
+
3154
+ export { AdrFrontmatter, AuditEvent, ContentFrontmatter, CostEnvelope, CostEvent, CrossRefReport, DecayConfig, DecayDays, DecayWarnEvent, Email, EnvVarName, ExternalMcpEndpoint, ExternalMcpRegistry, Federation, ForgedLockfile, GitSha, Iso8601, IsoDate, KebabSlug, McpToolRequest, McpToolResponse, ModelFamilyRegistry, ModelFamilyResolution, NexuralError, NexuralErrorCode, NxCommandEvent, OpUri, PositiveUsdAmount, RecipeManifest, Registry, RelatedRelation, RepoUrl, RevokedRecipeEntry, RevokedRecipesList, SchemaVersion, ScorecardReport, SemverString, ServiceDeclaration, Sha256Hex, SourceType, TelemetryEvent, ToolCallEvent, TrustTier, Ulid, UsdAmount, WarehouseDocument, WarehouseIndex, WarehouseManifest, WarehouseMeta, WarehouseStatus, WarehouseTemplate };
package/dist/index.js CHANGED
@@ -549,7 +549,83 @@ var RevokedRecipesList = z.object({
549
549
  generated_at: Iso8601,
550
550
  entries: z.array(RevokedRecipeEntry)
551
551
  }).strict();
552
+ var WarehouseDocument = z.object({
553
+ /** Stable id for cross-references; kebab-case. */
554
+ id: KebabSlug,
555
+ /** Path relative to the warehouse root. */
556
+ path: z.string().min(1),
557
+ /** Short human-readable title. */
558
+ title: z.string().min(3).max(160),
559
+ /**
560
+ * Who is allowed to consume this document.
561
+ * "agents" = LLM synthesis; "human" = direct read via `nx ask --human`;
562
+ * "public" = any external MCP consumer.
563
+ */
564
+ audience: z.array(z.enum(["agents", "human", "public"])).min(1).max(3),
565
+ /** Free-form tags for retrieval / filtering. */
566
+ tags: z.array(z.string().min(1).max(40)).max(20).default([]),
567
+ /**
568
+ * Last-reviewed ISO date. Decay countdown starts here. Inherits the
569
+ * warehouse's `meta.yaml.decay_rate_days` if unset.
570
+ */
571
+ last_reviewed: z.string().regex(/^\d{4}-\d{2}-\d{2}$/).optional()
572
+ }).strict();
573
+ var WarehouseTemplate = z.object({
574
+ /** Stable id for cross-references; kebab-case. */
575
+ id: KebabSlug,
576
+ /** Source path relative to the warehouse root. */
577
+ source: z.string().min(1),
578
+ /**
579
+ * Emit target path, with Handlebars-style `{{vars}}` allowed in
580
+ * path segments. Relative to the emit root.
581
+ */
582
+ target_path: z.string().min(1),
583
+ /**
584
+ * Which recipes may consume this template. `["*"]` = any recipe.
585
+ * Empty array = template not yet released to any recipe.
586
+ */
587
+ consumers: z.array(z.union([z.literal("*"), KebabSlug])).default([]),
588
+ /** Optional conditional path; same syntax as TemplateFile.conditionalOn. */
589
+ conditional_on: z.string().min(1).optional(),
590
+ /** Mark binary files (skip rendering, copy bytes). */
591
+ binary: z.boolean().default(false),
592
+ /** POSIX mode (octal). Default 0o644. */
593
+ mode: z.number().int().min(0).max(4095).optional()
594
+ }).strict();
595
+ var WarehouseManifest = z.object({
596
+ schema_version: SchemaVersion,
597
+ /** Must match the warehouse's `meta.yaml.name`. */
598
+ warehouse: KebabSlug,
599
+ /** Manifest version; bumps on document/template changes. */
600
+ version: z.string().regex(/^\d+\.\d+\.\d+$/, "semver: major.minor.patch"),
601
+ /** Short description of what this warehouse contributes. */
602
+ description: z.string().min(20).max(500),
603
+ /** Authored documents. */
604
+ documents: z.array(WarehouseDocument).default([]),
605
+ /** Forge templates. */
606
+ templates: z.array(WarehouseTemplate).default([])
607
+ }).strict().refine(
608
+ (m) => {
609
+ const docIds = /* @__PURE__ */ new Set();
610
+ for (const d of m.documents) {
611
+ if (docIds.has(d.id)) return false;
612
+ docIds.add(d.id);
613
+ }
614
+ return true;
615
+ },
616
+ { message: "document ids must be unique within a manifest" }
617
+ ).refine(
618
+ (m) => {
619
+ const tplIds = /* @__PURE__ */ new Set();
620
+ for (const t of m.templates) {
621
+ if (tplIds.has(t.id)) return false;
622
+ tplIds.add(t.id);
623
+ }
624
+ return true;
625
+ },
626
+ { message: "template ids must be unique within a manifest" }
627
+ );
552
628
 
553
- export { AdrFrontmatter, AuditEvent, ContentFrontmatter, CostEnvelope, CostEvent, CrossRefReport, DecayConfig, DecayDays, DecayWarnEvent, Email, EnvVarName, ExternalMcpEndpoint, ExternalMcpRegistry, Federation, ForgedLockfile, GitSha, Iso8601, IsoDate, KebabSlug, McpToolRequest, McpToolResponse, ModelFamilyRegistry, ModelFamilyResolution, NexuralError, NexuralErrorCode, NxCommandEvent, OpUri, PositiveUsdAmount, RecipeManifest, Registry, RelatedRelation, RepoUrl, RevokedRecipeEntry, RevokedRecipesList, SchemaVersion, ScorecardReport, SemverString, ServiceDeclaration, Sha256Hex, SourceType, TelemetryEvent, ToolCallEvent, TrustTier, Ulid, UsdAmount, WarehouseIndex, WarehouseMeta, WarehouseStatus };
629
+ export { AdrFrontmatter, AuditEvent, ContentFrontmatter, CostEnvelope, CostEvent, CrossRefReport, DecayConfig, DecayDays, DecayWarnEvent, Email, EnvVarName, ExternalMcpEndpoint, ExternalMcpRegistry, Federation, ForgedLockfile, GitSha, Iso8601, IsoDate, KebabSlug, McpToolRequest, McpToolResponse, ModelFamilyRegistry, ModelFamilyResolution, NexuralError, NexuralErrorCode, NxCommandEvent, OpUri, PositiveUsdAmount, RecipeManifest, Registry, RelatedRelation, RepoUrl, RevokedRecipeEntry, RevokedRecipesList, SchemaVersion, ScorecardReport, SemverString, ServiceDeclaration, Sha256Hex, SourceType, TelemetryEvent, ToolCallEvent, TrustTier, Ulid, UsdAmount, WarehouseDocument, WarehouseIndex, WarehouseManifest, WarehouseMeta, WarehouseStatus, WarehouseTemplate };
554
630
  //# sourceMappingURL=index.js.map
555
631
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/primitives.ts","../src/errors.ts","../src/meta.ts","../src/frontmatter.ts","../src/index-file.ts","../src/mcp.ts","../src/telemetry.ts","../src/scorecard.ts","../src/registry.ts","../src/cross-refs.ts","../src/decay.ts","../src/adr.ts","../src/recipe.ts","../src/external-mcp.ts","../src/model-router.ts","../src/revocation.ts"],"names":["z"],"mappings":";;;AASO,IAAM,OAAA,GAAU,EAAE,MAAA,EAAO,CAAE,SAAS,EAAE,MAAA,EAAQ,MAAM;AAGpD,IAAM,UAAU,CAAA,CAAE,MAAA,EAAO,CAAE,KAAA,CAAM,uBAAuB,oBAAoB;AAG5E,IAAM,OAAO,CAAA,CACjB,MAAA,EAAO,CACP,KAAA,CAAM,4BAA4B,mDAAmD;AAGjF,IAAM,YAAY,CAAA,CACtB,MAAA,EAAO,CACP,KAAA,CAAM,8BAA8B,yCAAyC;AAGzE,IAAM,YAAY,CAAA,CAAE,IAAA,CAAK,CAAC,QAAA,EAAU,UAAA,EAAY,mBAAmB,CAAC;AAIpE,IAAM,eAAA,GAAkB,EAAE,IAAA,CAAK,CAAC,UAAU,QAAA,EAAU,UAAA,EAAY,YAAA,EAAc,QAAQ,CAAC;AAIvF,IAAM,aAAA,GAAgB,CAAA,CAAE,OAAA,CAAQ,CAAC;AAIjC,IAAM,YAAA,GAAe,CAAA,CACzB,MAAA,EAAO,CACP,KAAA;AAAA,EACC,qLAAA;AAAA,EACA;AACF;AAGK,IAAM,OAAA,GAAU,EACpB,MAAA,EAAO,CACP,KAAI,CACJ,KAAA,CAAM,4BAA4B,gCAAgC;AAG9D,IAAM,KAAA,GAAQ,CAAA,CAAE,MAAA,EAAO,CAAE,KAAA;AAGzB,IAAM,SAAA,GAAY,CAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,QAAA,EAAS,CAAE,GAAA,CAAI,IAAA,EAAM,8BAA8B;AAGtF,IAAM,aAAa,CAAA,CAAE,IAAA,CAAK,CAAC,SAAA,EAAW,SAAS,CAAC;AAIhD,IAAM,SAAS,CAAA,CACnB,MAAA,EAAO,CACP,KAAA,CAAM,oBAAoB,2CAA2C;AAGjE,IAAM,YAAY,CAAA,CAAE,MAAA,EAAO,CAAE,KAAA,CAAM,kBAAkB,sCAAsC;AAG3F,IAAM,QAAQ,CAAA,CAAE,MAAA,EAAO,CAAE,KAAA,CAAM,YAAY,2CAA2C;AAGtF,IAAM,aAAa,CAAA,CAAE,MAAA,EAAO,CAAE,KAAA,CAAM,sBAAsB,8BAA8B;AAGxF,IAAM,SAAA,GAAY,CAAA,CAAE,MAAA,EAAO,CAAE,WAAA;AAC7B,IAAM,iBAAA,GAAoB,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA;ACpErC,IAAM,gBAAA,GAAmBA,EAAE,IAAA,CAAK;AAAA;AAAA,EAErC,0BAAA;AAAA,EACA,yBAAA;AAAA;AAAA,EAGA,aAAA;AAAA,EACA,iBAAA;AAAA,EACA,sBAAA;AAAA;AAAA,EAGA,mBAAA;AAAA,EACA,aAAA;AAAA;AAAA,EAGA,0BAAA;AAAA,EACA,gBAAA;AAAA,EACA,sBAAA;AAAA,EACA,yBAAA;AAAA,EACA,4BAAA;AAAA,EACA,2BAAA;AAAA;AAAA,EAGA,mBAAA;AAAA,EACA,6BAAA;AAAA,EACA,oBAAA;AAAA;AAAA,EAGA,4BAAA;AAAA,EACA,qBAAA;AAAA;AAAA,EAGA,0BAAA;AAAA,EACA;AACF,CAAC;AAGM,IAAM,YAAA,GAAeA,EACzB,MAAA,CAAO;AAAA,EACN,IAAA,EAAM,gBAAA;AAAA,EACN,OAAA,EAASA,CAAAA,CAAE,MAAA,EAAO,CAAE,IAAI,CAAC,CAAA;AAAA,EACzB,SAAA,EAAWA,EAAE,OAAA,EAAQ;AAAA,EACrB,OAAA,EAASA,CAAAA,CAAE,MAAA,CAAOA,CAAAA,CAAE,MAAA,IAAUA,CAAAA,CAAE,OAAA,EAAS,CAAA,CAAE,QAAA;AAC7C,CAAC,EACA,MAAA;AC7BH,IAAM,SAAA,GAAYA,EACf,MAAA,CAAO;AAAA,EACN,UAAA,EAAYA,CAAAA,CAAE,OAAA,CAAQ,MAAM;AAC9B,CAAC,EACA,MAAA,EAAO;AAEV,IAAM,YAAA,GAAeA,EAClB,MAAA,CAAO;AAAA,EACN,UAAA,EAAYA,CAAAA,CAAE,OAAA,CAAQ,UAAU,CAAA;AAAA,EAChC,YAAYA,CAAAA,CAAE,IAAA,CAAK,CAAC,iBAAA,EAAmB,gBAAA,EAAkB,qBAAqB,CAAC,CAAA;AAAA,EAC/E,QAAA,EAAUA,CAAAA,CAAE,MAAA,EAAO,CAAE,IAAI,CAAC,CAAA;AAAA,EAC1B,mBAAmBA,CAAAA,CAAE,IAAA,CAAK,CAAC,WAAA,EAAa,MAAM,CAAC;AACjD,CAAC,EACA,MAAA,EAAO;AAEV,IAAM,QAAQA,CAAAA,CAAE,kBAAA,CAAmB,cAAc,CAAC,SAAA,EAAW,YAAY,CAAC,CAAA;AAE1E,IAAM,MAAA,GAASA,EACZ,MAAA,CAAO;AAAA,EACN,WAAA,EAAaA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,EAAI;AAAA,EAC5B,OAAA,EAASA,EAAE,IAAA,CAAK,CAAC,YAAY,QAAA,EAAU,SAAA,EAAW,QAAQ,CAAC,CAAA;AAAA,EAC3D,gBAAgBA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,QAAA;AACnC,CAAC,EACA,MAAA,EAAO;AAEV,IAAM,GAAA,GAAMA,EACT,MAAA,CAAO;AAAA,EACN,WAAA,EAAa,SAAA;AAAA,EACb,SAASA,CAAAA,CAAE,KAAA,CAAM,SAAS,CAAA,CAAE,IAAI,CAAC;AACnC,CAAC,EACA,MAAA,EAAO;AAEV,IAAM,SAAA,GAAYA,EACf,MAAA,CAAO;AAAA,EACN,eAAeA,CAAAA,CAAE,KAAA,CAAM,SAAS,CAAA,CAAE,OAAA,CAAQ,EAAE,CAAA;AAAA,EAC5C,UAAA,EAAYA,EACT,MAAA,CAAO;AAAA,IACN,MAAA,EAAQA,EAAE,OAAA,EAAQ;AAAA,IAClB,MAAA,EAAQA,EAAE,OAAA,EAAQ;AAAA,IAClB,KAAA,EAAOA,EAAE,OAAA;AAAQ,GAClB,EACA,MAAA;AACL,CAAC,EACA,MAAA,EAAO;AAEV,IAAM,OAAA,GAAUA,EACb,MAAA,CAAO;AAAA,EACN,cAAA,EAAgBA,EAAE,MAAA,EAAO,CAAE,KAAI,CAAE,WAAA,GAAc,QAAA,EAAS;AAAA,EACxD,gBAAA,EAAkBA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,EAAI,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,GAAG,CAAA,CAAE,QAAA;AACrD,CAAC,EACA,MAAA,EAAO;AAEV,IAAM,KAAA,GAAQA,EACX,MAAA,CAAO;AAAA,EACN,IAAA,EAAM,OAAA;AAAA,EACN,MAAMA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,QAAA;AACzB,CAAC,EACA,MAAA,EAAO;AAEH,IAAM,aAAA,GAAgBA,EAC1B,MAAA,CAAO;AAAA,EACN,cAAA,EAAgB,aAAA;AAAA,EAChB,IAAA,EAAM,SAAA;AAAA,EACN,IAAA,EAAM,SAAA;AAAA,EACN,WAAA,EAAaA,EAAE,MAAA,EAAO,CAAE,IAAI,EAAE,CAAA,CAAE,IAAI,GAAG,CAAA;AAAA,EACvC,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,IAAI,CAAC,CAAA;AAAA,EACvB,OAAA,EAAS,OAAA;AAAA,EACT,aAAA,EAAe,OAAA;AAAA,EACf,eAAA,EAAiB,SAAA;AAAA,EACjB,MAAA,EAAQ,eAAA;AAAA,EACR,WAAA,EAAa,UAAU,QAAA,EAAS;AAAA;AAAA,EAGhC,UAAA,EAAY,UAAA;AAAA,EAEZ,KAAA,EAAO,KAAA;AAAA,EACP,MAAA,EAAQ,MAAA;AAAA,EACR,GAAA,EAAK,GAAA;AAAA,EACL,UAAA,EAAY,SAAA;AAAA,EACZ,OAAA,EAAS,QAAQ,QAAA,EAAS;AAAA,EAC1B,KAAA,EAAO;AACT,CAAC,CAAA,CACA,MAAA,EAAO,CACP,MAAA,CAAO,CAAC,CAAA,KAAM,CAAA,CAAE,MAAA,KAAW,QAAA,IAAY,CAAC,CAAC,CAAA,CAAE,WAAA,EAAa;AAAA,EACvD,OAAA,EAAS;AACX,CAAC,CAAA,CACA,MAAA,CAAO,CAAC,CAAA,KAAM,CAAA,CAAE,SAAS,mBAAA,IAAuB,CAAA,CAAE,KAAA,CAAM,UAAA,KAAe,UAAA,EAAY;AAAA,EAClF,OAAA,EAAS;AACX,CAAC,CAAA,CACA,MAAA,CAAO,CAAC,CAAA,KAAM,CAAA,CAAE,IAAA,KAAS,QAAA,IAAY,CAAC,CAAA,CAAE,UAAA,CAAW,UAAA,CAAW,MAAA,EAAQ;AAAA,EACrE,OAAA,EAAS;AACX,CAAC;ACzGI,IAAM,UAAA,GAAaA,EAAE,IAAA,CAAK;AAAA,EAC/B,WAAA;AAAA,EACA,UAAA;AAAA,EACA,WAAA;AAAA,EACA,UAAA;AAAA,EACA,YAAA;AAAA,EACA,UAAA;AAAA,EACA,WAAA;AAAA,EACA,SAAA;AAAA,EACA,WAAA;AAAA,EACA,QAAA;AAAA,EACA;AACF,CAAC;AAGM,IAAM,eAAA,GAAkBA,EAAE,IAAA,CAAK,CAAC,WAAW,YAAA,EAAc,SAAA,EAAW,aAAA,EAAe,OAAO,CAAC;AAGlG,IAAM,OAAA,GAAUA,EACb,MAAA,CAAO;AAAA,EACN,SAAA,EAAW,SAAA;AAAA,EACX,IAAIA,CAAAA,CAAE,KAAA,CAAM,CAAC,IAAA,EAAM,SAAS,CAAC,CAAA;AAAA,EAC7B,QAAA,EAAU;AACZ,CAAC,EACA,MAAA,EAAO;AAEV,IAAM,UAAA,GAAaA,EAChB,MAAA,CAAO;AAAA,EACN,cAAA,EAAgBA,EAAE,OAAA,EAAQ;AAAA,EAC1B,kBAAA,EAAoBA,EAAE,OAAA;AACxB,CAAC,EACA,MAAA,EAAO;AAEH,IAAM,kBAAA,GAAqBA,EAC/B,MAAA,CAAO;AAAA,EACN,cAAA,EAAgB,aAAA;AAAA,EAChB,IAAIA,CAAAA,CAAE,KAAA,CAAM,CAAC,IAAA,EAAM,SAAS,CAAC,CAAA;AAAA,EAC7B,KAAA,EAAOA,EAAE,MAAA,EAAO,CAAE,IAAI,CAAC,CAAA,CAAE,IAAI,GAAG,CAAA;AAAA,EAChC,OAAA,EAASA,EAAE,MAAA,EAAO,CAAE,IAAI,EAAE,CAAA,CAAE,IAAI,GAAG,CAAA;AAAA,EACnC,MAAMA,CAAAA,CAAE,KAAA,CAAM,SAAS,CAAA,CAAE,IAAI,EAAE,CAAA;AAAA,EAC/B,OAAA,EAAS,OAAA;AAAA,EACT,OAAA,EAAS,OAAA;AAAA,EACT,aAAA,EAAe,OAAA;AAAA,EACf,eAAA,EAAiB,UAAU,QAAA,EAAS;AAAA,EACpC,MAAA,EAAQA,EAAE,IAAA,CAAK,CAAC,SAAS,QAAA,EAAU,UAAA,EAAY,YAAY,CAAC,CAAA;AAAA,EAC5D,OAAA,EAASA,EAAE,KAAA,CAAMA,CAAAA,CAAE,QAAQ,CAAA,CAAE,IAAI,CAAC,CAAA;AAAA,EAClC,WAAA,EAAa,UAAA;AAAA,EACb,SAASA,CAAAA,CAAE,KAAA,CAAM,OAAO,CAAA,CAAE,OAAA,CAAQ,EAAE,CAAA;AAAA,EACpC,UAAA,EAAY;AACd,CAAC,EACA,MAAA;AChDH,IAAM,UAAA,GAAaA,EAChB,MAAA,CAAO;AAAA,EACN,IAAIA,CAAAA,CAAE,KAAA,CAAM,CAAC,IAAA,EAAM,SAAS,CAAC,CAAA;AAAA,EAC7B,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,EACf,KAAA,EAAOA,EAAE,MAAA,EAAO;AAAA,EAChB,IAAA,EAAMA,CAAAA,CAAE,KAAA,CAAM,SAAS,CAAA;AAAA,EACvB,OAAA,EAAS,OAAA;AAAA,EACT,aAAA,EAAe,OAAA;AAAA,EACf,WAAA,EAAa;AACf,CAAC,EACA,MAAA,EAAO;AAEV,IAAM,WAAA,GAAcA,EACjB,MAAA,CAAO;AAAA,EACN,iBAAiBA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,WAAA,EAAY;AAAA,EAC9C,eAAeA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,WAAA,EAAY;AAAA,EAC5C,SAAA,EAAWA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,EAAI,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,GAAG,CAAA,CAAE,QAAA;AAC9C,CAAC,EACA,MAAA,EAAO;AAEH,IAAM,cAAA,GAAiBA,EAC3B,MAAA,CAAO;AAAA,EACN,cAAA,EAAgB,aAAA;AAAA,EAChB,SAAA,EAAW,SAAA;AAAA,EACX,YAAA,EAAc,OAAA;AAAA,EACd,iBAAA,EAAmB,YAAA;AAAA,EACnB,OAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,WAAA,EAAY;AAAA,EACpC,OAAA,EAASA,CAAAA,CAAE,KAAA,CAAM,UAAU,CAAA;AAAA,EAC3B,MAAA,EAAQ;AACV,CAAC,EACA,MAAA;AC9BH,IAAM,MAAA,GAASA,EACZ,MAAA,CAAO;AAAA,EACN,IAAA,EAAMA,EAAE,IAAA,CAAK,CAAC,UAAU,OAAA,EAAS,WAAA,EAAa,MAAM,CAAC,CAAA;AAAA,EACrD,UAAA,EAAY,KAAK,QAAA,EAAS;AAAA,EAC1B,IAAA,EAAMA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AACnB,CAAC,EACA,MAAA,EAAO;AAEH,IAAM,cAAA,GAAiBA,EAC3B,MAAA,CAAO;AAAA,EACN,cAAA,EAAgB,aAAA;AAAA,EAChB,UAAA,EAAY,IAAA;AAAA,EACZ,MAAA,EAAQ,MAAA;AAAA,EACR,IAAA,EAAM,SAAA;AAAA,EACN,IAAA,EAAMA,EAAE,MAAA,CAAOA,CAAAA,CAAE,QAAO,EAAGA,CAAAA,CAAE,SAAS,CAAA;AAAA,EACtC,UAAA,EAAYA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,EAAI,CAAE,QAAA,EAAS,CAAE,GAAA,CAAI,GAAM,CAAA,CAAE,OAAA,CAAQ,GAAK;AACnE,CAAC,EACA,MAAA;AAGH,IAAM,UAAA,GAAaA,EAChB,MAAA,CAAO;AAAA,EACN,IAAA,EAAMA,EAAE,IAAA,CAAK;AAAA,IACX,OAAA;AAAA,IACA,eAAA;AAAA,IACA,gBAAA;AAAA,IACA,eAAA;AAAA,IACA,YAAA;AAAA,IACA,4BAAA;AAAA,IACA,mBAAA;AAAA,IACA;AAAA,GACD,CAAA;AAAA,EACD,OAAA,EAASA,EAAE,MAAA;AACb,CAAC,EACA,MAAA,EAAO;AAEV,IAAM,WAAA,GAAcA,EACjB,MAAA,CAAO;AAAA,EACN,SAAA,EAAW,SAAA;AAAA,EACX,IAAIA,CAAAA,CAAE,KAAA,CAAM,CAAC,IAAA,EAAM,SAAS,CAAC,CAAA;AAAA,EAC7B,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC3B,KAAKA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,QAAA;AACxB,CAAC,EACA,MAAA,EAAO;AAEV,IAAM,aAAA,GAAgBA,EACnB,MAAA,CAAO;AAAA,EACN,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,EACf,OAAA,EAASA,EAAE,MAAA,EAAO;AAAA,EAClB,SAAA,EAAWA,EAAE,OAAA;AACf,CAAC,EACA,MAAA,EAAO;AAEH,IAAM,eAAA,GAAkBA,EAC5B,MAAA,CAAO;AAAA,EACN,cAAA,EAAgB,aAAA;AAAA,EAChB,UAAA,EAAY,IAAA;AAAA,EACZ,SAAA,EAAW,SAAA;AAAA,EACX,IAAA,EAAM,SAAA;AAAA,EACN,EAAA,EAAIA,EAAE,OAAA,EAAQ;AAAA,EACd,YAAYA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,WAAA,EAAY;AAAA,EACzC,IAAA,EAAMA,CAAAA,CAAE,OAAA,EAAQ,CAAE,QAAA,EAAS;AAAA,EAC3B,KAAA,EAAO,cAAc,QAAA,EAAS;AAAA,EAC9B,UAAUA,CAAAA,CAAE,KAAA,CAAM,UAAU,CAAA,CAAE,OAAA,CAAQ,EAAE,CAAA;AAAA,EACxC,WAAWA,CAAAA,CAAE,KAAA,CAAM,WAAW,CAAA,CAAE,OAAA,CAAQ,EAAE;AAC5C,CAAC,CAAA,CACA,MAAA,EAAO,CACP,MAAA,CAAO,CAAC,CAAA,KAAM,CAAA,CAAE,EAAA,IAAM,CAAC,CAAC,CAAA,CAAE,KAAA,EAAO;AAAA,EAChC,OAAA,EAAS;AACX,CAAC;ACrEH,IAAM,SAAA,GAAYA,EAAE,MAAA,CAAO;AAAA,EACzB,cAAA,EAAgB,aAAA;AAAA,EAChB,QAAA,EAAU,IAAA;AAAA,EACV,EAAA,EAAI,OAAA;AAAA,EACJ,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,EACf,OAAA,EAASA,EAAE,IAAA,CAAK,CAAC,MAAM,QAAA,EAAU,eAAA,EAAiB,IAAA,EAAM,MAAM,CAAC,CAAA;AAAA,EAC/D,UAAA,EAAY,KAAK,QAAA;AACnB,CAAC,CAAA;AAEM,IAAM,aAAA,GAAgB,UAAU,MAAA,CAAO;AAAA,EAC5C,IAAA,EAAMA,CAAAA,CAAE,OAAA,CAAQ,WAAW,CAAA;AAAA,EAC3B,SAAA,EAAW,SAAA;AAAA,EACX,IAAA,EAAM,SAAA;AAAA,EACN,YAAYA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,WAAA,EAAY;AAAA,EACzC,EAAA,EAAIA,EAAE,OAAA,EAAQ;AAAA,EACd,UAAA,EAAYA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AACzB,CAAC,EAAE,MAAA;AAEI,IAAM,cAAA,GAAiB,UAAU,MAAA,CAAO;AAAA,EAC7C,IAAA,EAAMA,CAAAA,CAAE,OAAA,CAAQ,YAAY,CAAA;AAAA,EAC5B,OAAA,EAAS,SAAA;AAAA,EACT,WAAWA,CAAAA,CAAE,MAAA,EAAO,CAAE,KAAA,CAAM,kBAAkB,oBAAoB,CAAA;AAAA,EAClE,YAAYA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,WAAA,EAAY;AAAA,EACzC,SAAA,EAAWA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA;AACxB,CAAC,EAAE,MAAA;AAEI,IAAM,cAAA,GAAiB,UAAU,MAAA,CAAO;AAAA,EAC7C,IAAA,EAAMA,CAAAA,CAAE,OAAA,CAAQ,YAAY,CAAA;AAAA,EAC5B,SAAA,EAAW,SAAA;AAAA,EACX,mBAAmBA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,WAAA,EAAY;AAAA,EAChD,eAAA,EAAiB,SAAA;AAAA,EACjB,UAAUA,CAAAA,CAAE,IAAA,CAAK,CAAC,MAAA,EAAQ,YAAY,CAAC;AACzC,CAAC,EAAE,MAAA;AAEI,IAAM,UAAA,GAAa,UAAU,MAAA,CAAO;AAAA,EACzC,IAAA,EAAMA,CAAAA,CAAE,OAAA,CAAQ,OAAO,CAAA;AAAA,EACvB,EAAA,EAAIA,EAAE,IAAA,CAAK,CAAC,WAAW,SAAA,EAAW,YAAA,EAAc,UAAA,EAAY,WAAW,CAAC,CAAA;AAAA,EACxE,SAAA,EAAW,UAAU,QAAA,EAAS;AAAA,EAC9B,SAAA,EAAW,KAAK,QAAA,EAAS;AAAA,EACzB,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,IAAA,EAAMA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA;AACnB,CAAC,EAAE,MAAA;AAGI,IAAM,SAAA,GAAY,UAAU,MAAA,CAAO;AAAA,EACxC,IAAA,EAAMA,CAAAA,CAAE,OAAA,CAAQ,YAAY,CAAA;AAAA,EAC5B,GAAA,EAAK,SAAA;AAAA,EACL,MAAA,EAAQ,SAAA;AAAA,EACR,UAAUA,CAAAA,CAAE,IAAA,CAAK,CAAC,MAAA,EAAQ,UAAA,EAAY,eAAe,CAAC,CAAA;AAAA,EACtD,OAAOA,CAAAA,CAAE,IAAA,CAAK,CAAC,aAAA,EAAe,cAAA,EAAgB,aAAa,CAAC,CAAA;AAAA,EAC5D,aAAA,EAAeA,CAAAA,CAAE,MAAA,EAAO,CAAE,WAAA,EAAY;AAAA,EACtC,OAAA,EAASA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC7B,SAAA,EAAWA,EACR,MAAA,EAAO,CACP,MAAM,gBAAA,EAAkB,wCAAwC,EAChE,QAAA;AACL,CAAC,EAAE,MAAA;AAEI,IAAM,cAAA,GAAiBA,CAAAA,CAAE,kBAAA,CAAmB,MAAA,EAAQ;AAAA,EACzD,aAAA;AAAA,EACA,cAAA;AAAA,EACA,cAAA;AAAA,EACA,UAAA;AAAA,EACA;AACF,CAAC;ACnED,IAAM,OAAA,GAAUA,EACb,MAAA,CAAO;AAAA,EACN,QAAA,EAAU,SAAA;AAAA,EACV,QAAA,EAAUA,EAAE,IAAA,CAAK,CAAC,QAAQ,MAAA,EAAQ,OAAA,EAAS,UAAU,CAAC,CAAA;AAAA,EACtD,OAAA,EAASA,EAAE,MAAA,EAAO;AAAA,EAClB,IAAA,EAAMA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AACnB,CAAC,EACA,MAAA,EAAO;AAEV,IAAM,KAAA,GAAQA,CAAAA,CAAE,IAAA,CAAK,CAAC,GAAA,EAAK,KAAK,GAAA,EAAK,GAAA,EAAK,GAAA,EAAK,GAAG,CAAC,CAAA;AAEnD,IAAM,cAAA,GAAiBA,EACpB,MAAA,CAAO;AAAA,EACN,IAAA,EAAM,SAAA;AAAA,EACN,UAAA,EAAY,UAAA;AAAA,EACZ,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,GAAG,CAAA;AAAA,EACtC,KAAA,EAAO,KAAA;AAAA,EACP,QAAA,EAAUA,CAAAA,CAAE,KAAA,CAAM,OAAO;AAC3B,CAAC,EACA,MAAA,EAAO;AAEV,IAAM,SAAA,GAAYA,EACf,MAAA,CAAO;AAAA,EACN,UAAA,EAAYA,EAAE,MAAA,EAAO;AAAA,EACrB,YAAA,EAAcA,EAAE,MAAA,EAAO;AAAA,EACvB,gBAAgBA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,WAAA,EAAY;AAAA,EAC7C,gBAAgBA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,WAAA;AACnC,CAAC,EACA,MAAA,EAAO;AAEH,IAAM,eAAA,GAAkBA,EAC5B,MAAA,CAAO;AAAA,EACN,cAAA,EAAgB,aAAA;AAAA,EAChB,YAAA,EAAc,OAAA;AAAA,EACd,UAAA,EAAYA,CAAAA,CAAE,KAAA,CAAM,cAAc,CAAA;AAAA,EAClC,SAAA,EAAW;AACb,CAAC,EACA,MAAA;ACxBH,IAAM,aAAA,GAAgBA,EACnB,MAAA,CAAO;AAAA,EACN,IAAA,EAAM,SAAA;AAAA,EACN,IAAA,EAAM,SAAA;AAAA,EACN,MAAA,EAAQ,eAAA;AAAA,EACR,IAAA,EAAM,OAAA;AAAA,EACN,aAAA,EAAe,OAAA;AAAA,EACf,eAAA,EAAiB,SAAA;AAAA,EACjB,gBAAgBA,CAAAA,CAAE,IAAA,CAAK,CAAC,cAAA,EAAgB,eAAA,EAAiB,YAAY,CAAC;AACxE,CAAC,EACA,MAAA,EAAO;AAEH,IAAM,QAAA,GAAWA,EACrB,MAAA,CAAO;AAAA,EACN,cAAA,EAAgB,aAAA;AAAA,EAChB,UAAA,EAAY,UAAA;AAAA,EACZ,YAAA,EAAc,OAAA;AAAA,EACd,UAAA,EAAYA,CAAAA,CAAE,KAAA,CAAM,aAAa;AACnC,CAAC,EACA,MAAA;AC/BH,IAAM,IAAA,GAAOA,EACV,MAAA,CAAO;AAAA,EACN,cAAA,EAAgB,SAAA;AAAA,EAChB,SAASA,CAAAA,CAAE,KAAA,CAAM,CAAC,IAAA,EAAM,SAAS,CAAC,CAAA;AAAA,EAClC,YAAA,EAAc,SAAA;AAAA,EACd,OAAOA,CAAAA,CAAE,KAAA,CAAM,CAAC,IAAA,EAAM,SAAS,CAAC,CAAA;AAAA,EAChC,QAAA,EAAUA,EAAE,MAAA,EAAO;AAAA,EACnB,KAAA,EAAOA,EAAE,OAAA,EAAQ;AAAA,EACjB,MAAA,EAAQA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AACrB,CAAC,EACA,MAAA,EAAO;AAEV,IAAM,OAAA,GAAUA,EACb,MAAA,CAAO;AAAA,EACN,OAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,WAAA,EAAY;AAAA,EACpC,QAAQA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,WAAA,EAAY;AAAA,EACrC,iBAAA,EAAmBA,CAAAA,CAAE,KAAA,CAAM,SAAS;AACtC,CAAC,EACA,MAAA,EAAO;AAEH,IAAM,cAAA,GAAiBA,EAC3B,MAAA,CAAO;AAAA,EACN,cAAA,EAAgB,aAAA;AAAA,EAChB,YAAA,EAAc,OAAA;AAAA,EACd,KAAA,EAAOA,CAAAA,CAAE,KAAA,CAAM,IAAI,CAAA;AAAA,EACnB,OAAA,EAAS;AACX,CAAC,EACA,MAAA;ACzBH,IAAM,QAAA,GAAWA,EACd,MAAA,CAAO;AAAA,EACN,KAAA,EAAOA,EACJ,MAAA,CAAO;AAAA,IACN,GAAA,EAAK,UAAU,QAAA,EAAS;AAAA,IACxB,WAAA,EAAa,WAAW,QAAA,EAAS;AAAA,IACjC,SAAA,EAAWA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AAAS,GAChC,EACA,MAAA,EAAO;AAAA,EACV,UAAA,EAAY;AACd,CAAC,EACA,MAAA,EAAO;AAEH,IAAM,WAAA,GAAcA,EACxB,MAAA,CAAO;AAAA,EACN,cAAA,EAAgB,aAAA;AAAA,EAChB,YAAA,EAAc,UAAU,QAAA,EAAS;AAAA,EACjC,WAAWA,CAAAA,CAAE,KAAA,CAAM,QAAQ,CAAA,CAAE,OAAA,CAAQ,EAAE;AACzC,CAAC,EACA,MAAA;ACrBI,IAAM,cAAA,GAAiBA,EAC3B,MAAA,CAAO;AAAA,EACN,QAAQA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,QAAA,EAAS;AAAA,EAClC,KAAA,EAAOA,EAAE,MAAA,EAAO,CAAE,IAAI,CAAC,CAAA,CAAE,IAAI,GAAG,CAAA;AAAA,EAChC,MAAA,EAAQA,EAAE,IAAA,CAAK,CAAC,YAAY,UAAA,EAAY,YAAA,EAAc,YAAY,CAAC,CAAA;AAAA,EACnE,UAAA,EAAYA,EAAE,MAAA,EAAO,CAAE,KAAI,CAAE,QAAA,GAAW,QAAA,EAAS;AAAA,EACjD,aAAA,EAAeA,EAAE,MAAA,EAAO,CAAE,KAAI,CAAE,QAAA,GAAW,QAAA,EAAS;AAAA,EACpD,IAAA,EAAM,OAAA;AAAA,EACN,QAAA,EAAUA,EAAE,KAAA,CAAMA,CAAAA,CAAE,QAAQ,CAAA,CAAE,IAAI,CAAC,CAAA;AAAA,EACnC,UAAA,EAAY;AACd,CAAC,EACA,MAAA;ACIH,IAAM,aAAA,GAAgBA,EACnB,MAAA,CAAO;AAAA,EACN,EAAA,EAAI,SAAA;AAAA,EACJ,OAAA,EAASA,CAAAA,CAAE,OAAA,CAAQ,QAAQ,CAAA;AAAA,EAC3B,QAAA,EAAUA,CAAAA,CAAE,OAAA,CAAQ,YAAY,CAAA;AAAA,EAChC,MAAMA,CAAAA,CAAE,IAAA,CAAK,CAAC,QAAA,EAAU,kBAAkB,CAAC;AAC7C,CAAC,EACA,MAAA,EAAO;AAEV,IAAM,YAAA,GAAeA,EAClB,MAAA,CAAO;AAAA,EACN,EAAA,EAAI,SAAA;AAAA,EACJ,OAAA,EAASA,CAAAA,CAAE,OAAA,CAAQ,OAAO,CAAA;AAAA,EAC1B,QAAA,EAAUA,CAAAA,CAAE,OAAA,CAAQ,QAAQ,CAAA;AAAA,EAC5B,gBAAgBA,CAAAA,CAAE,IAAA,CAAK,CAAC,MAAA,EAAQ,MAAM,CAAC,CAAA;AAAA,EACvC,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,EACf,IAAA,EAAMA,CAAAA,CAAE,OAAA,CAAQ,OAAO,CAAA;AAAA,EACvB,QAAA,EAAUA,EAAE,MAAA,EAAO;AAAA,EACnB,GAAA,EAAKA,CAAAA,CAAE,IAAA,CAAK,CAAC,MAAA,EAAQ,IAAA,EAAM,MAAA,EAAQ,MAAM,CAAC,CAAA,CAAE,OAAA,CAAQ,MAAM;AAC5D,CAAC,EACA,MAAA,EAAO;AAEV,IAAM,cAAA,GAAiBA,EACpB,MAAA,CAAO;AAAA,EACN,EAAA,EAAI,SAAA;AAAA,EACJ,OAAA,EAASA,CAAAA,CAAE,OAAA,CAAQ,SAAS,CAAA;AAAA,EAC5B,UAAUA,CAAAA,CAAE,IAAA,CAAK,CAAC,QAAA,EAAU,MAAM,CAAC,CAAA;AAAA,EACnC,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,EACf,IAAA,EAAMA,CAAAA,CAAE,OAAA,CAAQ,SAAS,CAAA;AAAA,EACzB,QAAA,EAAUA,EAAE,MAAA;AACd,CAAC,EACA,MAAA,EAAO;AAEV,IAAM,uBAAA,GAA0BA,EAC7B,MAAA,CAAO;AAAA,EACN,EAAA,EAAI,SAAA;AAAA,EACJ,OAAA,EAASA,CAAAA,CAAE,OAAA,CAAQ,mBAAmB,CAAA;AAAA,EACtC,QAAA,EAAUA,CAAAA,CAAE,OAAA,CAAQ,YAAY,CAAA;AAAA,EAChC,IAAA,EAAMA,CAAAA,CAAE,OAAA,CAAQ,YAAY,CAAA;AAAA,EAC5B,QAAA,EAAUA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AACvB,CAAC,EACA,MAAA,EAAO;AAEH,IAAM,kBAAA,GAAqBA,CAAAA,CAAE,kBAAA,CAAmB,SAAA,EAAW;AAAA,EAChE,aAAA;AAAA,EACA,YAAA;AAAA,EACA,cAAA;AAAA,EACA;AACF,CAAC;AAKM,IAAM,YAAA,GAAeA,EACzB,MAAA,CAAO;AAAA,EACN,mBAAA,EAAqB,SAAA;AAAA,EACrB,mBAAA,EAAqB,SAAA;AAAA,EACrB,oBAAA,EAAsB,SAAA;AAAA,EACtB,SAAA,EAAWA,EACR,MAAA,CAAO;AAAA,IACN,eAAA,EAAiB,iBAAA;AAAA,IACjB,oBAAA,EAAsB,iBAAA;AAAA,IACtB,mBAAA,EAAqB;AAAA,GACtB,EACA,MAAA;AACL,CAAC,EACA,MAAA;AAKH,IAAM,iBAAA,GAAoBA,EACvB,MAAA,CAAO;AAAA,EACN,YAAA,EAAc,SAAA;AAAA,EACd,OAAA,EAAS,KAAA;AAAA,EACT,WAAA,EAAaA,EAAE,MAAA,EAAO;AAAA,EACtB,UAAA,EAAY;AACd,CAAC,EACA,MAAA,EAAO;AAIV,IAAM,YAAA,GAAeA,EAClB,MAAA,CAAO;AAAA,EACN,cAAA,EAAgBA,CAAAA,CAAE,OAAA,EAAQ,CAAE,QAAQ,IAAI,CAAA;AAAA,EACxC,oBAAA,EAAsBA,EAAE,KAAA,CAAMA,CAAAA,CAAE,QAAQ,CAAA,CAAE,OAAA,CAAQ,EAAE;AACtD,CAAC,CAAA,CACA,MAAA,EAAO,CACP,OAAA,CAAQ,EAAE,gBAAgB,IAAA,EAAM,oBAAA,EAAsB,EAAC,EAAG,CAAA;AAI7D,IAAM,UAAA,GAAaA,EAChB,MAAA,CAAO;AAAA,EACN,aAAA,EAAeA,EAAE,MAAA,EAAO;AAAA,EACxB,cAAA,EAAgBA,EAAE,KAAA,CAAMA,CAAAA,CAAE,QAAQ,CAAA,CAAE,OAAA,CAAQ,EAAE,CAAA;AAAA,EAC9C,eAAA,EAAiBA,EAAE,KAAA,CAAMA,CAAAA,CAAE,QAAQ,CAAA,CAAE,OAAA,CAAQ,EAAE;AACjD,CAAC,EACA,MAAA,EAAO;AAEH,IAAM,cAAA,GAAiBA,EAC3B,MAAA,CAAO;AAAA,EACN,cAAA,EAAgB,aAAA;AAAA,EAChB,IAAA,EAAM,SAAA;AAAA,EACN,OAAA,EAAS,YAAA;AAAA,EACT,WAAA,EAAaA,EAAE,MAAA,EAAO,CAAE,IAAI,EAAE,CAAA,CAAE,IAAI,GAAG,CAAA;AAAA;AAAA,EAGvC,OAAA,EAAS,UAAU,QAAA,EAAS;AAAA,EAC5B,UAAUA,CAAAA,CAAE,KAAA,CAAM,SAAS,CAAA,CAAE,OAAA,CAAQ,EAAE,CAAA;AAAA;AAAA,EAGvC,aAAA,EAAeA,EAAE,MAAA,EAAO;AAAA;AAAA,EAGxB,YAAYA,CAAAA,CAAE,KAAA,CAAM,SAAS,CAAA,CAAE,IAAI,CAAC,CAAA;AAAA,EACpC,UAAUA,CAAAA,CAAE,KAAA,CAAM,kBAAkB,CAAA,CAAE,OAAA,CAAQ,EAAE,CAAA;AAAA;AAAA,EAGhD,UAAA,EAAYA,CAAAA,CAAE,IAAA,CAAK,CAAC,MAAA,EAAQ,UAAA,EAAY,UAAA,EAAY,MAAM,CAAC,CAAA,CAAE,OAAA,CAAQ,UAAU,CAAA;AAAA;AAAA,EAG/E,aAAA,EAAe,YAAA;AAAA,EACf,cAAA,EAAgBA,CAAAA,CAAE,KAAA,CAAMA,CAAAA,CAAE,MAAA,EAAO,CAAE,KAAA,CAAM,yBAAyB,CAAC,CAAA,CAAE,OAAA,CAAQ,EAAE,CAAA;AAAA;AAAA,EAG/E,gBAAgBA,CAAAA,CAAE,IAAA,CAAK,CAAC,KAAA,EAAO,YAAA,EAAc,KAAK,CAAC,CAAA;AAAA,EACnD,wBAAA,EAA0BA,CAAAA,CAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA;AAAA;AAAA,EAGnD,kBAAkBA,CAAAA,CAAE,KAAA,CAAM,iBAAiB,CAAA,CAAE,OAAA,CAAQ,EAAE,CAAA;AAAA;AAAA,EAGvD,IAAA,EAAM,UAAA;AAAA;AAAA,EAGN,iBAAA,EAAmBA,EAAE,MAAA,EAAO;AAAA,EAC5B,cAAA,EAAgBA,EAAE,MAAA,EAAO;AAAA;AAAA,EAGzB,aAAA,EAAe;AACjB,CAAC,CAAA,CACA,MAAA,EAAO,CACP,MAAA,CAAO,CAAC,CAAA,KAAM,CAAA,CAAE,QAAA,CAAS,MAAA,GAAS,CAAA,IAAK,CAAA,CAAE,UAAA,CAAW,SAAS,CAAA,EAAG;AAAA,EAC/D,OAAA,EAAS;AACX,CAAC;AAKH,IAAM,oBAAA,GAAuBA,EAC1B,MAAA,CAAO;AAAA,EACN,IAAA,EAAM,SAAA;AAAA,EACN,GAAA,EAAK,MAAA;AAAA,EACL,OAAA,EAAS,aAAa,QAAA;AACxB,CAAC,EACA,MAAA,EAAO;AAEV,IAAM,eAAA,GAAkBA,EACrB,MAAA,CAAO;AAAA,EACN,IAAA,EAAM,SAAA;AAAA,EACN,OAAA,EAAS,YAAA;AAAA,EACT,GAAA,EAAK,MAAA;AAAA,EACL,SAAA,EAAWA,CAAAA,CAAE,MAAA,EAAO,CAAE,IAAI,CAAC,CAAA;AAAA,EAC3B,UAAA,EAAYA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA;AACzB,CAAC,EACA,MAAA,EAAO;AAEH,IAAM,cAAA,GAAiBA,EAC3B,MAAA,CAAO;AAAA,EACN,cAAA,EAAgB,aAAA;AAAA,EAChB,SAAA,EAAW,OAAA;AAAA,EACX,oBAAA,EAAsB,YAAA;AAAA,EACtB,MAAA,EAAQ,eAAA;AAAA,EACR,qBAAqBA,CAAAA,CAAE,KAAA,CAAM,oBAAoB,CAAA,CAAE,IAAI,CAAC,CAAA;AAAA,EACxD,MAAA,EAAQA,EAAE,MAAA,CAAOA,CAAAA,CAAE,QAAO,EAAGA,CAAAA,CAAE,SAAS,CAAA;AAAA,EACxC,mBAAA,EAAqBA,EAAE,KAAA,CAAMA,CAAAA,CAAE,QAAQ,CAAA,CAAE,OAAA,CAAQ,EAAE,CAAA;AAAA,EACnD,SAAA,EAAW;AACb,CAAC,EACA,MAAA;AC/LH,IAAM,kBAAA,GAAqBA,EACxB,MAAA,CAAO;AAAA,EACN,MAAA,EAAQA,EAAE,MAAA,EAAO;AAAA,EACjB,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,GAAG,CAAA;AAAA,EACtC,WAAA,EAAa,OAAA;AAAA,EACb,WAAA,EAAa;AACf,CAAC,EACA,MAAA,EAAO;AAEH,IAAM,mBAAA,GAAsBA,EAChC,MAAA,CAAO;AAAA,EACN,cAAA,EAAgB,aAAA;AAAA,EAChB,IAAA,EAAM,SAAA;AAAA,EACN,IAAA,EAAMA,CAAAA,CAAE,OAAA,CAAQ,UAAU,CAAA;AAAA,EAC1B,WAAWA,CAAAA,CAAE,IAAA,CAAK,CAAC,OAAA,EAAS,MAAA,EAAQ,WAAW,CAAC,CAAA;AAAA,EAChD,SAASA,CAAAA,CAAE,KAAA,CAAMA,EAAE,MAAA,EAAQ,EAAE,QAAA,EAAS;AAAA,EACtC,KAAKA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,QAAA,EAAS;AAAA,EAC/B,WAAA,EAAa,SAAA;AAAA,EACb,sBAAsBA,CAAAA,CAAE,IAAA,CAAK,CAAC,WAAA,EAAa,UAAU,CAAC,CAAA;AAAA,EACtD,aAAaA,CAAAA,CAAE,KAAA,CAAM,UAAU,CAAA,CAAE,IAAI,CAAC,CAAA;AAAA,EACtC,mBAAA,EAAqB;AACvB,CAAC,CAAA,CACA,QAAO,CACP,MAAA;AAAA,EACC,CAAC,CAAA,KACE,CAAA,CAAE,cAAc,OAAA,IAAW,CAAC,CAAC,CAAA,CAAE,OAAA,IAAW,CAAA,CAAE,OAAA,CAAQ,SAAS,CAAA,IAC7D,CAAA,CAAE,cAAc,OAAA,IAAW,CAAC,CAAC,CAAA,CAAE,GAAA;AAAA,EAClC,EAAE,SAAS,wDAAA;AACb;AAGK,IAAM,mBAAA,GAAsBA,EAChC,MAAA,CAAO;AAAA,EACN,cAAA,EAAgB,aAAA;AAAA,EAChB,SAAA,EAAWA,CAAAA,CAAE,KAAA,CAAM,mBAAmB;AACxC,CAAC,EACA,MAAA;ACtCH,IAAM,WAAWA,CAAAA,CACd,MAAA,EAAO,CACP,KAAA,CAAM,2BAA2B,sDAAsD,CAAA;AAE1F,IAAM,SAAA,GAAYA,EAAE,IAAA,CAAK,CAAC,YAAY,SAAA,EAAW,UAAA,EAAY,MAAA,EAAQ,OAAO,CAAC,CAAA;AAC7E,IAAM,WAAA,GAAcA,EAAE,IAAA,CAAK,CAAC,WAAW,aAAA,EAAe,YAAA,EAAc,SAAS,CAAC,CAAA;AAE9E,IAAM,OAAA,GAAUA,EACb,MAAA,CAAO;AAAA,EACN,4BAAA,EAA8BA,CAAAA,CAAE,MAAA,EAAO,CAAE,WAAA,EAAY;AAAA,EACrD,6BAAA,EAA+BA,CAAAA,CAAE,MAAA,EAAO,CAAE,WAAA,EAAY;AAAA,EACtD,qCAAqCA,CAAAA,CAAE,MAAA,EAAO,CAAE,WAAA,GAAc,QAAA;AAChE,CAAC,EACA,MAAA,EAAO;AAEH,IAAM,qBAAA,GAAwBA,EAClC,MAAA,CAAO;AAAA,EACN,MAAA,EAAQ,QAAA;AAAA,EACR,EAAA,EAAIA,CAAAA,CAAE,MAAA,EAAO,CAAE,IAAI,CAAC,CAAA;AAAA,EACpB,IAAA,EAAM,SAAA;AAAA,EACN,gBAAgBA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,QAAA,EAAS;AAAA,EAC1C,OAAA,EAAS,OAAA;AAAA;AAAA,EAET,sCAAsCA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,GAAW,QAAA,EAAS;AAAA,EACrE,aAAA,EAAe,QAAQ,QAAA,EAAS;AAAA,EAChC,MAAA,EAAQ;AACV,CAAC,EACA,MAAA;AAGI,IAAM,mBAAA,GAAsBA,EAChC,MAAA,CAAO;AAAA,EACN,cAAA,EAAgB,aAAA;AAAA,EAChB,YAAA,EAAc,OAAA;AAAA,EACd,WAAA,EAAaA,CAAAA,CAAE,KAAA,CAAM,qBAAqB;AAC5C,CAAC,EACA,MAAA;ACnCI,IAAM,kBAAA,GAAqBA,EAC/B,MAAA,CAAO;AAAA,EACN,WAAA,EAAa,SAAA;AAAA,EACb,cAAA,EAAgB,YAAA;AAAA,EAChB,UAAA,EAAY,OAAA;AAAA,EACZ,QAAQA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,CAAI,IAAI,gCAAgC,CAAA;AAAA,EAC3D,QAAQA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,QAAA,EAAS;AAAA,EAClC,SAAA,EAAWA,CAAAA,CAAE,MAAA,EAAO,CAAE,IAAI,CAAC;AAC7B,CAAC,EACA,MAAA;AAGI,IAAM,kBAAA,GAAqBA,EAC/B,MAAA,CAAO;AAAA,EACN,cAAA,EAAgB,aAAA;AAAA,EAChB,YAAA,EAAc,OAAA;AAAA,EACd,OAAA,EAASA,CAAAA,CAAE,KAAA,CAAM,kBAAkB;AACrC,CAAC,EACA,MAAA","file":"index.js","sourcesContent":["/**\n * Primitive atoms imported by every other schema in @nexural/schema.\n *\n * Changing a primitive is a major version bump per SCHEMA_CHARTER §5.\n */\n\nimport { z } from \"zod\";\n\n/** ISO 8601 timestamp with timezone offset. */\nexport const Iso8601 = z.string().datetime({ offset: true });\n\n/** ISO 8601 date (YYYY-MM-DD). */\nexport const IsoDate = z.string().regex(/^\\d{4}-\\d{2}-\\d{2}$/, \"must be YYYY-MM-DD\");\n\n/** ULID — Crockford base32, 26 chars. */\nexport const Ulid = z\n .string()\n .regex(/^[0-9A-HJKMNP-TV-Z]{26}$/, \"must be a valid ULID (26 chars, Crockford base32)\");\n\n/** Kebab-case slug — lowercase alphanumeric with single-hyphen separators. */\nexport const KebabSlug = z\n .string()\n .regex(/^[a-z0-9]+(?:-[a-z0-9]+)*$/, \"must be kebab-case (lowercase, hyphens)\");\n\n/** Warehouse trust tiers (per ARCHITECTURE.md §6, THREAT_MODEL §1). */\nexport const TrustTier = z.enum([\"public\", \"internal\", \"private-encrypted\"]);\nexport type TrustTier = z.infer<typeof TrustTier>;\n\n/** Warehouse lifecycle status (per RETIREMENT.md §1). */\nexport const WarehouseStatus = z.enum([\"active\", \"seeded\", \"archived\", \"deprecated\", \"merged\"]);\nexport type WarehouseStatus = z.infer<typeof WarehouseStatus>;\n\n/** Schema version — currently a single integer literal. Bumps require migration codemod (SCHEMA_CHARTER §6). */\nexport const SchemaVersion = z.literal(1);\nexport type SchemaVersion = z.infer<typeof SchemaVersion>;\n\n/** Strict semver string per https://semver.org */\nexport const SemverString = z\n .string()\n .regex(\n /^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$/,\n \"must be valid semver (MAJOR.MINOR.PATCH[-pre][+build])\",\n );\n\n/** GitHub repo URL — pinned to github.com (per NAMING.md). */\nexport const RepoUrl = z\n .string()\n .url()\n .regex(/^https:\\/\\/github\\.com\\//, \"must be https://github.com/...\");\n\n/** RFC 5322 email. */\nexport const Email = z.string().email();\n\n/** Decay rate in days (1 = daily, 7 = weekly, 90 = quarterly, 365 = yearly, 3650 = decadal). */\nexport const DecayDays = z.number().int().positive().max(3650, \"decay > 10 years not allowed\");\n\n/** Federation identifier (per ADR-0003). */\nexport const Federation = z.enum([\"factory\", \"lifeops\"]);\nexport type Federation = z.infer<typeof Federation>;\n\n/** Git SHA — short (7+) or full (40 or 64 for sha256). */\nexport const GitSha = z\n .string()\n .regex(/^[a-f0-9]{7,64}$/, \"must be a 7-64 char lowercase hex git SHA\");\n\n/** SHA-256 hex string (64 chars). */\nexport const Sha256Hex = z.string().regex(/^[a-f0-9]{64}$/, \"must be 64-char lowercase hex sha256\");\n\n/** 1Password CLI URI (`op://VaultName/ItemName/field`). */\nexport const OpUri = z.string().regex(/^op:\\/\\//, \"must start with op:// (1Password CLI URI)\");\n\n/** Environment variable identifier (SCREAMING_SNAKE_CASE, valid POSIX). */\nexport const EnvVarName = z.string().regex(/^[A-Z_][A-Z0-9_]*$/, \"must be SCREAMING_SNAKE_CASE\");\n\n/** USD amount (non-negative for projections, positive for caps). */\nexport const UsdAmount = z.number().nonnegative();\nexport const PositiveUsdAmount = z.number().positive();\n","/**\n * Typed error shapes used by @nexural/sdk, @nexural/mcp-base, @nexural/factory.\n *\n * All errors include a stable `code` string for telemetry filtering.\n */\n\nimport { z } from \"zod\";\n\nexport const NexuralErrorCode = z.enum([\n // Schema\n \"schema_validation_failed\",\n \"schema_version_mismatch\",\n\n // MCP\n \"mcp_timeout\",\n \"mcp_unavailable\",\n \"mcp_invalid_response\",\n\n // Decay\n \"decay_quarantined\",\n \"decay_stale\",\n\n // Recipe / forge\n \"recipe_signature_invalid\",\n \"recipe_revoked\",\n \"recipe_input_invalid\",\n \"recipe_sbom_gate_failed\",\n \"recipe_license_gate_failed\",\n \"recipe_typosquat_detected\",\n\n // Cost\n \"cost_cap_exceeded\",\n \"cost_cap_streaming_exceeded\",\n \"cost_circuit_break\",\n\n // Tier / federation\n \"tier_confinement_violation\",\n \"federation_mismatch\",\n\n // Auth / secrets\n \"secret_resolution_failed\",\n \"op_signin_required\",\n]);\nexport type NexuralErrorCode = z.infer<typeof NexuralErrorCode>;\n\nexport const NexuralError = z\n .object({\n code: NexuralErrorCode,\n message: z.string().min(1),\n retryable: z.boolean(),\n details: z.record(z.string(), z.unknown()).optional(),\n })\n .strict();\nexport type NexuralError = z.infer<typeof NexuralError>;\n","/**\n * WarehouseMeta — the `meta.yaml` file at the root of every warehouse.\n *\n * Validated:\n * - pre-commit via husky (warehouse-local `scripts/validate.mjs`)\n * - CI on every warehouse PR\n * - nightly via nexural-meta `scripts/verify-all.mjs`\n *\n * Per ARCHITECTURE.md §4.4 + ADR-0003 (federation field).\n */\n\nimport { z } from \"zod\";\nimport {\n DecayDays,\n Federation,\n IsoDate,\n KebabSlug,\n RepoUrl,\n SchemaVersion,\n TrustTier,\n WarehouseStatus,\n} from \"./primitives.js\";\n\nconst TrustNone = z\n .object({\n encryption: z.literal(\"none\"),\n })\n .strict();\n\nconst TrustAgeSops = z\n .object({\n encryption: z.literal(\"age+sops\"),\n key_source: z.enum([\"yubikey-primary\", \"yubikey-backup\", \"1password-emergency\"]),\n recovery: z.string().min(1),\n filename_strategy: z.enum([\"plaintext\", \"ulid\"]),\n })\n .strict();\n\nconst Trust = z.discriminatedUnion(\"encryption\", [TrustNone, TrustAgeSops]);\n\nconst Backup = z\n .object({\n destination: z.string().url(),\n cadence: z.enum([\"realtime\", \"hourly\", \"nightly\", \"weekly\"]),\n retention_days: z.number().int().positive(),\n })\n .strict();\n\nconst Mcp = z\n .object({\n tool_prefix: KebabSlug,\n exposes: z.array(KebabSlug).min(1),\n })\n .strict();\n\nconst CrossRefs = z\n .object({\n consumes_from: z.array(KebabSlug).default([]),\n exposed_to: z\n .object({\n public: z.boolean(),\n agents: z.boolean(),\n human: z.boolean(),\n })\n .strict(),\n })\n .strict();\n\nconst Metrics = z\n .object({\n target_entries: z.number().int().nonnegative().optional(),\n target_scorecard: z.number().int().min(0).max(100).optional(),\n })\n .strict();\n\nconst Links = z\n .object({\n repo: RepoUrl,\n docs: z.string().url().optional(),\n })\n .strict();\n\nexport const WarehouseMeta = z\n .object({\n schema_version: SchemaVersion,\n name: KebabSlug,\n tier: TrustTier,\n description: z.string().min(20).max(500),\n owner: z.string().min(1),\n created: IsoDate,\n last_reviewed: IsoDate,\n decay_rate_days: DecayDays,\n status: WarehouseStatus,\n merged_into: KebabSlug.optional(),\n\n /** Which federation this warehouse belongs to (per ADR-0003). */\n federation: Federation,\n\n trust: Trust,\n backup: Backup,\n mcp: Mcp,\n cross_refs: CrossRefs,\n metrics: Metrics.optional(),\n links: Links,\n })\n .strict()\n .refine((m) => m.status !== \"merged\" || !!m.merged_into, {\n message: \"merged status requires merged_into target\",\n })\n .refine((m) => m.tier !== \"private-encrypted\" || m.trust.encryption === \"age+sops\", {\n message: \"private-encrypted tier requires age+sops encryption\",\n })\n .refine((m) => m.tier === \"public\" || !m.cross_refs.exposed_to.public, {\n message: \"non-public tier cannot have exposed_to.public = true\",\n });\n\nexport type WarehouseMeta = z.infer<typeof WarehouseMeta>;\n","/**\n * ContentFrontmatter — per-entry `frontmatter.yaml` inside a warehouse.\n *\n * Validated at warehouse pre-commit + CI.\n */\n\nimport { z } from \"zod\";\nimport { DecayDays, IsoDate, KebabSlug, SchemaVersion, Ulid } from \"./primitives.js\";\n\nexport const SourceType = z.enum([\n \"principle\",\n \"playbook\",\n \"framework\",\n \"template\",\n \"case-study\",\n \"decision\",\n \"reference\",\n \"snippet\",\n \"checklist\",\n \"rubric\",\n \"post-mortem\",\n]);\nexport type SourceType = z.infer<typeof SourceType>;\n\nexport const RelatedRelation = z.enum([\"extends\", \"supersedes\", \"informs\", \"contradicts\", \"cites\"]);\nexport type RelatedRelation = z.infer<typeof RelatedRelation>;\n\nconst Related = z\n .object({\n warehouse: KebabSlug,\n id: z.union([Ulid, KebabSlug]),\n relation: RelatedRelation,\n })\n .strict();\n\nconst Visibility = z\n .object({\n public_via_mcp: z.boolean(),\n embedding_eligible: z.boolean(),\n })\n .strict();\n\nexport const ContentFrontmatter = z\n .object({\n schema_version: SchemaVersion,\n id: z.union([Ulid, KebabSlug]),\n title: z.string().min(3).max(200),\n summary: z.string().min(20).max(500),\n tags: z.array(KebabSlug).max(20),\n created: IsoDate,\n updated: IsoDate,\n last_reviewed: IsoDate,\n decay_rate_days: DecayDays.optional(),\n status: z.enum([\"draft\", \"active\", \"archived\", \"deprecated\"]),\n authors: z.array(z.string()).min(1),\n source_type: SourceType,\n related: z.array(Related).default([]),\n visibility: Visibility,\n })\n .strict();\n\nexport type ContentFrontmatter = z.infer<typeof ContentFrontmatter>;\n","/**\n * WarehouseIndex — generated `index.json` per warehouse.\n *\n * NEVER hand-edited. Pre-commit hook fails if hash diverges from\n * `scripts/build-index.mjs` output.\n */\n\nimport { z } from \"zod\";\nimport { SourceType } from \"./frontmatter.js\";\nimport { IsoDate, Iso8601, KebabSlug, SchemaVersion, SemverString, Ulid } from \"./primitives.js\";\n\nconst IndexEntry = z\n .object({\n id: z.union([Ulid, KebabSlug]),\n path: z.string(),\n title: z.string(),\n tags: z.array(KebabSlug),\n updated: IsoDate,\n last_reviewed: IsoDate,\n source_type: SourceType,\n })\n .strict();\n\nconst IndexHealth = z\n .object({\n decayed_entries: z.number().int().nonnegative(),\n draft_entries: z.number().int().nonnegative(),\n scorecard: z.number().int().min(0).max(100).optional(),\n })\n .strict();\n\nexport const WarehouseIndex = z\n .object({\n schema_version: SchemaVersion,\n warehouse: KebabSlug,\n generated_at: Iso8601,\n generator_version: SemverString,\n count: z.number().int().nonnegative(),\n entries: z.array(IndexEntry),\n health: IndexHealth,\n })\n .strict();\n\nexport type WarehouseIndex = z.infer<typeof WarehouseIndex>;\n","/**\n * MCP tool envelopes — used by every MCP tool exposed by every warehouse.\n *\n * Enforced by @nexural/mcp-base at runtime (Zod parse on every req/resp).\n *\n * Per SCHEMA_CHARTER §4.4 + ADR-0008 (prompt-injection warning codes).\n */\n\nimport { z } from \"zod\";\nimport { KebabSlug, SchemaVersion, Ulid } from \"./primitives.js\";\n\nconst Caller = z\n .object({\n kind: z.enum([\"nx-cli\", \"agent\", \"dashboard\", \"test\"]),\n session_id: Ulid.optional(),\n user: z.string().optional(),\n })\n .strict();\n\nexport const McpToolRequest = z\n .object({\n schema_version: SchemaVersion,\n request_id: Ulid,\n caller: Caller,\n tool: KebabSlug,\n args: z.record(z.string(), z.unknown()),\n timeout_ms: z.number().int().positive().max(30_000).default(5_000),\n })\n .strict();\nexport type McpToolRequest = z.infer<typeof McpToolRequest>;\n\nconst McpWarning = z\n .object({\n code: z.enum([\n \"stale\",\n \"draft-content\",\n \"low-confidence\",\n \"tier-mismatch\",\n \"deprecated\",\n \"tier_confinement_violation\",\n \"citation_stripped\",\n \"token_budget_trimmed\",\n ]),\n message: z.string(),\n })\n .strict();\n\nconst McpCitation = z\n .object({\n warehouse: KebabSlug,\n id: z.union([Ulid, KebabSlug]),\n title: z.string().optional(),\n url: z.string().url().optional(),\n })\n .strict();\n\nconst McpErrorShape = z\n .object({\n code: z.string(),\n message: z.string(),\n retryable: z.boolean(),\n })\n .strict();\n\nexport const McpToolResponse = z\n .object({\n schema_version: SchemaVersion,\n request_id: Ulid,\n warehouse: KebabSlug,\n tool: KebabSlug,\n ok: z.boolean(),\n latency_ms: z.number().int().nonnegative(),\n data: z.unknown().optional(),\n error: McpErrorShape.optional(),\n warnings: z.array(McpWarning).default([]),\n citations: z.array(McpCitation).default([]),\n })\n .strict()\n .refine((r) => r.ok || !!r.error, {\n message: \"non-ok response must include error\",\n });\n\nexport type McpToolResponse = z.infer<typeof McpToolResponse>;\n","/**\n * Telemetry events — written by every component (nx, router, warehouse-mcp, ci, cron).\n *\n * **Privacy:** raw query strings and tool args are NEVER stored. Only hashes.\n *\n * Per SCHEMA_CHARTER §4.5 + ADR-0007 (CostEvent).\n */\n\nimport { z } from \"zod\";\nimport { DecayDays, Iso8601, KebabSlug, SchemaVersion, Ulid } from \"./primitives.js\";\n\nconst BaseEvent = z.object({\n schema_version: SchemaVersion,\n event_id: Ulid,\n ts: Iso8601,\n host: z.string(),\n process: z.enum([\"nx\", \"router\", \"warehouse-mcp\", \"ci\", \"cron\"]),\n session_id: Ulid.optional(),\n});\n\nexport const ToolCallEvent = BaseEvent.extend({\n kind: z.literal(\"tool_call\"),\n warehouse: KebabSlug,\n tool: KebabSlug,\n latency_ms: z.number().int().nonnegative(),\n ok: z.boolean(),\n error_code: z.string().optional(),\n}).strict();\n\nexport const NxCommandEvent = BaseEvent.extend({\n kind: z.literal(\"nx_command\"),\n command: KebabSlug,\n args_hash: z.string().regex(/^[a-f0-9]{64}$/, \"must be sha256 hex\"),\n latency_ms: z.number().int().nonnegative(),\n exit_code: z.number().int(),\n}).strict();\n\nexport const DecayWarnEvent = BaseEvent.extend({\n kind: z.literal(\"decay_warn\"),\n warehouse: KebabSlug,\n days_since_review: z.number().int().nonnegative(),\n decay_rate_days: DecayDays,\n severity: z.enum([\"warn\", \"quarantine\"]),\n}).strict();\n\nexport const AuditEvent = BaseEvent.extend({\n kind: z.literal(\"audit\"),\n op: z.enum([\"decrypt\", \"encrypt\", \"key_rotate\", \"key_lost\", \"key_added\"]),\n warehouse: KebabSlug.optional(),\n file_ulid: Ulid.optional(),\n key_id: z.string(),\n exit: z.number().int(),\n}).strict();\n\n/** Per ADR-0007 §7 — emitted by @nexural/sdk.llmClient() cost wrapper. */\nexport const CostEvent = BaseEvent.extend({\n kind: z.literal(\"cost_event\"),\n app: KebabSlug,\n recipe: KebabSlug,\n severity: z.enum([\"warn\", \"exceeded\", \"circuit_break\"]),\n scope: z.enum([\"per_request\", \"per_user_day\", \"per_app_day\"]),\n projected_usd: z.number().nonnegative(),\n cap_usd: z.number().positive(),\n user_hash: z\n .string()\n .regex(/^[a-f0-9]{64}$/, \"must be sha256 hex (never raw user id)\")\n .optional(),\n}).strict();\n\nexport const TelemetryEvent = z.discriminatedUnion(\"kind\", [\n ToolCallEvent,\n NxCommandEvent,\n DecayWarnEvent,\n AuditEvent,\n CostEvent,\n]);\n\nexport type ToolCallEvent = z.infer<typeof ToolCallEvent>;\nexport type NxCommandEvent = z.infer<typeof NxCommandEvent>;\nexport type DecayWarnEvent = z.infer<typeof DecayWarnEvent>;\nexport type AuditEvent = z.infer<typeof AuditEvent>;\nexport type CostEvent = z.infer<typeof CostEvent>;\nexport type TelemetryEvent = z.infer<typeof TelemetryEvent>;\n","/**\n * ScorecardReport — generated artifact produced by nexural-qa-os\n * verify-all run. Lives at `nexural-meta/scorecard.json`.\n */\n\nimport { z } from \"zod\";\nimport { Federation, Iso8601, KebabSlug, SchemaVersion } from \"./primitives.js\";\n\nconst Finding = z\n .object({\n category: KebabSlug,\n severity: z.enum([\"info\", \"warn\", \"error\", \"critical\"]),\n message: z.string(),\n file: z.string().optional(),\n })\n .strict();\n\nconst Grade = z.enum([\"S\", \"A\", \"B\", \"C\", \"D\", \"F\"]);\n\nconst WarehouseScore = z\n .object({\n name: KebabSlug,\n federation: Federation,\n score: z.number().int().min(0).max(100),\n grade: Grade,\n findings: z.array(Finding),\n })\n .strict();\n\nconst Aggregate = z\n .object({\n mean_score: z.number(),\n median_score: z.number(),\n below_80_count: z.number().int().nonnegative(),\n below_90_count: z.number().int().nonnegative(),\n })\n .strict();\n\nexport const ScorecardReport = z\n .object({\n schema_version: SchemaVersion,\n generated_at: Iso8601,\n warehouses: z.array(WarehouseScore),\n aggregate: Aggregate,\n })\n .strict();\n\nexport type ScorecardReport = z.infer<typeof ScorecardReport>;\n","/**\n * Registry — generated per-federation artifact. Two files exist per ADR-0003:\n * - registry-factory.yaml\n * - registry-lifeops.yaml\n *\n * Generated nightly by `scripts/discover.mjs`. NEVER hand-edited.\n */\n\nimport { z } from \"zod\";\nimport {\n DecayDays,\n Federation,\n IsoDate,\n Iso8601,\n KebabSlug,\n RepoUrl,\n SchemaVersion,\n TrustTier,\n WarehouseStatus,\n} from \"./primitives.js\";\n\nconst RegistryEntry = z\n .object({\n name: KebabSlug,\n tier: TrustTier,\n status: WarehouseStatus,\n repo: RepoUrl,\n last_reviewed: IsoDate,\n decay_rate_days: DecayDays,\n discovered_via: z.enum([\"github-topic\", \"explicit-list\", \"manual-add\"]),\n })\n .strict();\n\nexport const Registry = z\n .object({\n schema_version: SchemaVersion,\n federation: Federation,\n generated_at: Iso8601,\n warehouses: z.array(RegistryEntry),\n })\n .strict();\n\nexport type Registry = z.infer<typeof Registry>;\n","/**\n * CrossRefReport — generated artifact validating `related` links across the federation.\n *\n * Produced nightly by `scripts/cross-refs.mjs`.\n */\n\nimport { z } from \"zod\";\nimport { Iso8601, KebabSlug, SchemaVersion, Ulid } from \"./primitives.js\";\n\nconst Link = z\n .object({\n from_warehouse: KebabSlug,\n from_id: z.union([Ulid, KebabSlug]),\n to_warehouse: KebabSlug,\n to_id: z.union([Ulid, KebabSlug]),\n relation: z.string(),\n valid: z.boolean(),\n reason: z.string().optional(),\n })\n .strict();\n\nconst Summary = z\n .object({\n total: z.number().int().nonnegative(),\n broken: z.number().int().nonnegative(),\n orphan_warehouses: z.array(KebabSlug),\n })\n .strict();\n\nexport const CrossRefReport = z\n .object({\n schema_version: SchemaVersion,\n generated_at: Iso8601,\n links: z.array(Link),\n summary: Summary,\n })\n .strict();\n\nexport type CrossRefReport = z.infer<typeof CrossRefReport>;\n","/**\n * DecayConfig — `.nexural/decay.yaml` inside any warehouse.\n *\n * Allows per-warehouse override of decay rate plus targeted overrides\n * for specific tags / source_types / path globs.\n */\n\nimport { z } from \"zod\";\nimport { SourceType } from \"./frontmatter.js\";\nimport { DecayDays, KebabSlug, SchemaVersion } from \"./primitives.js\";\n\nconst Override = z\n .object({\n match: z\n .object({\n tag: KebabSlug.optional(),\n source_type: SourceType.optional(),\n path_glob: z.string().optional(),\n })\n .strict(),\n decay_days: DecayDays,\n })\n .strict();\n\nexport const DecayConfig = z\n .object({\n schema_version: SchemaVersion,\n default_days: DecayDays.optional(),\n overrides: z.array(Override).default([]),\n })\n .strict();\n\nexport type DecayConfig = z.infer<typeof DecayConfig>;\n","/**\n * ADR frontmatter — for ADRs in `nexural-meta/docs/adr/NNNN-*.md`.\n *\n * Pre-commit + CI enforces this on ADR creation per ARCHITECTURE §12.\n */\n\nimport { z } from \"zod\";\nimport { IsoDate } from \"./primitives.js\";\n\nexport const AdrFrontmatter = z\n .object({\n number: z.number().int().positive(),\n title: z.string().min(5).max(120),\n status: z.enum([\"proposed\", \"accepted\", \"superseded\", \"deprecated\"]),\n supersedes: z.number().int().positive().optional(),\n superseded_by: z.number().int().positive().optional(),\n date: IsoDate,\n deciders: z.array(z.string()).min(1),\n soak_until: IsoDate,\n })\n .strict();\n\nexport type AdrFrontmatter = z.infer<typeof AdrFrontmatter>;\n","/**\n * Recipe family — RecipeManifest, ForgedLockfile, CostEnvelope, ServiceDeclaration.\n *\n * Canonical reference: docs/SCHEMA_AMENDMENTS.md.\n * Source ADRs: 0002 (factory), 0004 (polyglot), 0006 (lockfile/signing/license),\n * 0007 (cost envelope), 0008 (per-recipe docs), 0009 (forge sandbox).\n */\n\nimport { z } from \"zod\";\nimport {\n EnvVarName,\n GitSha,\n Iso8601,\n KebabSlug,\n OpUri,\n PositiveUsdAmount,\n SchemaVersion,\n SemverString,\n Sha256Hex,\n UsdAmount,\n} from \"./primitives.js\";\n\n// ── ServiceDeclaration (per ADR-0004) ────────────────────────────────────────\n\nconst NextjsService = z\n .object({\n id: KebabSlug,\n runtime: z.literal(\"nextjs\"),\n language: z.literal(\"typescript\"),\n host: z.enum([\"vercel\", \"cloudflare-pages\"]),\n })\n .strict();\n\nconst ModalService = z\n .object({\n id: KebabSlug,\n runtime: z.literal(\"modal\"),\n language: z.literal(\"python\"),\n python_version: z.enum([\"3.11\", \"3.12\"]),\n deps: z.string(),\n host: z.literal(\"modal\"),\n contract: z.string(),\n gpu: z.enum([\"none\", \"t4\", \"a10g\", \"a100\"]).default(\"none\"),\n })\n .strict();\n\nconst RailwayService = z\n .object({\n id: KebabSlug,\n runtime: z.literal(\"railway\"),\n language: z.enum([\"python\", \"node\"]),\n deps: z.string(),\n host: z.literal(\"railway\"),\n contract: z.string(),\n })\n .strict();\n\nconst CloudflareWorkerService = z\n .object({\n id: KebabSlug,\n runtime: z.literal(\"cloudflare-worker\"),\n language: z.literal(\"typescript\"),\n host: z.literal(\"cloudflare\"),\n contract: z.string().optional(),\n })\n .strict();\n\nexport const ServiceDeclaration = z.discriminatedUnion(\"runtime\", [\n NextjsService,\n ModalService,\n RailwayService,\n CloudflareWorkerService,\n]);\nexport type ServiceDeclaration = z.infer<typeof ServiceDeclaration>;\n\n// ── CostEnvelope (per ADR-0007) ──────────────────────────────────────────────\n\nexport const CostEnvelope = z\n .object({\n per_request_p50_usd: UsdAmount,\n per_request_p99_usd: UsdAmount,\n monthly_baseline_usd: UsdAmount,\n hard_caps: z\n .object({\n per_request_usd: PositiveUsdAmount,\n per_user_per_day_usd: PositiveUsdAmount,\n per_app_per_day_usd: PositiveUsdAmount,\n })\n .strict(),\n })\n .strict();\nexport type CostEnvelope = z.infer<typeof CostEnvelope>;\n\n// ── Secret declaration (per ADR-0006) ────────────────────────────────────────\n\nconst SecretDeclaration = z\n .object({\n logical_name: KebabSlug,\n op_path: OpUri,\n target_file: z.string(),\n target_var: EnvVarName,\n })\n .strict();\n\n// ── Forge sandbox (per ADR-0009) ─────────────────────────────────────────────\n\nconst ForgeSandbox = z\n .object({\n ignore_scripts: z.boolean().default(true),\n allowed_postinstalls: z.array(z.string()).default([]),\n })\n .strict()\n .default({ ignore_scripts: true, allowed_postinstalls: [] });\n\n// ── RecipeManifest ───────────────────────────────────────────────────────────\n\nconst EmitConfig = z\n .object({\n template_path: z.string(),\n pre_emit_hooks: z.array(z.string()).default([]),\n post_emit_hooks: z.array(z.string()).default([]),\n })\n .strict();\n\nexport const RecipeManifest = z\n .object({\n schema_version: SchemaVersion,\n name: KebabSlug,\n version: SemverString,\n description: z.string().min(20).max(500),\n\n // Inheritance / composition\n extends: KebabSlug.optional(),\n composes: z.array(KebabSlug).default([]),\n\n // Inputs\n inputs_schema: z.string(),\n\n // References\n warehouses: z.array(KebabSlug).min(1),\n services: z.array(ServiceDeclaration).default([]),\n\n // QA\n qa_profile: z.enum([\"fast\", \"standard\", \"thorough\", \"deep\"]).default(\"standard\"),\n\n // Cost discipline\n cost_envelope: CostEnvelope,\n model_families: z.array(z.string().regex(/^[a-z0-9-]+:[a-z0-9-]+$/)).default([]),\n\n // License composition (ADR-0006)\n output_license: z.enum([\"MIT\", \"Apache-2.0\", \"ISC\"]),\n commercial_restricted_ok: z.boolean().default(false),\n\n // Secrets\n secrets_required: z.array(SecretDeclaration).default([]),\n\n // Emit configuration\n emit: EmitConfig,\n\n // Per-recipe required docs (ADR-0008)\n threat_model_path: z.string(),\n decisions_path: z.string(),\n\n // Forge hygiene (ADR-0009)\n forge_sandbox: ForgeSandbox,\n })\n .strict()\n .refine((r) => r.services.length > 0 || r.warehouses.length > 0, {\n message: \"recipe must declare at least one service or one warehouse\",\n });\nexport type RecipeManifest = z.infer<typeof RecipeManifest>;\n\n// ── ForgedLockfile (per ADR-0006) ────────────────────────────────────────────\n\nconst WarehouseConsumption = z\n .object({\n name: KebabSlug,\n sha: GitSha,\n version: SemverString.optional(),\n })\n .strict();\n\nconst RecipeReference = z\n .object({\n name: KebabSlug,\n version: SemverString,\n sha: GitSha,\n signature: z.string().min(1),\n provenance: z.string().url(),\n })\n .strict();\n\nexport const ForgedLockfile = z\n .object({\n schema_version: SchemaVersion,\n forged_at: Iso8601,\n forged_by_nx_version: SemverString,\n recipe: RecipeReference,\n warehouses_consumed: z.array(WarehouseConsumption).min(1),\n inputs: z.record(z.string(), z.unknown()),\n model_families_used: z.array(z.string()).default([]),\n sbom_hash: Sha256Hex,\n })\n .strict();\nexport type ForgedLockfile = z.infer<typeof ForgedLockfile>;\n","/**\n * ExternalMcpEndpoint + ExternalMcpRegistry — per ADR-0005.\n *\n * Registers third-party MCP servers (e.g. ai-warehouse) that are federated\n * via the router but NOT subject to factory governance.\n *\n * Manual file: nexural-meta/registry-external-mcp.yaml.\n */\n\nimport { z } from \"zod\";\nimport { Federation, IsoDate, KebabSlug, SchemaVersion } from \"./primitives.js\";\n\nconst QualityAttestation = z\n .object({\n source: z.string(),\n score: z.number().int().min(0).max(100),\n verified_at: IsoDate,\n next_review: IsoDate,\n })\n .strict();\n\nexport const ExternalMcpEndpoint = z\n .object({\n schema_version: SchemaVersion,\n name: KebabSlug,\n type: z.literal(\"external\"),\n transport: z.enum([\"stdio\", \"http\", \"websocket\"]),\n command: z.array(z.string()).optional(),\n url: z.string().url().optional(),\n tool_prefix: KebabSlug,\n schema_compatibility: z.enum([\"nexural-1\", \"external\"]),\n federations: z.array(Federation).min(1),\n quality_attestation: QualityAttestation,\n })\n .strict()\n .refine(\n (e) =>\n (e.transport === \"stdio\" && !!e.command && e.command.length > 0) ||\n (e.transport !== \"stdio\" && !!e.url),\n { message: \"stdio transport requires command; http/ws requires url\" },\n );\nexport type ExternalMcpEndpoint = z.infer<typeof ExternalMcpEndpoint>;\n\nexport const ExternalMcpRegistry = z\n .object({\n schema_version: SchemaVersion,\n endpoints: z.array(ExternalMcpEndpoint),\n })\n .strict();\nexport type ExternalMcpRegistry = z.infer<typeof ExternalMcpRegistry>;\n","/**\n * ModelFamilyResolution + ModelFamilyRegistry — per ADR-0007 + ADR-0010 §2.8.\n *\n * NOTE: this file contains only the SCHEMA. The runtime resolver lives in\n * the separate `@nexural/model-router` package.\n */\n\nimport { z } from \"zod\";\nimport { IsoDate, Iso8601, SchemaVersion } from \"./primitives.js\";\n\nconst FamilyId = z\n .string()\n .regex(/^[a-z0-9-]+:[a-z0-9-]+$/, \"family must be `provider:tier` e.g. `anthropic:opus`\");\n\nconst ModelTier = z.enum([\"flagship\", \"premium\", \"balanced\", \"fast\", \"small\"]);\nconst ModelStatus = z.enum([\"current\", \"deprecating\", \"deprecated\", \"preview\"]);\n\nconst Pricing = z\n .object({\n input_per_million_tokens_usd: z.number().nonnegative(),\n output_per_million_tokens_usd: z.number().nonnegative(),\n cached_input_per_million_tokens_usd: z.number().nonnegative().optional(),\n })\n .strict();\n\nexport const ModelFamilyResolution = z\n .object({\n family: FamilyId,\n id: z.string().min(1),\n tier: ModelTier,\n context_window: z.number().int().positive(),\n pricing: Pricing,\n /** Per ADR-0010 §2.8 — if current pricing exceeds this ceiling, router substitutes next family. */\n price_ceiling_usd_per_million_tokens: z.number().positive().optional(),\n deprecates_at: IsoDate.nullable(),\n status: ModelStatus,\n })\n .strict();\nexport type ModelFamilyResolution = z.infer<typeof ModelFamilyResolution>;\n\nexport const ModelFamilyRegistry = z\n .object({\n schema_version: SchemaVersion,\n generated_at: Iso8601,\n resolutions: z.array(ModelFamilyResolution),\n })\n .strict();\nexport type ModelFamilyRegistry = z.infer<typeof ModelFamilyRegistry>;\n","/**\n * RevokedRecipesList — `nexural-meta/security/revoked-recipes.yaml`.\n *\n * APPEND-ONLY. Per ADR-0009 §1.6.\n * Every entry is signed via cosign.\n * `nx forge` consults this list before emitting; revoked recipe → forge fails.\n */\n\nimport { z } from \"zod\";\nimport { Iso8601, KebabSlug, SchemaVersion, SemverString } from \"./primitives.js\";\n\nexport const RevokedRecipeEntry = z\n .object({\n recipe_name: KebabSlug,\n recipe_version: SemverString,\n revoked_at: Iso8601,\n reason: z.string().min(10, \"must explain why (>= 10 chars)\"),\n ticket: z.string().url().optional(),\n signature: z.string().min(1),\n })\n .strict();\nexport type RevokedRecipeEntry = z.infer<typeof RevokedRecipeEntry>;\n\nexport const RevokedRecipesList = z\n .object({\n schema_version: SchemaVersion,\n generated_at: Iso8601,\n entries: z.array(RevokedRecipeEntry),\n })\n .strict();\nexport type RevokedRecipesList = z.infer<typeof RevokedRecipesList>;\n"]}
1
+ {"version":3,"sources":["../src/primitives.ts","../src/errors.ts","../src/meta.ts","../src/frontmatter.ts","../src/index-file.ts","../src/mcp.ts","../src/telemetry.ts","../src/scorecard.ts","../src/registry.ts","../src/cross-refs.ts","../src/decay.ts","../src/adr.ts","../src/recipe.ts","../src/external-mcp.ts","../src/model-router.ts","../src/revocation.ts","../src/warehouse-manifest.ts"],"names":["z"],"mappings":"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","file":"index.js","sourcesContent":["/**\n * Primitive atoms imported by every other schema in @nexural/schema.\n *\n * Changing a primitive is a major version bump per SCHEMA_CHARTER §5.\n */\n\nimport { z } from \"zod\";\n\n/** ISO 8601 timestamp with timezone offset. */\nexport const Iso8601 = z.string().datetime({ offset: true });\n\n/** ISO 8601 date (YYYY-MM-DD). */\nexport const IsoDate = z.string().regex(/^\\d{4}-\\d{2}-\\d{2}$/, \"must be YYYY-MM-DD\");\n\n/** ULID — Crockford base32, 26 chars. */\nexport const Ulid = z\n .string()\n .regex(/^[0-9A-HJKMNP-TV-Z]{26}$/, \"must be a valid ULID (26 chars, Crockford base32)\");\n\n/** Kebab-case slug — lowercase alphanumeric with single-hyphen separators. */\nexport const KebabSlug = z\n .string()\n .regex(/^[a-z0-9]+(?:-[a-z0-9]+)*$/, \"must be kebab-case (lowercase, hyphens)\");\n\n/** Warehouse trust tiers (per ARCHITECTURE.md §6, THREAT_MODEL §1). */\nexport const TrustTier = z.enum([\"public\", \"internal\", \"private-encrypted\"]);\nexport type TrustTier = z.infer<typeof TrustTier>;\n\n/** Warehouse lifecycle status (per RETIREMENT.md §1). */\nexport const WarehouseStatus = z.enum([\"active\", \"seeded\", \"archived\", \"deprecated\", \"merged\"]);\nexport type WarehouseStatus = z.infer<typeof WarehouseStatus>;\n\n/** Schema version — currently a single integer literal. Bumps require migration codemod (SCHEMA_CHARTER §6). */\nexport const SchemaVersion = z.literal(1);\nexport type SchemaVersion = z.infer<typeof SchemaVersion>;\n\n/** Strict semver string per https://semver.org */\nexport const SemverString = z\n .string()\n .regex(\n /^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$/,\n \"must be valid semver (MAJOR.MINOR.PATCH[-pre][+build])\",\n );\n\n/** GitHub repo URL — pinned to github.com (per NAMING.md). */\nexport const RepoUrl = z\n .string()\n .url()\n .regex(/^https:\\/\\/github\\.com\\//, \"must be https://github.com/...\");\n\n/** RFC 5322 email. */\nexport const Email = z.string().email();\n\n/** Decay rate in days (1 = daily, 7 = weekly, 90 = quarterly, 365 = yearly, 3650 = decadal). */\nexport const DecayDays = z.number().int().positive().max(3650, \"decay > 10 years not allowed\");\n\n/** Federation identifier (per ADR-0003). */\nexport const Federation = z.enum([\"factory\", \"lifeops\"]);\nexport type Federation = z.infer<typeof Federation>;\n\n/** Git SHA — short (7+) or full (40 or 64 for sha256). */\nexport const GitSha = z\n .string()\n .regex(/^[a-f0-9]{7,64}$/, \"must be a 7-64 char lowercase hex git SHA\");\n\n/** SHA-256 hex string (64 chars). */\nexport const Sha256Hex = z.string().regex(/^[a-f0-9]{64}$/, \"must be 64-char lowercase hex sha256\");\n\n/** 1Password CLI URI (`op://VaultName/ItemName/field`). */\nexport const OpUri = z.string().regex(/^op:\\/\\//, \"must start with op:// (1Password CLI URI)\");\n\n/** Environment variable identifier (SCREAMING_SNAKE_CASE, valid POSIX). */\nexport const EnvVarName = z.string().regex(/^[A-Z_][A-Z0-9_]*$/, \"must be SCREAMING_SNAKE_CASE\");\n\n/** USD amount (non-negative for projections, positive for caps). */\nexport const UsdAmount = z.number().nonnegative();\nexport const PositiveUsdAmount = z.number().positive();\n","/**\n * Typed error shapes used by @nexural/sdk, @nexural/mcp-base, @nexural/factory.\n *\n * All errors include a stable `code` string for telemetry filtering.\n */\n\nimport { z } from \"zod\";\n\nexport const NexuralErrorCode = z.enum([\n // Schema\n \"schema_validation_failed\",\n \"schema_version_mismatch\",\n\n // MCP\n \"mcp_timeout\",\n \"mcp_unavailable\",\n \"mcp_invalid_response\",\n\n // Decay\n \"decay_quarantined\",\n \"decay_stale\",\n\n // Recipe / forge\n \"recipe_signature_invalid\",\n \"recipe_revoked\",\n \"recipe_input_invalid\",\n \"recipe_sbom_gate_failed\",\n \"recipe_license_gate_failed\",\n \"recipe_typosquat_detected\",\n\n // Cost\n \"cost_cap_exceeded\",\n \"cost_cap_streaming_exceeded\",\n \"cost_circuit_break\",\n\n // Tier / federation\n \"tier_confinement_violation\",\n \"federation_mismatch\",\n\n // Auth / secrets\n \"secret_resolution_failed\",\n \"op_signin_required\",\n]);\nexport type NexuralErrorCode = z.infer<typeof NexuralErrorCode>;\n\nexport const NexuralError = z\n .object({\n code: NexuralErrorCode,\n message: z.string().min(1),\n retryable: z.boolean(),\n details: z.record(z.string(), z.unknown()).optional(),\n })\n .strict();\nexport type NexuralError = z.infer<typeof NexuralError>;\n","/**\n * WarehouseMeta — the `meta.yaml` file at the root of every warehouse.\n *\n * Validated:\n * - pre-commit via husky (warehouse-local `scripts/validate.mjs`)\n * - CI on every warehouse PR\n * - nightly via nexural-meta `scripts/verify-all.mjs`\n *\n * Per ARCHITECTURE.md §4.4 + ADR-0003 (federation field).\n */\n\nimport { z } from \"zod\";\nimport {\n DecayDays,\n Federation,\n IsoDate,\n KebabSlug,\n RepoUrl,\n SchemaVersion,\n TrustTier,\n WarehouseStatus,\n} from \"./primitives.js\";\n\nconst TrustNone = z\n .object({\n encryption: z.literal(\"none\"),\n })\n .strict();\n\nconst TrustAgeSops = z\n .object({\n encryption: z.literal(\"age+sops\"),\n key_source: z.enum([\"yubikey-primary\", \"yubikey-backup\", \"1password-emergency\"]),\n recovery: z.string().min(1),\n filename_strategy: z.enum([\"plaintext\", \"ulid\"]),\n })\n .strict();\n\nconst Trust = z.discriminatedUnion(\"encryption\", [TrustNone, TrustAgeSops]);\n\nconst Backup = z\n .object({\n destination: z.string().url(),\n cadence: z.enum([\"realtime\", \"hourly\", \"nightly\", \"weekly\"]),\n retention_days: z.number().int().positive(),\n })\n .strict();\n\nconst Mcp = z\n .object({\n tool_prefix: KebabSlug,\n exposes: z.array(KebabSlug).min(1),\n })\n .strict();\n\nconst CrossRefs = z\n .object({\n consumes_from: z.array(KebabSlug).default([]),\n exposed_to: z\n .object({\n public: z.boolean(),\n agents: z.boolean(),\n human: z.boolean(),\n })\n .strict(),\n })\n .strict();\n\nconst Metrics = z\n .object({\n target_entries: z.number().int().nonnegative().optional(),\n target_scorecard: z.number().int().min(0).max(100).optional(),\n })\n .strict();\n\nconst Links = z\n .object({\n repo: RepoUrl,\n docs: z.string().url().optional(),\n })\n .strict();\n\nexport const WarehouseMeta = z\n .object({\n schema_version: SchemaVersion,\n name: KebabSlug,\n tier: TrustTier,\n description: z.string().min(20).max(500),\n owner: z.string().min(1),\n created: IsoDate,\n last_reviewed: IsoDate,\n decay_rate_days: DecayDays,\n status: WarehouseStatus,\n merged_into: KebabSlug.optional(),\n\n /** Which federation this warehouse belongs to (per ADR-0003). */\n federation: Federation,\n\n trust: Trust,\n backup: Backup,\n mcp: Mcp,\n cross_refs: CrossRefs,\n metrics: Metrics.optional(),\n links: Links,\n })\n .strict()\n .refine((m) => m.status !== \"merged\" || !!m.merged_into, {\n message: \"merged status requires merged_into target\",\n })\n .refine((m) => m.tier !== \"private-encrypted\" || m.trust.encryption === \"age+sops\", {\n message: \"private-encrypted tier requires age+sops encryption\",\n })\n .refine((m) => m.tier === \"public\" || !m.cross_refs.exposed_to.public, {\n message: \"non-public tier cannot have exposed_to.public = true\",\n });\n\nexport type WarehouseMeta = z.infer<typeof WarehouseMeta>;\n","/**\n * ContentFrontmatter — per-entry `frontmatter.yaml` inside a warehouse.\n *\n * Validated at warehouse pre-commit + CI.\n */\n\nimport { z } from \"zod\";\nimport { DecayDays, IsoDate, KebabSlug, SchemaVersion, Ulid } from \"./primitives.js\";\n\nexport const SourceType = z.enum([\n \"principle\",\n \"playbook\",\n \"framework\",\n \"template\",\n \"case-study\",\n \"decision\",\n \"reference\",\n \"snippet\",\n \"checklist\",\n \"rubric\",\n \"post-mortem\",\n]);\nexport type SourceType = z.infer<typeof SourceType>;\n\nexport const RelatedRelation = z.enum([\"extends\", \"supersedes\", \"informs\", \"contradicts\", \"cites\"]);\nexport type RelatedRelation = z.infer<typeof RelatedRelation>;\n\nconst Related = z\n .object({\n warehouse: KebabSlug,\n id: z.union([Ulid, KebabSlug]),\n relation: RelatedRelation,\n })\n .strict();\n\nconst Visibility = z\n .object({\n public_via_mcp: z.boolean(),\n embedding_eligible: z.boolean(),\n })\n .strict();\n\nexport const ContentFrontmatter = z\n .object({\n schema_version: SchemaVersion,\n id: z.union([Ulid, KebabSlug]),\n title: z.string().min(3).max(200),\n summary: z.string().min(20).max(500),\n tags: z.array(KebabSlug).max(20),\n created: IsoDate,\n updated: IsoDate,\n last_reviewed: IsoDate,\n decay_rate_days: DecayDays.optional(),\n status: z.enum([\"draft\", \"active\", \"archived\", \"deprecated\"]),\n authors: z.array(z.string()).min(1),\n source_type: SourceType,\n related: z.array(Related).default([]),\n visibility: Visibility,\n })\n .strict();\n\nexport type ContentFrontmatter = z.infer<typeof ContentFrontmatter>;\n","/**\n * WarehouseIndex — generated `index.json` per warehouse.\n *\n * NEVER hand-edited. Pre-commit hook fails if hash diverges from\n * `scripts/build-index.mjs` output.\n */\n\nimport { z } from \"zod\";\nimport { SourceType } from \"./frontmatter.js\";\nimport { IsoDate, Iso8601, KebabSlug, SchemaVersion, SemverString, Ulid } from \"./primitives.js\";\n\nconst IndexEntry = z\n .object({\n id: z.union([Ulid, KebabSlug]),\n path: z.string(),\n title: z.string(),\n tags: z.array(KebabSlug),\n updated: IsoDate,\n last_reviewed: IsoDate,\n source_type: SourceType,\n })\n .strict();\n\nconst IndexHealth = z\n .object({\n decayed_entries: z.number().int().nonnegative(),\n draft_entries: z.number().int().nonnegative(),\n scorecard: z.number().int().min(0).max(100).optional(),\n })\n .strict();\n\nexport const WarehouseIndex = z\n .object({\n schema_version: SchemaVersion,\n warehouse: KebabSlug,\n generated_at: Iso8601,\n generator_version: SemverString,\n count: z.number().int().nonnegative(),\n entries: z.array(IndexEntry),\n health: IndexHealth,\n })\n .strict();\n\nexport type WarehouseIndex = z.infer<typeof WarehouseIndex>;\n","/**\n * MCP tool envelopes — used by every MCP tool exposed by every warehouse.\n *\n * Enforced by @nexural/mcp-base at runtime (Zod parse on every req/resp).\n *\n * Per SCHEMA_CHARTER §4.4 + ADR-0008 (prompt-injection warning codes).\n */\n\nimport { z } from \"zod\";\nimport { KebabSlug, SchemaVersion, Ulid } from \"./primitives.js\";\n\nconst Caller = z\n .object({\n kind: z.enum([\"nx-cli\", \"agent\", \"dashboard\", \"test\"]),\n session_id: Ulid.optional(),\n user: z.string().optional(),\n })\n .strict();\n\nexport const McpToolRequest = z\n .object({\n schema_version: SchemaVersion,\n request_id: Ulid,\n caller: Caller,\n tool: KebabSlug,\n args: z.record(z.string(), z.unknown()),\n timeout_ms: z.number().int().positive().max(30_000).default(5_000),\n })\n .strict();\nexport type McpToolRequest = z.infer<typeof McpToolRequest>;\n\nconst McpWarning = z\n .object({\n code: z.enum([\n \"stale\",\n \"draft-content\",\n \"low-confidence\",\n \"tier-mismatch\",\n \"deprecated\",\n \"tier_confinement_violation\",\n \"citation_stripped\",\n \"token_budget_trimmed\",\n ]),\n message: z.string(),\n })\n .strict();\n\nconst McpCitation = z\n .object({\n warehouse: KebabSlug,\n id: z.union([Ulid, KebabSlug]),\n title: z.string().optional(),\n url: z.string().url().optional(),\n })\n .strict();\n\nconst McpErrorShape = z\n .object({\n code: z.string(),\n message: z.string(),\n retryable: z.boolean(),\n })\n .strict();\n\nexport const McpToolResponse = z\n .object({\n schema_version: SchemaVersion,\n request_id: Ulid,\n warehouse: KebabSlug,\n tool: KebabSlug,\n ok: z.boolean(),\n latency_ms: z.number().int().nonnegative(),\n data: z.unknown().optional(),\n error: McpErrorShape.optional(),\n warnings: z.array(McpWarning).default([]),\n citations: z.array(McpCitation).default([]),\n })\n .strict()\n .refine((r) => r.ok || !!r.error, {\n message: \"non-ok response must include error\",\n });\n\nexport type McpToolResponse = z.infer<typeof McpToolResponse>;\n","/**\n * Telemetry events — written by every component (nx, router, warehouse-mcp, ci, cron).\n *\n * **Privacy:** raw query strings and tool args are NEVER stored. Only hashes.\n *\n * Per SCHEMA_CHARTER §4.5 + ADR-0007 (CostEvent).\n */\n\nimport { z } from \"zod\";\nimport { DecayDays, Iso8601, KebabSlug, SchemaVersion, Ulid } from \"./primitives.js\";\n\nconst BaseEvent = z.object({\n schema_version: SchemaVersion,\n event_id: Ulid,\n ts: Iso8601,\n host: z.string(),\n process: z.enum([\"nx\", \"router\", \"warehouse-mcp\", \"ci\", \"cron\"]),\n session_id: Ulid.optional(),\n});\n\nexport const ToolCallEvent = BaseEvent.extend({\n kind: z.literal(\"tool_call\"),\n warehouse: KebabSlug,\n tool: KebabSlug,\n latency_ms: z.number().int().nonnegative(),\n ok: z.boolean(),\n error_code: z.string().optional(),\n}).strict();\n\nexport const NxCommandEvent = BaseEvent.extend({\n kind: z.literal(\"nx_command\"),\n command: KebabSlug,\n args_hash: z.string().regex(/^[a-f0-9]{64}$/, \"must be sha256 hex\"),\n latency_ms: z.number().int().nonnegative(),\n exit_code: z.number().int(),\n}).strict();\n\nexport const DecayWarnEvent = BaseEvent.extend({\n kind: z.literal(\"decay_warn\"),\n warehouse: KebabSlug,\n days_since_review: z.number().int().nonnegative(),\n decay_rate_days: DecayDays,\n severity: z.enum([\"warn\", \"quarantine\"]),\n}).strict();\n\nexport const AuditEvent = BaseEvent.extend({\n kind: z.literal(\"audit\"),\n op: z.enum([\"decrypt\", \"encrypt\", \"key_rotate\", \"key_lost\", \"key_added\"]),\n warehouse: KebabSlug.optional(),\n file_ulid: Ulid.optional(),\n key_id: z.string(),\n exit: z.number().int(),\n}).strict();\n\n/** Per ADR-0007 §7 — emitted by @nexural/sdk.llmClient() cost wrapper. */\nexport const CostEvent = BaseEvent.extend({\n kind: z.literal(\"cost_event\"),\n app: KebabSlug,\n recipe: KebabSlug,\n severity: z.enum([\"warn\", \"exceeded\", \"circuit_break\"]),\n scope: z.enum([\"per_request\", \"per_user_day\", \"per_app_day\"]),\n projected_usd: z.number().nonnegative(),\n cap_usd: z.number().positive(),\n user_hash: z\n .string()\n .regex(/^[a-f0-9]{64}$/, \"must be sha256 hex (never raw user id)\")\n .optional(),\n}).strict();\n\nexport const TelemetryEvent = z.discriminatedUnion(\"kind\", [\n ToolCallEvent,\n NxCommandEvent,\n DecayWarnEvent,\n AuditEvent,\n CostEvent,\n]);\n\nexport type ToolCallEvent = z.infer<typeof ToolCallEvent>;\nexport type NxCommandEvent = z.infer<typeof NxCommandEvent>;\nexport type DecayWarnEvent = z.infer<typeof DecayWarnEvent>;\nexport type AuditEvent = z.infer<typeof AuditEvent>;\nexport type CostEvent = z.infer<typeof CostEvent>;\nexport type TelemetryEvent = z.infer<typeof TelemetryEvent>;\n","/**\n * ScorecardReport — generated artifact produced by nexural-qa-os\n * verify-all run. Lives at `nexural-meta/scorecard.json`.\n */\n\nimport { z } from \"zod\";\nimport { Federation, Iso8601, KebabSlug, SchemaVersion } from \"./primitives.js\";\n\nconst Finding = z\n .object({\n category: KebabSlug,\n severity: z.enum([\"info\", \"warn\", \"error\", \"critical\"]),\n message: z.string(),\n file: z.string().optional(),\n })\n .strict();\n\nconst Grade = z.enum([\"S\", \"A\", \"B\", \"C\", \"D\", \"F\"]);\n\nconst WarehouseScore = z\n .object({\n name: KebabSlug,\n federation: Federation,\n score: z.number().int().min(0).max(100),\n grade: Grade,\n findings: z.array(Finding),\n })\n .strict();\n\nconst Aggregate = z\n .object({\n mean_score: z.number(),\n median_score: z.number(),\n below_80_count: z.number().int().nonnegative(),\n below_90_count: z.number().int().nonnegative(),\n })\n .strict();\n\nexport const ScorecardReport = z\n .object({\n schema_version: SchemaVersion,\n generated_at: Iso8601,\n warehouses: z.array(WarehouseScore),\n aggregate: Aggregate,\n })\n .strict();\n\nexport type ScorecardReport = z.infer<typeof ScorecardReport>;\n","/**\n * Registry — generated per-federation artifact. Two files exist per ADR-0003:\n * - registry-factory.yaml\n * - registry-lifeops.yaml\n *\n * Generated nightly by `scripts/discover.mjs`. NEVER hand-edited.\n */\n\nimport { z } from \"zod\";\nimport {\n DecayDays,\n Federation,\n IsoDate,\n Iso8601,\n KebabSlug,\n RepoUrl,\n SchemaVersion,\n TrustTier,\n WarehouseStatus,\n} from \"./primitives.js\";\n\nconst RegistryEntry = z\n .object({\n name: KebabSlug,\n tier: TrustTier,\n status: WarehouseStatus,\n repo: RepoUrl,\n last_reviewed: IsoDate,\n decay_rate_days: DecayDays,\n discovered_via: z.enum([\"github-topic\", \"explicit-list\", \"manual-add\"]),\n })\n .strict();\n\nexport const Registry = z\n .object({\n schema_version: SchemaVersion,\n federation: Federation,\n generated_at: Iso8601,\n warehouses: z.array(RegistryEntry),\n })\n .strict();\n\nexport type Registry = z.infer<typeof Registry>;\n","/**\n * CrossRefReport — generated artifact validating `related` links across the federation.\n *\n * Produced nightly by `scripts/cross-refs.mjs`.\n */\n\nimport { z } from \"zod\";\nimport { Iso8601, KebabSlug, SchemaVersion, Ulid } from \"./primitives.js\";\n\nconst Link = z\n .object({\n from_warehouse: KebabSlug,\n from_id: z.union([Ulid, KebabSlug]),\n to_warehouse: KebabSlug,\n to_id: z.union([Ulid, KebabSlug]),\n relation: z.string(),\n valid: z.boolean(),\n reason: z.string().optional(),\n })\n .strict();\n\nconst Summary = z\n .object({\n total: z.number().int().nonnegative(),\n broken: z.number().int().nonnegative(),\n orphan_warehouses: z.array(KebabSlug),\n })\n .strict();\n\nexport const CrossRefReport = z\n .object({\n schema_version: SchemaVersion,\n generated_at: Iso8601,\n links: z.array(Link),\n summary: Summary,\n })\n .strict();\n\nexport type CrossRefReport = z.infer<typeof CrossRefReport>;\n","/**\n * DecayConfig — `.nexural/decay.yaml` inside any warehouse.\n *\n * Allows per-warehouse override of decay rate plus targeted overrides\n * for specific tags / source_types / path globs.\n */\n\nimport { z } from \"zod\";\nimport { SourceType } from \"./frontmatter.js\";\nimport { DecayDays, KebabSlug, SchemaVersion } from \"./primitives.js\";\n\nconst Override = z\n .object({\n match: z\n .object({\n tag: KebabSlug.optional(),\n source_type: SourceType.optional(),\n path_glob: z.string().optional(),\n })\n .strict(),\n decay_days: DecayDays,\n })\n .strict();\n\nexport const DecayConfig = z\n .object({\n schema_version: SchemaVersion,\n default_days: DecayDays.optional(),\n overrides: z.array(Override).default([]),\n })\n .strict();\n\nexport type DecayConfig = z.infer<typeof DecayConfig>;\n","/**\n * ADR frontmatter — for ADRs in `nexural-meta/docs/adr/NNNN-*.md`.\n *\n * Pre-commit + CI enforces this on ADR creation per ARCHITECTURE §12.\n */\n\nimport { z } from \"zod\";\nimport { IsoDate } from \"./primitives.js\";\n\nexport const AdrFrontmatter = z\n .object({\n number: z.number().int().positive(),\n title: z.string().min(5).max(120),\n status: z.enum([\"proposed\", \"accepted\", \"superseded\", \"deprecated\"]),\n supersedes: z.number().int().positive().optional(),\n superseded_by: z.number().int().positive().optional(),\n date: IsoDate,\n deciders: z.array(z.string()).min(1),\n soak_until: IsoDate,\n })\n .strict();\n\nexport type AdrFrontmatter = z.infer<typeof AdrFrontmatter>;\n","/**\n * Recipe family — RecipeManifest, ForgedLockfile, CostEnvelope, ServiceDeclaration.\n *\n * Canonical reference: docs/SCHEMA_AMENDMENTS.md.\n * Source ADRs: 0002 (factory), 0004 (polyglot), 0006 (lockfile/signing/license),\n * 0007 (cost envelope), 0008 (per-recipe docs), 0009 (forge sandbox).\n */\n\nimport { z } from \"zod\";\nimport {\n EnvVarName,\n GitSha,\n Iso8601,\n KebabSlug,\n OpUri,\n PositiveUsdAmount,\n SchemaVersion,\n SemverString,\n Sha256Hex,\n UsdAmount,\n} from \"./primitives.js\";\n\n// ── ServiceDeclaration (per ADR-0004) ────────────────────────────────────────\n\nconst NextjsService = z\n .object({\n id: KebabSlug,\n runtime: z.literal(\"nextjs\"),\n language: z.literal(\"typescript\"),\n host: z.enum([\"vercel\", \"cloudflare-pages\"]),\n })\n .strict();\n\nconst ModalService = z\n .object({\n id: KebabSlug,\n runtime: z.literal(\"modal\"),\n language: z.literal(\"python\"),\n python_version: z.enum([\"3.11\", \"3.12\"]),\n deps: z.string(),\n host: z.literal(\"modal\"),\n contract: z.string(),\n gpu: z.enum([\"none\", \"t4\", \"a10g\", \"a100\"]).default(\"none\"),\n })\n .strict();\n\nconst RailwayService = z\n .object({\n id: KebabSlug,\n runtime: z.literal(\"railway\"),\n language: z.enum([\"python\", \"node\"]),\n deps: z.string(),\n host: z.literal(\"railway\"),\n contract: z.string(),\n })\n .strict();\n\nconst CloudflareWorkerService = z\n .object({\n id: KebabSlug,\n runtime: z.literal(\"cloudflare-worker\"),\n language: z.literal(\"typescript\"),\n host: z.literal(\"cloudflare\"),\n contract: z.string().optional(),\n })\n .strict();\n\nexport const ServiceDeclaration = z.discriminatedUnion(\"runtime\", [\n NextjsService,\n ModalService,\n RailwayService,\n CloudflareWorkerService,\n]);\nexport type ServiceDeclaration = z.infer<typeof ServiceDeclaration>;\n\n// ── CostEnvelope (per ADR-0007) ──────────────────────────────────────────────\n\nexport const CostEnvelope = z\n .object({\n per_request_p50_usd: UsdAmount,\n per_request_p99_usd: UsdAmount,\n monthly_baseline_usd: UsdAmount,\n hard_caps: z\n .object({\n per_request_usd: PositiveUsdAmount,\n per_user_per_day_usd: PositiveUsdAmount,\n per_app_per_day_usd: PositiveUsdAmount,\n })\n .strict(),\n })\n .strict();\nexport type CostEnvelope = z.infer<typeof CostEnvelope>;\n\n// ── Secret declaration (per ADR-0006) ────────────────────────────────────────\n\nconst SecretDeclaration = z\n .object({\n logical_name: KebabSlug,\n op_path: OpUri,\n target_file: z.string(),\n target_var: EnvVarName,\n })\n .strict();\n\n// ── Forge sandbox (per ADR-0009) ─────────────────────────────────────────────\n\nconst ForgeSandbox = z\n .object({\n ignore_scripts: z.boolean().default(true),\n allowed_postinstalls: z.array(z.string()).default([]),\n })\n .strict()\n .default({ ignore_scripts: true, allowed_postinstalls: [] });\n\n// ── RecipeManifest ───────────────────────────────────────────────────────────\n\nconst EmitConfig = z\n .object({\n template_path: z.string(),\n pre_emit_hooks: z.array(z.string()).default([]),\n post_emit_hooks: z.array(z.string()).default([]),\n })\n .strict();\n\nexport const RecipeManifest = z\n .object({\n schema_version: SchemaVersion,\n name: KebabSlug,\n version: SemverString,\n description: z.string().min(20).max(500),\n\n // Inheritance / composition\n extends: KebabSlug.optional(),\n composes: z.array(KebabSlug).default([]),\n\n // Inputs\n inputs_schema: z.string(),\n\n // References\n warehouses: z.array(KebabSlug).min(1),\n services: z.array(ServiceDeclaration).default([]),\n\n // QA\n qa_profile: z.enum([\"fast\", \"standard\", \"thorough\", \"deep\"]).default(\"standard\"),\n\n // Cost discipline\n cost_envelope: CostEnvelope,\n model_families: z.array(z.string().regex(/^[a-z0-9-]+:[a-z0-9-]+$/)).default([]),\n\n // License composition (ADR-0006)\n output_license: z.enum([\"MIT\", \"Apache-2.0\", \"ISC\"]),\n commercial_restricted_ok: z.boolean().default(false),\n\n // Secrets\n secrets_required: z.array(SecretDeclaration).default([]),\n\n // Emit configuration\n emit: EmitConfig,\n\n // Per-recipe required docs (ADR-0008)\n threat_model_path: z.string(),\n decisions_path: z.string(),\n\n // Forge hygiene (ADR-0009)\n forge_sandbox: ForgeSandbox,\n })\n .strict()\n .refine((r) => r.services.length > 0 || r.warehouses.length > 0, {\n message: \"recipe must declare at least one service or one warehouse\",\n });\nexport type RecipeManifest = z.infer<typeof RecipeManifest>;\n\n// ── ForgedLockfile (per ADR-0006) ────────────────────────────────────────────\n\nconst WarehouseConsumption = z\n .object({\n name: KebabSlug,\n sha: GitSha,\n version: SemverString.optional(),\n })\n .strict();\n\nconst RecipeReference = z\n .object({\n name: KebabSlug,\n version: SemverString,\n sha: GitSha,\n signature: z.string().min(1),\n provenance: z.string().url(),\n })\n .strict();\n\nexport const ForgedLockfile = z\n .object({\n schema_version: SchemaVersion,\n forged_at: Iso8601,\n forged_by_nx_version: SemverString,\n recipe: RecipeReference,\n warehouses_consumed: z.array(WarehouseConsumption).min(1),\n inputs: z.record(z.string(), z.unknown()),\n model_families_used: z.array(z.string()).default([]),\n sbom_hash: Sha256Hex,\n })\n .strict();\nexport type ForgedLockfile = z.infer<typeof ForgedLockfile>;\n","/**\n * ExternalMcpEndpoint + ExternalMcpRegistry — per ADR-0005.\n *\n * Registers third-party MCP servers (e.g. ai-warehouse) that are federated\n * via the router but NOT subject to factory governance.\n *\n * Manual file: nexural-meta/registry-external-mcp.yaml.\n */\n\nimport { z } from \"zod\";\nimport { Federation, IsoDate, KebabSlug, SchemaVersion } from \"./primitives.js\";\n\nconst QualityAttestation = z\n .object({\n source: z.string(),\n score: z.number().int().min(0).max(100),\n verified_at: IsoDate,\n next_review: IsoDate,\n })\n .strict();\n\nexport const ExternalMcpEndpoint = z\n .object({\n schema_version: SchemaVersion,\n name: KebabSlug,\n type: z.literal(\"external\"),\n transport: z.enum([\"stdio\", \"http\", \"websocket\"]),\n command: z.array(z.string()).optional(),\n url: z.string().url().optional(),\n tool_prefix: KebabSlug,\n schema_compatibility: z.enum([\"nexural-1\", \"external\"]),\n federations: z.array(Federation).min(1),\n quality_attestation: QualityAttestation,\n })\n .strict()\n .refine(\n (e) =>\n (e.transport === \"stdio\" && !!e.command && e.command.length > 0) ||\n (e.transport !== \"stdio\" && !!e.url),\n { message: \"stdio transport requires command; http/ws requires url\" },\n );\nexport type ExternalMcpEndpoint = z.infer<typeof ExternalMcpEndpoint>;\n\nexport const ExternalMcpRegistry = z\n .object({\n schema_version: SchemaVersion,\n endpoints: z.array(ExternalMcpEndpoint),\n })\n .strict();\nexport type ExternalMcpRegistry = z.infer<typeof ExternalMcpRegistry>;\n","/**\n * ModelFamilyResolution + ModelFamilyRegistry — per ADR-0007 + ADR-0010 §2.8.\n *\n * NOTE: this file contains only the SCHEMA. The runtime resolver lives in\n * the separate `@nexural/model-router` package.\n */\n\nimport { z } from \"zod\";\nimport { IsoDate, Iso8601, SchemaVersion } from \"./primitives.js\";\n\nconst FamilyId = z\n .string()\n .regex(/^[a-z0-9-]+:[a-z0-9-]+$/, \"family must be `provider:tier` e.g. `anthropic:opus`\");\n\nconst ModelTier = z.enum([\"flagship\", \"premium\", \"balanced\", \"fast\", \"small\"]);\nconst ModelStatus = z.enum([\"current\", \"deprecating\", \"deprecated\", \"preview\"]);\n\nconst Pricing = z\n .object({\n input_per_million_tokens_usd: z.number().nonnegative(),\n output_per_million_tokens_usd: z.number().nonnegative(),\n cached_input_per_million_tokens_usd: z.number().nonnegative().optional(),\n })\n .strict();\n\nexport const ModelFamilyResolution = z\n .object({\n family: FamilyId,\n id: z.string().min(1),\n tier: ModelTier,\n context_window: z.number().int().positive(),\n pricing: Pricing,\n /** Per ADR-0010 §2.8 — if current pricing exceeds this ceiling, router substitutes next family. */\n price_ceiling_usd_per_million_tokens: z.number().positive().optional(),\n deprecates_at: IsoDate.nullable(),\n status: ModelStatus,\n })\n .strict();\nexport type ModelFamilyResolution = z.infer<typeof ModelFamilyResolution>;\n\nexport const ModelFamilyRegistry = z\n .object({\n schema_version: SchemaVersion,\n generated_at: Iso8601,\n resolutions: z.array(ModelFamilyResolution),\n })\n .strict();\nexport type ModelFamilyRegistry = z.infer<typeof ModelFamilyRegistry>;\n","/**\n * RevokedRecipesList — `nexural-meta/security/revoked-recipes.yaml`.\n *\n * APPEND-ONLY. Per ADR-0009 §1.6.\n * Every entry is signed via cosign.\n * `nx forge` consults this list before emitting; revoked recipe → forge fails.\n */\n\nimport { z } from \"zod\";\nimport { Iso8601, KebabSlug, SchemaVersion, SemverString } from \"./primitives.js\";\n\nexport const RevokedRecipeEntry = z\n .object({\n recipe_name: KebabSlug,\n recipe_version: SemverString,\n revoked_at: Iso8601,\n reason: z.string().min(10, \"must explain why (>= 10 chars)\"),\n ticket: z.string().url().optional(),\n signature: z.string().min(1),\n })\n .strict();\nexport type RevokedRecipeEntry = z.infer<typeof RevokedRecipeEntry>;\n\nexport const RevokedRecipesList = z\n .object({\n schema_version: SchemaVersion,\n generated_at: Iso8601,\n entries: z.array(RevokedRecipeEntry),\n })\n .strict();\nexport type RevokedRecipesList = z.infer<typeof RevokedRecipesList>;\n","/**\n * WarehouseManifest — `manifest.yaml` at the root of every warehouse.\n *\n * Distinct from `meta.yaml` (WarehouseMeta) which describes the warehouse\n * itself. The manifest describes the warehouse's **contribution surface**:\n * which documents it exposes (consumed by `nx ask` + agent synthesis) and\n * which templates it exposes (consumed by `nx forge` at emit time).\n *\n * Introduced in Phase 6.5 per ADR-0011 §2 (Minimum Viable Warehouses).\n */\n\nimport { z } from \"zod\";\nimport { KebabSlug, SchemaVersion } from \"./primitives.js\";\n\n/**\n * A document is a piece of authored knowledge — markdown / yaml /\n * structured text — that the warehouse offers as reference material.\n * `nx ask` synthesis pulls these via the MCP layer (per ADR-0008 §1).\n */\nexport const WarehouseDocument = z\n .object({\n /** Stable id for cross-references; kebab-case. */\n id: KebabSlug,\n /** Path relative to the warehouse root. */\n path: z.string().min(1),\n /** Short human-readable title. */\n title: z.string().min(3).max(160),\n /**\n * Who is allowed to consume this document.\n * \"agents\" = LLM synthesis; \"human\" = direct read via `nx ask --human`;\n * \"public\" = any external MCP consumer.\n */\n audience: z\n .array(z.enum([\"agents\", \"human\", \"public\"]))\n .min(1)\n .max(3),\n /** Free-form tags for retrieval / filtering. */\n tags: z.array(z.string().min(1).max(40)).max(20).default([]),\n /**\n * Last-reviewed ISO date. Decay countdown starts here. Inherits the\n * warehouse's `meta.yaml.decay_rate_days` if unset.\n */\n last_reviewed: z\n .string()\n .regex(/^\\d{4}-\\d{2}-\\d{2}$/)\n .optional(),\n })\n .strict();\nexport type WarehouseDocument = z.infer<typeof WarehouseDocument>;\n\n/**\n * A template is an emittable artifact — code, config, or scaffold — that\n * `nx forge` writes to disk when composing a recipe. Each template\n * declares which recipes are allowed to consume it (or `[\"*\"]` for\n * recipe-agnostic primitives like `.gitignore`).\n */\nexport const WarehouseTemplate = z\n .object({\n /** Stable id for cross-references; kebab-case. */\n id: KebabSlug,\n /** Source path relative to the warehouse root. */\n source: z.string().min(1),\n /**\n * Emit target path, with Handlebars-style `{{vars}}` allowed in\n * path segments. Relative to the emit root.\n */\n target_path: z.string().min(1),\n /**\n * Which recipes may consume this template. `[\"*\"]` = any recipe.\n * Empty array = template not yet released to any recipe.\n */\n consumers: z.array(z.union([z.literal(\"*\"), KebabSlug])).default([]),\n /** Optional conditional path; same syntax as TemplateFile.conditionalOn. */\n conditional_on: z.string().min(1).optional(),\n /** Mark binary files (skip rendering, copy bytes). */\n binary: z.boolean().default(false),\n /** POSIX mode (octal). Default 0o644. */\n mode: z.number().int().min(0).max(0o7777).optional(),\n })\n .strict();\nexport type WarehouseTemplate = z.infer<typeof WarehouseTemplate>;\n\nexport const WarehouseManifest = z\n .object({\n schema_version: SchemaVersion,\n /** Must match the warehouse's `meta.yaml.name`. */\n warehouse: KebabSlug,\n /** Manifest version; bumps on document/template changes. */\n version: z.string().regex(/^\\d+\\.\\d+\\.\\d+$/, \"semver: major.minor.patch\"),\n /** Short description of what this warehouse contributes. */\n description: z.string().min(20).max(500),\n /** Authored documents. */\n documents: z.array(WarehouseDocument).default([]),\n /** Forge templates. */\n templates: z.array(WarehouseTemplate).default([]),\n })\n .strict()\n .refine(\n (m) => {\n // Document ids unique\n const docIds = new Set<string>();\n for (const d of m.documents) {\n if (docIds.has(d.id)) return false;\n docIds.add(d.id);\n }\n return true;\n },\n { message: \"document ids must be unique within a manifest\" },\n )\n .refine(\n (m) => {\n // Template ids unique\n const tplIds = new Set<string>();\n for (const t of m.templates) {\n if (tplIds.has(t.id)) return false;\n tplIds.add(t.id);\n }\n return true;\n },\n { message: \"template ids must be unique within a manifest\" },\n );\nexport type WarehouseManifest = z.infer<typeof WarehouseManifest>;\n"]}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@nexural/schema",
3
- "version": "0.1.0",
4
- "description": "Canonical Zod schemas for the Nexural Federation (meta, frontmatter, MCP envelope, telemetry, recipes, lockfile, cost envelope, model router, external MCP, revocation).",
3
+ "version": "1.0.0",
4
+ "description": "Canonical Zod schemas for the Nexural Federation (meta, frontmatter, MCP envelope, telemetry, recipes, lockfile, cost envelope, model router, external MCP, revocation, warehouse manifest).",
5
5
  "license": "MIT",
6
6
  "type": "module",
7
7
  "main": "./dist/index.js",