@fractary/codex 0.1.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.
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/errors/CodexError.ts","../src/errors/ConfigurationError.ts","../src/errors/ValidationError.ts","../src/schemas/metadata.ts","../src/schemas/config.ts","../src/core/metadata/parser.ts","../src/core/patterns/matcher.ts","../src/core/config/organization.ts","../src/core/config/defaults.ts","../src/core/config/loader.ts","../src/core/routing/evaluator.ts"],"names":["z","yaml","isMatch"],"mappings":"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","file":"index.cjs","sourcesContent":["/**\n * Base error class for all Codex SDK errors\n */\nexport class CodexError extends Error {\n constructor(\n message: string,\n options?: ErrorOptions\n ) {\n super(message, options)\n this.name = 'CodexError'\n Object.setPrototypeOf(this, CodexError.prototype)\n }\n}\n","import { CodexError } from './CodexError.js'\n\n/**\n * Error thrown when configuration is missing or invalid\n */\nexport class ConfigurationError extends CodexError {\n constructor(message: string, options?: ErrorOptions) {\n super(message, options)\n this.name = 'ConfigurationError'\n Object.setPrototypeOf(this, ConfigurationError.prototype)\n }\n}\n","import { CodexError } from './CodexError.js'\n\n/**\n * Error thrown when data validation fails\n */\nexport class ValidationError extends CodexError {\n constructor(message: string, options?: ErrorOptions) {\n super(message, options)\n this.name = 'ValidationError'\n Object.setPrototypeOf(this, ValidationError.prototype)\n }\n}\n","import { z } from 'zod'\n\n/**\n * Schema for document frontmatter metadata\n *\n * Based on SPEC-00002: Metadata Parsing\n */\nexport const MetadataSchema = z\n .object({\n // Organizational\n org: z.string().optional(),\n system: z.string().optional(),\n\n // Sync rules\n codex_sync_include: z.array(z.string()).optional(),\n codex_sync_exclude: z.array(z.string()).optional(),\n\n // Metadata\n title: z.string().optional(),\n description: z.string().optional(),\n visibility: z.enum(['public', 'internal', 'private']).optional(),\n audience: z.array(z.string()).optional(),\n tags: z.array(z.string()).optional(),\n\n // Timestamps\n created: z.string().optional(), // ISO 8601 date string\n updated: z.string().optional(),\n })\n .passthrough() // Allow additional fields for extensibility\n\nexport type Metadata = z.infer<typeof MetadataSchema>\n","import { z } from 'zod'\n\n/**\n * Schema for auto-sync patterns\n *\n * Based on SPEC-00004: Routing & Distribution\n */\nexport const AutoSyncPatternSchema = z.object({\n pattern: z.string(),\n include: z.array(z.string()),\n exclude: z.array(z.string()).optional(),\n})\n\nexport type AutoSyncPattern = z.infer<typeof AutoSyncPatternSchema>\n\n/**\n * Schema for sync rules configuration\n *\n * Based on SPEC-00004: Routing & Distribution\n */\nexport const SyncRulesSchema = z.object({\n autoSyncPatterns: z.array(AutoSyncPatternSchema).optional(),\n preventSelfSync: z.boolean().optional(),\n preventCodexSync: z.boolean().optional(),\n allowProjectOverrides: z.boolean().optional(),\n defaultInclude: z.array(z.string()).optional(),\n defaultExclude: z.array(z.string()).optional(),\n})\n\nexport type SyncRules = z.infer<typeof SyncRulesSchema>\n\n/**\n * Schema for Codex configuration\n *\n * Based on SPEC-00005: Configuration System\n */\nexport const CodexConfigSchema = z\n .object({\n organizationSlug: z.string(),\n\n directories: z\n .object({\n source: z.string().optional(),\n target: z.string().optional(),\n systems: z.string().optional(),\n })\n .optional(),\n\n rules: SyncRulesSchema.optional(),\n })\n .strict()\n\nexport type CodexConfig = z.infer<typeof CodexConfigSchema>\n","import yaml from 'js-yaml'\nimport { MetadataSchema, type Metadata } from '../../schemas/metadata.js'\nimport { ValidationError } from '../../errors/index.js'\n\nexport interface ParseMetadataOptions {\n strict?: boolean // Throw on validation errors (default: true)\n normalize?: boolean // Normalize line endings (default: true)\n}\n\nexport interface ParseResult {\n metadata: Metadata\n content: string // Document content without frontmatter\n raw: string // Raw frontmatter block\n}\n\n/**\n * Extracts and parses YAML frontmatter from markdown content\n *\n * Based on SPEC-00002: Metadata Parsing\n *\n * @param content - Markdown file content\n * @param options - Parsing options\n * @returns Parsed metadata and content\n * @throws ValidationError if frontmatter is malformed (in strict mode)\n */\nexport function parseMetadata(\n content: string,\n options: ParseMetadataOptions = {}\n): ParseResult {\n const { strict = true, normalize = true } = options\n\n // Normalize line endings (CRLF → LF)\n const normalizedContent = normalize\n ? content.replace(/\\r\\n/g, '\\n')\n : content\n\n // Extract frontmatter block\n const frontmatterMatch = normalizedContent.match(\n /^---\\n([\\s\\S]*?)\\n---\\n([\\s\\S]*)$/\n )\n\n if (!frontmatterMatch) {\n // No frontmatter found\n return {\n metadata: {},\n content: normalizedContent,\n raw: '',\n }\n }\n\n const rawFrontmatter = frontmatterMatch[1]!\n const documentContent = frontmatterMatch[2]!\n\n try {\n // Parse YAML\n const parsed = yaml.load(rawFrontmatter) as Record<string, unknown>\n\n // Normalize legacy formats\n const normalized = normalizeLegacyMetadata(parsed)\n\n // Validate against schema\n const metadata = strict\n ? MetadataSchema.parse(normalized)\n : MetadataSchema.safeParse(normalized).data || {}\n\n return {\n metadata,\n content: documentContent,\n raw: rawFrontmatter,\n }\n } catch (error) {\n if (strict) {\n throw new ValidationError(\n `Invalid frontmatter: ${error instanceof Error ? error.message : String(error)}`,\n { cause: error }\n )\n }\n\n // Non-strict mode: return empty metadata\n return {\n metadata: {},\n content: documentContent,\n raw: rawFrontmatter,\n }\n }\n}\n\n/**\n * Normalize legacy frontmatter formats to standard format\n *\n * Handles:\n * - Nested codex.includes → codex_sync_include\n * - Nested codex.excludes → codex_sync_exclude\n */\nfunction normalizeLegacyMetadata(parsed: any): any {\n const normalized: any = { ...parsed }\n\n // Handle nested codex.includes → codex_sync_include\n if (parsed.codex?.includes && !parsed.codex_sync_include) {\n normalized.codex_sync_include = parsed.codex.includes\n }\n\n // Handle nested codex.excludes → codex_sync_exclude\n if (parsed.codex?.excludes && !parsed.codex_sync_exclude) {\n normalized.codex_sync_exclude = parsed.codex.excludes\n }\n\n return normalized\n}\n\n/**\n * Check if content has frontmatter\n */\nexport function hasFrontmatter(content: string): boolean {\n const normalized = content.replace(/\\r\\n/g, '\\n')\n return /^---\\n[\\s\\S]*?\\n---\\n/.test(normalized)\n}\n\n/**\n * Validate metadata without parsing content\n */\nexport function validateMetadata(\n metadata: unknown\n): { valid: boolean; errors?: string[] } {\n const result = MetadataSchema.safeParse(metadata)\n\n if (result.success) {\n return { valid: true }\n }\n\n return {\n valid: false,\n errors: result.error.issues.map(issue => issue.message),\n }\n}\n\n/**\n * Extract only frontmatter (no validation)\n */\nexport function extractRawFrontmatter(content: string): string | null {\n const normalized = content.replace(/\\r\\n/g, '\\n')\n const match = normalized.match(/^---\\n([\\s\\S]*?)\\n---\\n/)\n return match && match[1] ? match[1] : null\n}\n","import { isMatch } from 'micromatch'\n\n/**\n * Match a pattern against a value using glob syntax\n *\n * Based on SPEC-00003: Pattern Matching\n *\n * @param pattern - Glob pattern (e.g., \"api-*\", \"core-*\")\n * @param value - Value to test (e.g., \"api-gateway\")\n * @returns true if pattern matches value\n */\nexport function matchPattern(pattern: string, value: string): boolean {\n // Special case: exact match\n if (pattern === value) return true\n\n // Use micromatch for glob pattern matching\n return isMatch(value, pattern)\n}\n\n/**\n * Check if value matches any pattern in array\n *\n * @param patterns - Array of glob patterns\n * @param value - Value to test\n * @returns true if value matches any pattern\n */\nexport function matchAnyPattern(\n patterns: string[],\n value: string\n): boolean {\n // Special case: [*] matches everything\n if (patterns.length === 1 && patterns[0] === '*') {\n return true\n }\n\n // Empty array matches nothing\n if (patterns.length === 0) {\n return false\n }\n\n // Check each pattern\n return patterns.some(pattern => matchPattern(pattern, value))\n}\n\n/**\n * Filter values that match any pattern\n *\n * @param patterns - Array of glob patterns\n * @param values - Array of values to filter\n * @returns Values that match any pattern\n */\nexport function filterByPatterns(\n patterns: string[],\n values: string[]\n): string[] {\n return values.filter(value => matchAnyPattern(patterns, value))\n}\n\n/**\n * Evaluate include/exclude rules\n *\n * @param options - Evaluation options\n * @returns true if value should be included\n */\nexport function evaluatePatterns(options: {\n value: string\n include?: string[]\n exclude?: string[]\n}): boolean {\n const { value, include = [], exclude = [] } = options\n\n // Check exclusions first (exclusions take priority)\n if (exclude.length > 0 && matchAnyPattern(exclude, value)) {\n return false\n }\n\n // Check inclusions\n if (include.length === 0) {\n // No include patterns = include by default\n return true\n }\n\n return matchAnyPattern(include, value)\n}\n","import { ConfigurationError } from '../../errors/index.js'\n\nexport interface ResolveOrgOptions {\n orgSlug?: string // Explicit org slug\n repoName?: string // Repo name for auto-detection\n autoDetect?: boolean // Enable auto-detection (default: true)\n}\n\n/**\n * Resolve organization slug from multiple sources\n *\n * Based on SPEC-00005: Configuration System\n *\n * Priority:\n * 1. Explicit orgSlug parameter\n * 2. Auto-detect from repoName (if enabled)\n * 3. Environment variable (ORGANIZATION_SLUG or CODEX_ORG_SLUG)\n * 4. Throw ConfigurationError if none found\n *\n * @param options - Resolution options\n * @returns Organization slug\n * @throws ConfigurationError if slug cannot be determined\n */\nexport function resolveOrganization(\n options: ResolveOrgOptions = {}\n): string {\n const { orgSlug, repoName, autoDetect = true } = options\n\n // 1. Explicit parameter\n if (orgSlug) {\n return orgSlug\n }\n\n // 2. Auto-detect from repo name\n if (autoDetect && repoName) {\n const detected = extractOrgFromRepoName(repoName)\n if (detected) {\n return detected\n }\n }\n\n // 3. Environment variables\n const envOrg =\n process.env['ORGANIZATION_SLUG'] || process.env['CODEX_ORG_SLUG']\n\n if (envOrg) {\n return envOrg\n }\n\n // 4. Fail - required parameter missing\n throw new ConfigurationError(\n 'Organization slug could not be determined. ' +\n 'Set ORGANIZATION_SLUG environment variable or pass orgSlug option.'\n )\n}\n\n/**\n * Extract org slug from repo name pattern\n *\n * Patterns:\n * - codex.fractary.com → \"fractary\"\n * - codex.acme.ai → \"acme\"\n * - codex.my-org.io → \"my-org\"\n *\n * @param repoName - Repository name\n * @returns Organization slug or null if pattern doesn't match\n */\nexport function extractOrgFromRepoName(repoName: string): string | null {\n // Pattern: codex.{org}.{tld}\n const match = repoName.match(/^codex\\.([^.]+)\\.[^.]+$/)\n\n if (match && match[1]) {\n return match[1]\n }\n\n return null\n}\n","import type { CodexConfig, SyncRules } from '../../schemas/config.js'\n\n/**\n * Get default directory structure\n *\n * Based on SPEC-00005: Configuration System\n */\nexport function getDefaultDirectories(orgSlug: string) {\n return {\n source: `.${orgSlug}`,\n target: `.${orgSlug}`,\n systems: `.${orgSlug}/systems`,\n }\n}\n\n/**\n * Get default sync rules\n *\n * Based on SPEC-00004: Routing & Distribution\n */\nexport function getDefaultRules(): SyncRules {\n return {\n autoSyncPatterns: [],\n preventSelfSync: true,\n preventCodexSync: true,\n allowProjectOverrides: true,\n defaultInclude: [],\n defaultExclude: [],\n }\n}\n\n/**\n * Get default configuration\n *\n * @param orgSlug - Organization slug\n * @returns Default CodexConfig\n */\nexport function getDefaultConfig(orgSlug: string): CodexConfig {\n return {\n organizationSlug: orgSlug,\n directories: getDefaultDirectories(orgSlug),\n rules: getDefaultRules(),\n }\n}\n","import {\n CodexConfigSchema,\n type CodexConfig,\n type SyncRules,\n} from '../../schemas/config.js'\nimport { resolveOrganization } from './organization.js'\nimport { getDefaultDirectories, getDefaultRules } from './defaults.js'\n\nexport interface LoadConfigOptions {\n organizationSlug?: string\n repoName?: string\n env?: Record<string, string | undefined> // Environment variables (default: process.env)\n}\n\n/**\n * Load and resolve configuration from all sources\n *\n * Based on SPEC-00005: Configuration System\n *\n * @param options - Loading options\n * @returns Fully resolved configuration\n */\nexport function loadConfig(options: LoadConfigOptions = {}): CodexConfig {\n // 1. Resolve organization slug\n const orgSlug = resolveOrganization({\n orgSlug: options.organizationSlug,\n repoName: options.repoName,\n })\n\n // 2. Build base config with defaults\n let config: Partial<CodexConfig> = {\n organizationSlug: orgSlug,\n directories: getDefaultDirectories(orgSlug),\n rules: getDefaultRules(),\n }\n\n // 3. Apply environment variable overrides\n const envConfig = loadConfigFromEnv(options.env || process.env)\n config = mergeConfigs(config, envConfig)\n\n // 4. Validate final configuration\n return CodexConfigSchema.parse(config)\n}\n\n/**\n * Load configuration from environment variables\n */\nfunction loadConfigFromEnv(\n env: Record<string, string | undefined>\n): Partial<CodexConfig> {\n const config: Partial<CodexConfig> = {}\n\n // Organization\n if (env['ORGANIZATION_SLUG'] || env['CODEX_ORG_SLUG']) {\n config.organizationSlug = env['ORGANIZATION_SLUG'] || env['CODEX_ORG_SLUG']\n }\n\n // Directories\n if (env['CODEX_SOURCE_DIR'] || env['CODEX_TARGET_DIR']) {\n config.directories = {\n source: env['CODEX_SOURCE_DIR'],\n target: env['CODEX_TARGET_DIR'],\n }\n }\n\n // Rules\n const rules: Partial<SyncRules> = {}\n\n if (env['CODEX_PREVENT_SELF_SYNC'] !== undefined) {\n rules.preventSelfSync = env['CODEX_PREVENT_SELF_SYNC'] === 'true'\n }\n\n if (env['CODEX_PREVENT_CODEX_SYNC'] !== undefined) {\n rules.preventCodexSync = env['CODEX_PREVENT_CODEX_SYNC'] === 'true'\n }\n\n if (env['CODEX_ALLOW_PROJECT_OVERRIDES'] !== undefined) {\n rules.allowProjectOverrides =\n env['CODEX_ALLOW_PROJECT_OVERRIDES'] === 'true'\n }\n\n if (Object.keys(rules).length > 0) {\n config.rules = rules\n }\n\n return config\n}\n\n/**\n * Deep merge two configuration objects\n * Later config overrides earlier config\n */\nfunction mergeConfigs(\n base: Partial<CodexConfig>,\n override: Partial<CodexConfig>\n): Partial<CodexConfig> {\n return {\n organizationSlug: override.organizationSlug ?? base.organizationSlug,\n\n directories: {\n ...base.directories,\n ...override.directories,\n },\n\n rules: {\n ...base.rules,\n ...override.rules,\n\n // Arrays are replaced, not merged\n autoSyncPatterns:\n override.rules?.autoSyncPatterns ?? base.rules?.autoSyncPatterns,\n defaultInclude:\n override.rules?.defaultInclude ?? base.rules?.defaultInclude,\n defaultExclude:\n override.rules?.defaultExclude ?? base.rules?.defaultExclude,\n },\n }\n}\n","import type { Metadata } from '../../schemas/metadata.js'\nimport type { SyncRules, AutoSyncPattern } from '../../schemas/config.js'\nimport { matchPattern, evaluatePatterns } from '../patterns/matcher.js'\nimport { getDefaultRules } from '../config/defaults.js'\n\nexport interface ShouldSyncOptions {\n filePath: string // Path to file being evaluated\n fileMetadata: Metadata // Parsed frontmatter from file\n targetRepo: string // Repository to sync to\n sourceRepo: string // Repository file is from\n rules?: SyncRules // Optional routing rules (defaults applied)\n}\n\n/**\n * Determine if a file should be synced to a target repository\n *\n * Based on SPEC-00004: Routing & Distribution\n *\n * @param options - Evaluation options\n * @returns true if file should sync to targetRepo\n */\nexport function shouldSyncToRepo(options: ShouldSyncOptions): boolean {\n const {\n filePath,\n fileMetadata,\n targetRepo,\n sourceRepo,\n rules = getDefaultRules(),\n } = options\n\n // 1. Check special rules first\n const specialRuleResult = evaluateSpecialRules({\n filePath,\n targetRepo,\n sourceRepo,\n rules,\n })\n\n if (specialRuleResult !== null) {\n return specialRuleResult\n }\n\n // 2. Evaluate frontmatter rules\n return evaluateFrontmatterRules({\n metadata: fileMetadata,\n targetRepo,\n allowOverrides: rules.allowProjectOverrides ?? true,\n })\n}\n\n/**\n * Evaluate special routing rules\n *\n * Returns true/false if a special rule matches, null otherwise\n */\nfunction evaluateSpecialRules(options: {\n filePath: string\n targetRepo: string\n sourceRepo: string\n rules: SyncRules\n}): boolean | null {\n const { filePath, targetRepo, sourceRepo, rules } = options\n\n // Rule 1: Auto-sync patterns (highest priority)\n if (rules.autoSyncPatterns?.length) {\n const autoSyncResult = evaluateAutoSyncPatterns(\n filePath,\n targetRepo,\n rules.autoSyncPatterns\n )\n\n if (autoSyncResult !== null) {\n return autoSyncResult\n }\n }\n\n // Rule 2: Prevent self-sync\n if (rules.preventSelfSync) {\n const selfSyncResult = preventSelfSync(filePath, targetRepo, sourceRepo)\n\n if (selfSyncResult !== null) {\n return selfSyncResult\n }\n }\n\n // Rule 3: Prevent codex sync\n if (rules.preventCodexSync) {\n const codexSyncResult = preventCodexSync(targetRepo, sourceRepo)\n\n if (codexSyncResult !== null) {\n return codexSyncResult\n }\n }\n\n // No special rule applies\n return null\n}\n\n/**\n * Evaluate auto-sync patterns\n */\nfunction evaluateAutoSyncPatterns(\n filePath: string,\n targetRepo: string,\n patterns: AutoSyncPattern[]\n): boolean | null {\n for (const autoPattern of patterns) {\n // Check if file matches auto-sync pattern\n if (matchPattern(autoPattern.pattern, filePath)) {\n // File matches - evaluate repo include/exclude\n return evaluatePatterns({\n value: targetRepo,\n include: autoPattern.include,\n ...(autoPattern.exclude && { exclude: autoPattern.exclude }),\n })\n }\n }\n\n // No auto-sync pattern matched\n return null\n}\n\n/**\n * Prevent system files from syncing to their own repository\n */\nfunction preventSelfSync(\n filePath: string,\n targetRepo: string,\n _sourceRepo: string\n): boolean | null {\n // Extract system name from file path\n // Example: \".fractary/systems/api-gateway/docs/README.md\" → \"api-gateway\"\n const systemMatch = filePath.match(/systems\\/([^/]+)\\//)\n\n if (systemMatch && systemMatch[1]) {\n const systemName = systemMatch[1]\n\n if (systemName === targetRepo) {\n // Prevent: Don't sync system files to their own repo\n return false\n }\n }\n\n // Not a system file, or different system\n return null\n}\n\n/**\n * Prevent files from syncing back to the codex repository\n */\nfunction preventCodexSync(\n targetRepo: string,\n sourceRepo: string\n): boolean | null {\n // Detect if target is the codex repo\n const isCodexRepo =\n targetRepo === sourceRepo || targetRepo.startsWith('codex.')\n\n if (isCodexRepo) {\n return false\n }\n\n return null\n}\n\n/**\n * Evaluate frontmatter sync rules\n */\nfunction evaluateFrontmatterRules(options: {\n metadata: Metadata\n targetRepo: string\n allowOverrides: boolean\n}): boolean {\n const { metadata, targetRepo, allowOverrides } = options\n\n // If project overrides disabled, return false (no sync by default)\n if (!allowOverrides) {\n return false\n }\n\n const include = metadata.codex_sync_include || []\n const exclude = metadata.codex_sync_exclude || []\n\n // If no include rules, don't sync (must be explicit)\n if (include.length === 0) {\n return false\n }\n\n // Evaluate include/exclude patterns\n return evaluatePatterns({\n value: targetRepo,\n include,\n exclude,\n })\n}\n\n/**\n * Determine all repos that should receive a file\n *\n * @param options - Evaluation options\n * @returns Array of repository names that should receive this file\n */\nexport function getTargetRepos(options: {\n filePath: string\n fileMetadata: Metadata\n sourceRepo: string\n allRepos: string[]\n rules?: SyncRules\n}): string[] {\n const { filePath, fileMetadata, sourceRepo, allRepos, rules } = options\n\n return allRepos.filter(targetRepo =>\n shouldSyncToRepo({\n filePath,\n fileMetadata,\n targetRepo,\n sourceRepo,\n ...(rules && { rules }),\n })\n )\n}\n"]}
@@ -0,0 +1,274 @@
1
+ import { z } from 'zod';
2
+
3
+ declare class CodexError extends Error {
4
+ constructor(message: string, options?: ErrorOptions);
5
+ }
6
+
7
+ declare class ConfigurationError extends CodexError {
8
+ constructor(message: string, options?: ErrorOptions);
9
+ }
10
+
11
+ declare class ValidationError extends CodexError {
12
+ constructor(message: string, options?: ErrorOptions);
13
+ }
14
+
15
+ declare const MetadataSchema: z.ZodObject<{
16
+ org: z.ZodOptional<z.ZodString>;
17
+ system: z.ZodOptional<z.ZodString>;
18
+ codex_sync_include: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
19
+ codex_sync_exclude: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
20
+ title: z.ZodOptional<z.ZodString>;
21
+ description: z.ZodOptional<z.ZodString>;
22
+ visibility: z.ZodOptional<z.ZodEnum<["public", "internal", "private"]>>;
23
+ audience: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
24
+ tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
25
+ created: z.ZodOptional<z.ZodString>;
26
+ updated: z.ZodOptional<z.ZodString>;
27
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
28
+ org: z.ZodOptional<z.ZodString>;
29
+ system: z.ZodOptional<z.ZodString>;
30
+ codex_sync_include: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
31
+ codex_sync_exclude: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
32
+ title: z.ZodOptional<z.ZodString>;
33
+ description: z.ZodOptional<z.ZodString>;
34
+ visibility: z.ZodOptional<z.ZodEnum<["public", "internal", "private"]>>;
35
+ audience: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
36
+ tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
37
+ created: z.ZodOptional<z.ZodString>;
38
+ updated: z.ZodOptional<z.ZodString>;
39
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
40
+ org: z.ZodOptional<z.ZodString>;
41
+ system: z.ZodOptional<z.ZodString>;
42
+ codex_sync_include: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
43
+ codex_sync_exclude: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
44
+ title: z.ZodOptional<z.ZodString>;
45
+ description: z.ZodOptional<z.ZodString>;
46
+ visibility: z.ZodOptional<z.ZodEnum<["public", "internal", "private"]>>;
47
+ audience: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
48
+ tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
49
+ created: z.ZodOptional<z.ZodString>;
50
+ updated: z.ZodOptional<z.ZodString>;
51
+ }, z.ZodTypeAny, "passthrough">>;
52
+ type Metadata = z.infer<typeof MetadataSchema>;
53
+
54
+ declare const AutoSyncPatternSchema: z.ZodObject<{
55
+ pattern: z.ZodString;
56
+ include: z.ZodArray<z.ZodString, "many">;
57
+ exclude: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
58
+ }, "strip", z.ZodTypeAny, {
59
+ pattern: string;
60
+ include: string[];
61
+ exclude?: string[] | undefined;
62
+ }, {
63
+ pattern: string;
64
+ include: string[];
65
+ exclude?: string[] | undefined;
66
+ }>;
67
+ type AutoSyncPattern = z.infer<typeof AutoSyncPatternSchema>;
68
+ declare const SyncRulesSchema: z.ZodObject<{
69
+ autoSyncPatterns: z.ZodOptional<z.ZodArray<z.ZodObject<{
70
+ pattern: z.ZodString;
71
+ include: z.ZodArray<z.ZodString, "many">;
72
+ exclude: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
73
+ }, "strip", z.ZodTypeAny, {
74
+ pattern: string;
75
+ include: string[];
76
+ exclude?: string[] | undefined;
77
+ }, {
78
+ pattern: string;
79
+ include: string[];
80
+ exclude?: string[] | undefined;
81
+ }>, "many">>;
82
+ preventSelfSync: z.ZodOptional<z.ZodBoolean>;
83
+ preventCodexSync: z.ZodOptional<z.ZodBoolean>;
84
+ allowProjectOverrides: z.ZodOptional<z.ZodBoolean>;
85
+ defaultInclude: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
86
+ defaultExclude: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
87
+ }, "strip", z.ZodTypeAny, {
88
+ autoSyncPatterns?: {
89
+ pattern: string;
90
+ include: string[];
91
+ exclude?: string[] | undefined;
92
+ }[] | undefined;
93
+ preventSelfSync?: boolean | undefined;
94
+ preventCodexSync?: boolean | undefined;
95
+ allowProjectOverrides?: boolean | undefined;
96
+ defaultInclude?: string[] | undefined;
97
+ defaultExclude?: string[] | undefined;
98
+ }, {
99
+ autoSyncPatterns?: {
100
+ pattern: string;
101
+ include: string[];
102
+ exclude?: string[] | undefined;
103
+ }[] | undefined;
104
+ preventSelfSync?: boolean | undefined;
105
+ preventCodexSync?: boolean | undefined;
106
+ allowProjectOverrides?: boolean | undefined;
107
+ defaultInclude?: string[] | undefined;
108
+ defaultExclude?: string[] | undefined;
109
+ }>;
110
+ type SyncRules = z.infer<typeof SyncRulesSchema>;
111
+ declare const CodexConfigSchema: z.ZodObject<{
112
+ organizationSlug: z.ZodString;
113
+ directories: z.ZodOptional<z.ZodObject<{
114
+ source: z.ZodOptional<z.ZodString>;
115
+ target: z.ZodOptional<z.ZodString>;
116
+ systems: z.ZodOptional<z.ZodString>;
117
+ }, "strip", z.ZodTypeAny, {
118
+ source?: string | undefined;
119
+ target?: string | undefined;
120
+ systems?: string | undefined;
121
+ }, {
122
+ source?: string | undefined;
123
+ target?: string | undefined;
124
+ systems?: string | undefined;
125
+ }>>;
126
+ rules: z.ZodOptional<z.ZodObject<{
127
+ autoSyncPatterns: z.ZodOptional<z.ZodArray<z.ZodObject<{
128
+ pattern: z.ZodString;
129
+ include: z.ZodArray<z.ZodString, "many">;
130
+ exclude: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
131
+ }, "strip", z.ZodTypeAny, {
132
+ pattern: string;
133
+ include: string[];
134
+ exclude?: string[] | undefined;
135
+ }, {
136
+ pattern: string;
137
+ include: string[];
138
+ exclude?: string[] | undefined;
139
+ }>, "many">>;
140
+ preventSelfSync: z.ZodOptional<z.ZodBoolean>;
141
+ preventCodexSync: z.ZodOptional<z.ZodBoolean>;
142
+ allowProjectOverrides: z.ZodOptional<z.ZodBoolean>;
143
+ defaultInclude: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
144
+ defaultExclude: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
145
+ }, "strip", z.ZodTypeAny, {
146
+ autoSyncPatterns?: {
147
+ pattern: string;
148
+ include: string[];
149
+ exclude?: string[] | undefined;
150
+ }[] | undefined;
151
+ preventSelfSync?: boolean | undefined;
152
+ preventCodexSync?: boolean | undefined;
153
+ allowProjectOverrides?: boolean | undefined;
154
+ defaultInclude?: string[] | undefined;
155
+ defaultExclude?: string[] | undefined;
156
+ }, {
157
+ autoSyncPatterns?: {
158
+ pattern: string;
159
+ include: string[];
160
+ exclude?: string[] | undefined;
161
+ }[] | undefined;
162
+ preventSelfSync?: boolean | undefined;
163
+ preventCodexSync?: boolean | undefined;
164
+ allowProjectOverrides?: boolean | undefined;
165
+ defaultInclude?: string[] | undefined;
166
+ defaultExclude?: string[] | undefined;
167
+ }>>;
168
+ }, "strict", z.ZodTypeAny, {
169
+ organizationSlug: string;
170
+ directories?: {
171
+ source?: string | undefined;
172
+ target?: string | undefined;
173
+ systems?: string | undefined;
174
+ } | undefined;
175
+ rules?: {
176
+ autoSyncPatterns?: {
177
+ pattern: string;
178
+ include: string[];
179
+ exclude?: string[] | undefined;
180
+ }[] | undefined;
181
+ preventSelfSync?: boolean | undefined;
182
+ preventCodexSync?: boolean | undefined;
183
+ allowProjectOverrides?: boolean | undefined;
184
+ defaultInclude?: string[] | undefined;
185
+ defaultExclude?: string[] | undefined;
186
+ } | undefined;
187
+ }, {
188
+ organizationSlug: string;
189
+ directories?: {
190
+ source?: string | undefined;
191
+ target?: string | undefined;
192
+ systems?: string | undefined;
193
+ } | undefined;
194
+ rules?: {
195
+ autoSyncPatterns?: {
196
+ pattern: string;
197
+ include: string[];
198
+ exclude?: string[] | undefined;
199
+ }[] | undefined;
200
+ preventSelfSync?: boolean | undefined;
201
+ preventCodexSync?: boolean | undefined;
202
+ allowProjectOverrides?: boolean | undefined;
203
+ defaultInclude?: string[] | undefined;
204
+ defaultExclude?: string[] | undefined;
205
+ } | undefined;
206
+ }>;
207
+ type CodexConfig = z.infer<typeof CodexConfigSchema>;
208
+
209
+ interface ParseMetadataOptions {
210
+ strict?: boolean;
211
+ normalize?: boolean;
212
+ }
213
+ interface ParseResult {
214
+ metadata: Metadata;
215
+ content: string;
216
+ raw: string;
217
+ }
218
+ declare function parseMetadata(content: string, options?: ParseMetadataOptions): ParseResult;
219
+ declare function hasFrontmatter(content: string): boolean;
220
+ declare function validateMetadata(metadata: unknown): {
221
+ valid: boolean;
222
+ errors?: string[];
223
+ };
224
+ declare function extractRawFrontmatter(content: string): string | null;
225
+
226
+ declare function matchPattern(pattern: string, value: string): boolean;
227
+ declare function matchAnyPattern(patterns: string[], value: string): boolean;
228
+ declare function filterByPatterns(patterns: string[], values: string[]): string[];
229
+ declare function evaluatePatterns(options: {
230
+ value: string;
231
+ include?: string[];
232
+ exclude?: string[];
233
+ }): boolean;
234
+
235
+ interface ResolveOrgOptions {
236
+ orgSlug?: string;
237
+ repoName?: string;
238
+ autoDetect?: boolean;
239
+ }
240
+ declare function resolveOrganization(options?: ResolveOrgOptions): string;
241
+ declare function extractOrgFromRepoName(repoName: string): string | null;
242
+
243
+ declare function getDefaultDirectories(orgSlug: string): {
244
+ source: string;
245
+ target: string;
246
+ systems: string;
247
+ };
248
+ declare function getDefaultRules(): SyncRules;
249
+ declare function getDefaultConfig(orgSlug: string): CodexConfig;
250
+
251
+ interface LoadConfigOptions {
252
+ organizationSlug?: string;
253
+ repoName?: string;
254
+ env?: Record<string, string | undefined>;
255
+ }
256
+ declare function loadConfig(options?: LoadConfigOptions): CodexConfig;
257
+
258
+ interface ShouldSyncOptions {
259
+ filePath: string;
260
+ fileMetadata: Metadata;
261
+ targetRepo: string;
262
+ sourceRepo: string;
263
+ rules?: SyncRules;
264
+ }
265
+ declare function shouldSyncToRepo(options: ShouldSyncOptions): boolean;
266
+ declare function getTargetRepos(options: {
267
+ filePath: string;
268
+ fileMetadata: Metadata;
269
+ sourceRepo: string;
270
+ allRepos: string[];
271
+ rules?: SyncRules;
272
+ }): string[];
273
+
274
+ export { type AutoSyncPattern, AutoSyncPatternSchema, type CodexConfig, CodexConfigSchema, CodexError, ConfigurationError, type LoadConfigOptions, type Metadata, MetadataSchema, type ParseMetadataOptions, type ParseResult, type ResolveOrgOptions, type ShouldSyncOptions, type SyncRules, SyncRulesSchema, ValidationError, evaluatePatterns, extractOrgFromRepoName, extractRawFrontmatter, filterByPatterns, getDefaultConfig, getDefaultDirectories, getDefaultRules, getTargetRepos, hasFrontmatter, loadConfig, matchAnyPattern, matchPattern, parseMetadata, resolveOrganization, shouldSyncToRepo, validateMetadata };
@@ -0,0 +1,274 @@
1
+ import { z } from 'zod';
2
+
3
+ declare class CodexError extends Error {
4
+ constructor(message: string, options?: ErrorOptions);
5
+ }
6
+
7
+ declare class ConfigurationError extends CodexError {
8
+ constructor(message: string, options?: ErrorOptions);
9
+ }
10
+
11
+ declare class ValidationError extends CodexError {
12
+ constructor(message: string, options?: ErrorOptions);
13
+ }
14
+
15
+ declare const MetadataSchema: z.ZodObject<{
16
+ org: z.ZodOptional<z.ZodString>;
17
+ system: z.ZodOptional<z.ZodString>;
18
+ codex_sync_include: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
19
+ codex_sync_exclude: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
20
+ title: z.ZodOptional<z.ZodString>;
21
+ description: z.ZodOptional<z.ZodString>;
22
+ visibility: z.ZodOptional<z.ZodEnum<["public", "internal", "private"]>>;
23
+ audience: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
24
+ tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
25
+ created: z.ZodOptional<z.ZodString>;
26
+ updated: z.ZodOptional<z.ZodString>;
27
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
28
+ org: z.ZodOptional<z.ZodString>;
29
+ system: z.ZodOptional<z.ZodString>;
30
+ codex_sync_include: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
31
+ codex_sync_exclude: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
32
+ title: z.ZodOptional<z.ZodString>;
33
+ description: z.ZodOptional<z.ZodString>;
34
+ visibility: z.ZodOptional<z.ZodEnum<["public", "internal", "private"]>>;
35
+ audience: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
36
+ tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
37
+ created: z.ZodOptional<z.ZodString>;
38
+ updated: z.ZodOptional<z.ZodString>;
39
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
40
+ org: z.ZodOptional<z.ZodString>;
41
+ system: z.ZodOptional<z.ZodString>;
42
+ codex_sync_include: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
43
+ codex_sync_exclude: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
44
+ title: z.ZodOptional<z.ZodString>;
45
+ description: z.ZodOptional<z.ZodString>;
46
+ visibility: z.ZodOptional<z.ZodEnum<["public", "internal", "private"]>>;
47
+ audience: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
48
+ tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
49
+ created: z.ZodOptional<z.ZodString>;
50
+ updated: z.ZodOptional<z.ZodString>;
51
+ }, z.ZodTypeAny, "passthrough">>;
52
+ type Metadata = z.infer<typeof MetadataSchema>;
53
+
54
+ declare const AutoSyncPatternSchema: z.ZodObject<{
55
+ pattern: z.ZodString;
56
+ include: z.ZodArray<z.ZodString, "many">;
57
+ exclude: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
58
+ }, "strip", z.ZodTypeAny, {
59
+ pattern: string;
60
+ include: string[];
61
+ exclude?: string[] | undefined;
62
+ }, {
63
+ pattern: string;
64
+ include: string[];
65
+ exclude?: string[] | undefined;
66
+ }>;
67
+ type AutoSyncPattern = z.infer<typeof AutoSyncPatternSchema>;
68
+ declare const SyncRulesSchema: z.ZodObject<{
69
+ autoSyncPatterns: z.ZodOptional<z.ZodArray<z.ZodObject<{
70
+ pattern: z.ZodString;
71
+ include: z.ZodArray<z.ZodString, "many">;
72
+ exclude: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
73
+ }, "strip", z.ZodTypeAny, {
74
+ pattern: string;
75
+ include: string[];
76
+ exclude?: string[] | undefined;
77
+ }, {
78
+ pattern: string;
79
+ include: string[];
80
+ exclude?: string[] | undefined;
81
+ }>, "many">>;
82
+ preventSelfSync: z.ZodOptional<z.ZodBoolean>;
83
+ preventCodexSync: z.ZodOptional<z.ZodBoolean>;
84
+ allowProjectOverrides: z.ZodOptional<z.ZodBoolean>;
85
+ defaultInclude: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
86
+ defaultExclude: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
87
+ }, "strip", z.ZodTypeAny, {
88
+ autoSyncPatterns?: {
89
+ pattern: string;
90
+ include: string[];
91
+ exclude?: string[] | undefined;
92
+ }[] | undefined;
93
+ preventSelfSync?: boolean | undefined;
94
+ preventCodexSync?: boolean | undefined;
95
+ allowProjectOverrides?: boolean | undefined;
96
+ defaultInclude?: string[] | undefined;
97
+ defaultExclude?: string[] | undefined;
98
+ }, {
99
+ autoSyncPatterns?: {
100
+ pattern: string;
101
+ include: string[];
102
+ exclude?: string[] | undefined;
103
+ }[] | undefined;
104
+ preventSelfSync?: boolean | undefined;
105
+ preventCodexSync?: boolean | undefined;
106
+ allowProjectOverrides?: boolean | undefined;
107
+ defaultInclude?: string[] | undefined;
108
+ defaultExclude?: string[] | undefined;
109
+ }>;
110
+ type SyncRules = z.infer<typeof SyncRulesSchema>;
111
+ declare const CodexConfigSchema: z.ZodObject<{
112
+ organizationSlug: z.ZodString;
113
+ directories: z.ZodOptional<z.ZodObject<{
114
+ source: z.ZodOptional<z.ZodString>;
115
+ target: z.ZodOptional<z.ZodString>;
116
+ systems: z.ZodOptional<z.ZodString>;
117
+ }, "strip", z.ZodTypeAny, {
118
+ source?: string | undefined;
119
+ target?: string | undefined;
120
+ systems?: string | undefined;
121
+ }, {
122
+ source?: string | undefined;
123
+ target?: string | undefined;
124
+ systems?: string | undefined;
125
+ }>>;
126
+ rules: z.ZodOptional<z.ZodObject<{
127
+ autoSyncPatterns: z.ZodOptional<z.ZodArray<z.ZodObject<{
128
+ pattern: z.ZodString;
129
+ include: z.ZodArray<z.ZodString, "many">;
130
+ exclude: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
131
+ }, "strip", z.ZodTypeAny, {
132
+ pattern: string;
133
+ include: string[];
134
+ exclude?: string[] | undefined;
135
+ }, {
136
+ pattern: string;
137
+ include: string[];
138
+ exclude?: string[] | undefined;
139
+ }>, "many">>;
140
+ preventSelfSync: z.ZodOptional<z.ZodBoolean>;
141
+ preventCodexSync: z.ZodOptional<z.ZodBoolean>;
142
+ allowProjectOverrides: z.ZodOptional<z.ZodBoolean>;
143
+ defaultInclude: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
144
+ defaultExclude: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
145
+ }, "strip", z.ZodTypeAny, {
146
+ autoSyncPatterns?: {
147
+ pattern: string;
148
+ include: string[];
149
+ exclude?: string[] | undefined;
150
+ }[] | undefined;
151
+ preventSelfSync?: boolean | undefined;
152
+ preventCodexSync?: boolean | undefined;
153
+ allowProjectOverrides?: boolean | undefined;
154
+ defaultInclude?: string[] | undefined;
155
+ defaultExclude?: string[] | undefined;
156
+ }, {
157
+ autoSyncPatterns?: {
158
+ pattern: string;
159
+ include: string[];
160
+ exclude?: string[] | undefined;
161
+ }[] | undefined;
162
+ preventSelfSync?: boolean | undefined;
163
+ preventCodexSync?: boolean | undefined;
164
+ allowProjectOverrides?: boolean | undefined;
165
+ defaultInclude?: string[] | undefined;
166
+ defaultExclude?: string[] | undefined;
167
+ }>>;
168
+ }, "strict", z.ZodTypeAny, {
169
+ organizationSlug: string;
170
+ directories?: {
171
+ source?: string | undefined;
172
+ target?: string | undefined;
173
+ systems?: string | undefined;
174
+ } | undefined;
175
+ rules?: {
176
+ autoSyncPatterns?: {
177
+ pattern: string;
178
+ include: string[];
179
+ exclude?: string[] | undefined;
180
+ }[] | undefined;
181
+ preventSelfSync?: boolean | undefined;
182
+ preventCodexSync?: boolean | undefined;
183
+ allowProjectOverrides?: boolean | undefined;
184
+ defaultInclude?: string[] | undefined;
185
+ defaultExclude?: string[] | undefined;
186
+ } | undefined;
187
+ }, {
188
+ organizationSlug: string;
189
+ directories?: {
190
+ source?: string | undefined;
191
+ target?: string | undefined;
192
+ systems?: string | undefined;
193
+ } | undefined;
194
+ rules?: {
195
+ autoSyncPatterns?: {
196
+ pattern: string;
197
+ include: string[];
198
+ exclude?: string[] | undefined;
199
+ }[] | undefined;
200
+ preventSelfSync?: boolean | undefined;
201
+ preventCodexSync?: boolean | undefined;
202
+ allowProjectOverrides?: boolean | undefined;
203
+ defaultInclude?: string[] | undefined;
204
+ defaultExclude?: string[] | undefined;
205
+ } | undefined;
206
+ }>;
207
+ type CodexConfig = z.infer<typeof CodexConfigSchema>;
208
+
209
+ interface ParseMetadataOptions {
210
+ strict?: boolean;
211
+ normalize?: boolean;
212
+ }
213
+ interface ParseResult {
214
+ metadata: Metadata;
215
+ content: string;
216
+ raw: string;
217
+ }
218
+ declare function parseMetadata(content: string, options?: ParseMetadataOptions): ParseResult;
219
+ declare function hasFrontmatter(content: string): boolean;
220
+ declare function validateMetadata(metadata: unknown): {
221
+ valid: boolean;
222
+ errors?: string[];
223
+ };
224
+ declare function extractRawFrontmatter(content: string): string | null;
225
+
226
+ declare function matchPattern(pattern: string, value: string): boolean;
227
+ declare function matchAnyPattern(patterns: string[], value: string): boolean;
228
+ declare function filterByPatterns(patterns: string[], values: string[]): string[];
229
+ declare function evaluatePatterns(options: {
230
+ value: string;
231
+ include?: string[];
232
+ exclude?: string[];
233
+ }): boolean;
234
+
235
+ interface ResolveOrgOptions {
236
+ orgSlug?: string;
237
+ repoName?: string;
238
+ autoDetect?: boolean;
239
+ }
240
+ declare function resolveOrganization(options?: ResolveOrgOptions): string;
241
+ declare function extractOrgFromRepoName(repoName: string): string | null;
242
+
243
+ declare function getDefaultDirectories(orgSlug: string): {
244
+ source: string;
245
+ target: string;
246
+ systems: string;
247
+ };
248
+ declare function getDefaultRules(): SyncRules;
249
+ declare function getDefaultConfig(orgSlug: string): CodexConfig;
250
+
251
+ interface LoadConfigOptions {
252
+ organizationSlug?: string;
253
+ repoName?: string;
254
+ env?: Record<string, string | undefined>;
255
+ }
256
+ declare function loadConfig(options?: LoadConfigOptions): CodexConfig;
257
+
258
+ interface ShouldSyncOptions {
259
+ filePath: string;
260
+ fileMetadata: Metadata;
261
+ targetRepo: string;
262
+ sourceRepo: string;
263
+ rules?: SyncRules;
264
+ }
265
+ declare function shouldSyncToRepo(options: ShouldSyncOptions): boolean;
266
+ declare function getTargetRepos(options: {
267
+ filePath: string;
268
+ fileMetadata: Metadata;
269
+ sourceRepo: string;
270
+ allRepos: string[];
271
+ rules?: SyncRules;
272
+ }): string[];
273
+
274
+ export { type AutoSyncPattern, AutoSyncPatternSchema, type CodexConfig, CodexConfigSchema, CodexError, ConfigurationError, type LoadConfigOptions, type Metadata, MetadataSchema, type ParseMetadataOptions, type ParseResult, type ResolveOrgOptions, type ShouldSyncOptions, type SyncRules, SyncRulesSchema, ValidationError, evaluatePatterns, extractOrgFromRepoName, extractRawFrontmatter, filterByPatterns, getDefaultConfig, getDefaultDirectories, getDefaultRules, getTargetRepos, hasFrontmatter, loadConfig, matchAnyPattern, matchPattern, parseMetadata, resolveOrganization, shouldSyncToRepo, validateMetadata };