@humain/humain-code-contracts 0.3.3 → 0.4.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/CHANGELOG.md +4 -4
- package/dist/flow-admission.d.ts +209 -0
- package/dist/flow-admission.d.ts.map +1 -0
- package/dist/flow-admission.js +59 -0
- package/dist/flow-admission.js.map +1 -0
- package/dist/flow-common.d.ts +103 -0
- package/dist/flow-common.d.ts.map +1 -0
- package/dist/flow-common.js +282 -0
- package/dist/flow-common.js.map +1 -0
- package/dist/flow-control.d.ts +107 -0
- package/dist/flow-control.d.ts.map +1 -0
- package/dist/flow-control.js +144 -0
- package/dist/flow-control.js.map +1 -0
- package/dist/flow-events.d.ts +345 -0
- package/dist/flow-events.d.ts.map +1 -0
- package/dist/flow-events.js +147 -0
- package/dist/flow-events.js.map +1 -0
- package/dist/flow-profile.d.ts +200 -0
- package/dist/flow-profile.d.ts.map +1 -0
- package/dist/flow-profile.js +89 -0
- package/dist/flow-profile.js.map +1 -0
- package/dist/flow-sizing.d.ts +30 -0
- package/dist/flow-sizing.d.ts.map +1 -0
- package/dist/flow-sizing.js +568 -0
- package/dist/flow-sizing.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/rpc.d.ts +27 -2
- package/dist/rpc.d.ts.map +1 -1
- package/dist/rpc.js +283 -18
- package/dist/rpc.js.map +1 -1
- package/package.json +25 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flow-sizing.js","sourceRoot":"","sources":["../src/flow-sizing.ts"],"names":[],"mappings":"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","sourcesContent":["export type IntentLane = \"debug\" | \"mechanical\" | \"creative\" | \"fallback\";\nexport type IntentDecisionSource = \"keyword-classifier\" | \"mode-override\" | \"default\";\nexport type FlowSize = \"small\" | \"medium\" | \"large\";\n\n// One browser-safe classifier for both the build-depth heuristic\n// (apps/web/lib/ai-modes.ts) and the skill/router intent lane\n// (packages/ai/src/intent/classifier.ts). The D1 golden fixture\n// (packages/ai/src/intent/__fixtures__/unified-classifier-golden.json)\n// preserves the pre-refactor behavior; intentional classifier changes are\n// versioned through UNIFIED_CLASSIFIER_POLICY_ID and focused regression tables.\n//\n// This module centralizes IMPLEMENTATION, not INPUTS: depth and skill-lane\n// consumers may still classify different prompt variants (e.g.\n// attachment-enriched vs. base prompt text) than each other. Unifying what\n// text each caller feeds in is out of scope here — that is the deliberately\n// cut 1-exp-A scope, not this task.\n//\n// Moved from Forge packages/ai/src/intent/unified-classifier.ts (single source of\n// truth for the CLI and the web). This module must have NO imports at all: it is\n// browser-safe and dependency-free (enforced by scripts/check-entry-graphs.mjs).\n\nexport type RiskReason =\n\t| \"explicit-thorough-request\" // EXPLICIT_THOROUGH_BUILD_RE\n\t| \"high-risk-domain-term\" // HIGH_RISK_BUILD_RE\n\t| \"long-multi-imperative\"; // >600 chars + >=3 imperatives\n\nexport type PromptExecutionDepth = \"quick\" | \"balanced\" | \"thorough\";\n\nexport const UNIFIED_CLASSIFIER_POLICY_ID = \"unified-regex-v4\" as const;\n\nexport interface UnifiedPromptClassification {\n\tlane: IntentLane;\n\tlaneDecisionSource: IntentDecisionSource;\n\tlaneMatchedSignals: string[];\n\tdepth: PromptExecutionDepth;\n\triskReasons: RiskReason[];\n\tpolicyId: typeof UNIFIED_CLASSIFIER_POLICY_ID;\n}\n\n// ─── Lane signals (moved verbatim from packages/ai/src/intent/classifier.ts) ───\n// Lane order mirrors the router lane rubric: DEBUG is checked first, then\n// MECHANICAL, then CREATIVE; FALLBACK catches the rest.\nconst DEBUG_SIGNALS =\n\t/\\b(404|500|broken|bug|crash(?:es|ed|ing)?|debug(?:s|ged|ging)?|diagnos(?:e|es|ed|ing)|doesn'?t work|error|exception|fail(?:s|ed|ing)?|failing|flaky|null|not working|regression|root cause|stack trace|troubleshoot(?:s|ed|ing)?|undefined|unexpected|wrong (?:output|result|value))\\b/i;\n\nconst MECHANICAL_SIGNALS =\n\t/\\b(alphabetize|async\\/await|bump|comment out|convert|delete unused|explain|extract (?:component|function)|inline|move (?:file|folder|component)|re-?format|re-?order|remove unused|rename|sort imports|typo|uncomment)\\b/i;\n\nconst CREATIVE_SIGNALS =\n\t/\\b(add|build|component|create|dashboard|design|enhance|feature|flow|generate|implement|improve|integrate|interface|landing|new|page|portal|redesign|screen|section|tool|view|widget|workflow)\\b/i;\n\nconst NAMED_MODE_OVERRIDES = new Set([\"production-ready\", \"add-tests\", \"code-review\", \"create-prd\"]);\n\n// ─── Depth signals (moved verbatim from apps/web/lib/ai-modes.ts) ───\nconst COMPLEX_BUILD_RE =\n\t/\\b(admin|analytics|api|auth|authentication|authorization|backend|calendar|charts?|crud|dashboard|database|deploy|deployment|e2e|end[-\\s]?to[-\\s]?end|full[-\\s]?stack|integration|kanban|multi[-\\s]?page|permissions?|production|reports?|roles?|security|tests?|workflow)\\b/i;\nconst EXPLICIT_THOROUGH_BUILD_RE =\n\t/\\b(use\\s+opus|opus[-\\s]?level|thorough|deep(?:est)?\\s+reasoning|deep\\s+review|architecture\\s+review)\\b/i;\nconst HIGH_RISK_BUILD_RE =\n\t/\\b(threat\\s+model|security\\s+review|compliance|regulated|hipaa|soc\\s*2|gdpr|pci|data\\s+retention|data\\s+migration|schema\\s+migration|tenant\\s+isolation|multi[-\\s]?tenant\\s+authorization|authorization\\s+architecture|incident\\s+recovery|rollback\\s+plan|payments?|billing)\\b/i;\nconst SUBSTANTIVE_CHANGE_ACTION_SOURCE =\n\t\"add|build|change|connect|configure|create|design|develop|enable|enhance|extend|fix|generate|implement|improve|integrate|introduce|make|redesign|refactor|remove|rename|replace|set\\\\s+up|support|update|wire\";\nconst FOLLOW_UP_CHANGE_ACTION_SOURCE = `${SUBSTANTIVE_CHANGE_ACTION_SOURCE}|allow|automate|calculate|delete|display|export|give|handle|hide|import|invite|launch|let|localize|manage|move|permit|process|provide|rename|search|share|show|sync|track|trigger|unlock`;\nconst FOLLOW_UP_CHANGE_BOUNDARY_SOURCE = \"(?:\\\\b(?:and|also|plus|additionally|then)\\\\b|[,;:.!?]|\\\\s(?:/|-|–|—)\\\\s)\";\nconst FOLLOW_UP_CHANGE_BOUNDARY_RE = new RegExp(FOLLOW_UP_CHANGE_BOUNDARY_SOURCE, \"i\");\nconst LOCATION_REFERENCE_CONJUNCTION_RE = /^and$/i;\nconst REQUEST_DISCOURSE_MODIFIER_SOURCE = \"(?:(?:just|kindly|only|please|simply)\\\\s+)*\";\n// Regex hardening (linear time): adjacent modifier runs are merged because `M* M*` is ambiguous, and\n// `\\s+.+\\s+TAIL` spans use `spacedSpan` below. Every rewrite keeps the original language; see test/flow-sizing.test.ts.\nconst LINE_TERMINATORS = \"\\\\n\\\\r\\\\u2028\\\\u2029\";\n/**\n * Linear form of `\\s+.+\\s+TAIL` where TAIL starts with a non-space and `.` excludes line terminators: either the\n * span starts and ends on non-space characters (the whitespace runs absorb everything else), or it is a single\n * horizontal space inside one whitespace run.\n */\nconst spacedSpan = (tail: string) =>\n\t`(?:\\\\s+\\\\S(?:[^${LINE_TERMINATORS}]*\\\\S)?\\\\s+|\\\\s[${LINE_TERMINATORS}]*[^\\\\S${LINE_TERMINATORS}]\\\\s+)${tail}`;\nconst SUBSTANTIVE_CHANGE_REQUEST_RE = new RegExp(\n\t`^${REQUEST_DISCOURSE_MODIFIER_SOURCE}(?:(?:(?:can|could|should|would|will)\\\\s+(?:you|we)\\\\s+|(?:i|we)(?:['’]d| would)?\\\\s+${REQUEST_DISCOURSE_MODIFIER_SOURCE}like(?:\\\\s+you)?\\\\s+to\\\\s+|i\\\\s+${REQUEST_DISCOURSE_MODIFIER_SOURCE}want(?:\\\\s+you)?\\\\s+to\\\\s+|we\\\\s+${REQUEST_DISCOURSE_MODIFIER_SOURCE}(?:need(?:\\\\s+you)?\\\\s+to|should|must)\\\\s+|let['’]?s\\\\s+)${REQUEST_DISCOURSE_MODIFIER_SOURCE})?(${SUBSTANTIVE_CHANGE_ACTION_SOURCE})\\\\b`,\n\t\"i\",\n);\nconst DESIRED_STATE_REQUEST_RES = [\n\tnew RegExp(\n\t\t`^${REQUEST_DISCOURSE_MODIFIER_SOURCE}(?:i|we)(?:['’]d\\\\s+${REQUEST_DISCOURSE_MODIFIER_SOURCE}like|\\\\s+${REQUEST_DISCOURSE_MODIFIER_SOURCE}(?:want|need|would\\\\s+${REQUEST_DISCOURSE_MODIFIER_SOURCE}like))\\\\s+(?=\\\\S)(.+)$`,\n\t\t\"i\",\n\t),\n\tnew RegExp(\n\t\t`^${REQUEST_DISCOURSE_MODIFIER_SOURCE}can\\\\s+(?:we|you)\\\\s+${REQUEST_DISCOURSE_MODIFIER_SOURCE}have\\\\s+(?=\\\\S)(.+)$`,\n\t\t\"i\",\n\t),\n\tnew RegExp(`^${REQUEST_DISCOURSE_MODIFIER_SOURCE}(?:allow|enable|let)${spacedSpan(\"to\\\\b\")}`, \"i\"),\n\tnew RegExp(\n\t\t`^${REQUEST_DISCOURSE_MODIFIER_SOURCE}(?:give|provide)${spacedSpan(\"(?:a\\\\s+way|the\\\\s+ability)\\\\s+to\\\\b\")}`,\n\t\t\"i\",\n\t),\n\tnew RegExp(\n\t\t`^${REQUEST_DISCOURSE_MODIFIER_SOURCE}(?!i\\\\b|we\\\\b|you\\\\b)(?:[\\\\w-]+\\\\s+){1,5}(?:should|must|need(?:s)?\\\\s+to)\\\\s+be\\\\s+able\\\\s+to\\\\b`,\n\t\t\"i\",\n\t),\n\tnew RegExp(\n\t\t`^${REQUEST_DISCOURSE_MODIFIER_SOURCE}(?:a|an|the)${spacedSpan(\"(?:should|must|need(?:s)?\\\\s+to)\\\\s+(?:be\\\\s+(?:added|built|created|implemented|integrated|introduced|supported)\\\\b|(?:allow|enable|have|include|provide|support)\\\\b)\")}`,\n\t\t\"i\",\n\t),\n] as const;\nconst NON_IMPLEMENTATION_DESIRE_BOUNDARY_SOURCE =\n\t\"(?=[.!?]*$|\\\\s+(?:about|of|on|regarding|whether)\\\\b|\\\\s*(?:[,;:]|\\\\b(?:and|also|plus|additionally|then)\\\\b)|\\\\s+(?:-|–|—)\\\\s+)\";\nconst NON_IMPLEMENTATION_DESIRE_RE = new RegExp(\n\t`^(?:to\\\\s+(?:consider|decide|discuss|explore|know|learn|review|understand|wonder)\\\\b|help\\\\s+(?:with\\\\s+)?(?:considering|deciding|discussing|exploring|learning|reviewing|understanding)\\\\b|(?:advice|feedback)${NON_IMPLEMENTATION_DESIRE_BOUNDARY_SOURCE}|(?:a|an|the)\\\\s+(?:analysis|conversation|discussion|explanation|overview|review|summary)${NON_IMPLEMENTATION_DESIRE_BOUNDARY_SOURCE})`,\n\t\"i\",\n);\nconst NON_IMPLEMENTATION_TOPIC_RE =\n\t/^(?:(?:advice|feedback)|(?:a|an|the)\\s+(?:analysis|conversation|discussion|explanation|overview|review|summary))\\s+(?:about|of|on|regarding|whether)\\b/i;\nconst LEADING_ADVISORY_REQUEST_RE = new RegExp(\n\t`^${REQUEST_DISCOURSE_MODIFIER_SOURCE}(?:(?:can|could|would|will)\\\\s+(?:you|we)\\\\s+${REQUEST_DISCOURSE_MODIFIER_SOURCE})?(?:analy[sz]e|assess|describe|discuss|explain|explore|review|summarize|tell\\\\s+(?:me|us)|walk\\\\s+(?:me|us)\\\\s+through|give\\\\s+(?:me|us)\\\\s+(?:advice|feedback)|provide\\\\s+(?:me|us)\\\\s+(?:advice|feedback)|help\\\\s+(?:me|us)\\\\s+understand)\\\\b`,\n\t\"i\",\n);\nconst ADVISORY_OUTPUT_ACTIONS = new Set([\"give\", \"provide\", \"show\"]);\nconst ADVISORY_TOPIC_COMPOUND_ACTION_RE =\n\t/^(?:build|change|create|design|export|import|process|search|support|update)$/;\nconst ADVISORY_TOPIC_COMPOUND_HEAD_RE =\n\t/^(?:approach|architecture|consistency|conventions?|coverage|experience|flows?|governance|management|patterns?|performance|process(?:es)?|quality|reliability|security|standards?|strategy|structure|tooling|usability|workflows?)\\b/i;\nconst EXPLICIT_FOLLOW_UP_REQUEST_RE =\n\t/\\b(?:just|kindly|only|please|simply|then)\\b|[;:]|(?:can|could|would|will)\\s+(?:you|we)\\b/i;\nconst ADVISORY_OUTPUT_TARGET_RE =\n\t/^(?:(?:me|us)\\s+)?(?:(?:a|an|more|some|the|your)\\s+)?(?:(?:advice|analysis|assessment|conversation|discussion|explanation|feedback|findings?|next\\s+steps|options?|overview|recommendations?|review|suggestions?|summary|thoughts?|trade[-\\s]?offs?)(?:\\s+(?:about|of|on|regarding)\\s+(?=\\S).+)?|(?:how|what|whether|why)\\b.+)$/i;\nconst ADVISORY_OUTPUT_REQUEST_RE = /^(?:give|provide|show)\\s+(?=\\S)(.+)$/i;\nconst FOLLOW_UP_PREFIX_RE =\n\t/^[\\s,:;.!?/–—-]*(?:(?:and|also|plus|additionally|then)\\b[\\s,:;.!?/–—-]*)*(?:(?:just|kindly|only|please|simply)\\s+)*/i;\nconst COURTESY_ONLY_RE = /^(?:please|thanks|thank\\s+you)[.!?]*$/i;\n// Tail of a follow-up change clause, matched (sticky) where the punctuation/space run after a boundary ends.\nconst FOLLOW_UP_CHANGE_TAIL_RE = new RegExp(\n\t`${REQUEST_DISCOURSE_MODIFIER_SOURCE}(?:(?:can|could|would|will)\\\\s+(?:you|we)\\\\s+${REQUEST_DISCOURSE_MODIFIER_SOURCE})?(${FOLLOW_UP_CHANGE_ACTION_SOURCE})\\\\b(?=\\\\s+\\\\S)`,\n\t\"iy\",\n);\nconst LEADING_SUBSTANTIVE_CHANGE_VALUE_RE = new RegExp(`^(?:${FOLLOW_UP_CHANGE_ACTION_SOURCE})\\\\b\\\\s+\\\\S+`, \"i\");\nconst BOUNDED_COPY_CONNECTOR_RE = /\\b(?:and|by|or)\\b/i;\nconst BOUNDED_LOCATION_PURPOSE_RE = new RegExp(\n\t`\\\\b(?:in\\\\s+order\\\\s+)?to\\\\s+(?:${FOLLOW_UP_CHANGE_ACTION_SOURCE})\\\\b`,\n\t\"i\",\n);\nconst FUNCTIONAL_PURPOSE_CLAUSE_RE =\n\t/\\b(?:so(?:\\s+that)?\\s+\\S+(?:\\s+\\S+){0,2}\\s+(?:can|could|may|might|will|would)\\s+\\S+|that\\s+(?:allows?|enables?|lets?)\\s+\\S+\\s+\\S+|for\\s+\\S+(?:\\s+\\S+){0,2}\\s+to\\s+\\S+)\\b/i;\nconst POTENTIALLY_BOUNDED_ACTIONS = new Set([\n\t\"add\",\n\t\"change\",\n\t\"fix\",\n\t\"improve\",\n\t\"make\",\n\t\"remove\",\n\t\"rename\",\n\t\"replace\",\n\t\"update\",\n]);\nconst BOUNDED_EDIT_TARGET_SOURCE =\n\t\"alignment|border|caption|color|copy|description|font|gap|heading|icon|label|link|margin|padding|placeholder|punctuation|radius|shadow|size|spacing|subtitle|text|title|tooltip|typo|weight|wording\";\nconst BOUNDED_EDIT_TARGET_RE = new RegExp(\n\t`^(?:(?:the|a|an)\\\\s+)?((?:[\\\\w-]+\\\\s+){0,5})(${BOUNDED_EDIT_TARGET_SOURCE})\\\\b(.*)$`,\n\t\"i\",\n);\nconst COORDINATED_BOUNDED_EDIT_TARGET_TAIL_RE = new RegExp(\n\t`(?:(?:and|also|plus|additionally)\\\\s+)?(?:(?:the|a|an)\\\\s+)?(?:[\\\\w-]+\\\\s+){0,5}(?:${BOUNDED_EDIT_TARGET_SOURCE})\\\\b`,\n\t\"iy\",\n);\nconst BOUNDED_UI_SURFACE_MODIFIER_RE =\n\t/\\b(app|application|badge|banner|breadcrumb|button|card|chip|control|dialog|drawer|dropdown|field|footer|form|header|hero|input|list|logo|menu|modal|nav|navbar|navigation|page|panel|popover|row|screen|search|section|select|shell|sidebar|switch|tab|table|tile|toast|toggle|toolbar)\\b/i;\nconst CAPABILITY_CONTAINER_MODIFIER_RE =\n\t/\\b(assistant|builder|center|editor|engine|feature|flow|integration|manager|module|platform|service|system|tool|workflow)\\b/i;\nconst BOUNDED_PRESENTATION_ADJECTIVE_RE =\n\t/^(?:(?:a\\s+(?:bit|little)|much|slightly)\\s+)?(?:bolder|brighter|clearer|cooler|darker|friendlier|larger|lighter|longer|looser|rounder|sharper|shorter|smaller|softer|stronger|thicker|thinner|tighter|warmer|weaker|more\\s+(?:compact|concise|descriptive|prominent|readable|specific|visible))[.!?]*$/i;\nconst BOUNDED_LOCATION_RE =\n\t/^(?:after|around|at|before|below|beside|between|by|in|inside|near|next\\s+to|on|outside|right\\s+next\\s+to|under|within)\\s+(?=\\S)(.+)$/i;\nconst BOUNDED_LOCATION_BOUNDARY_RE =\n\t/\\b(?:after|around|at|before|below|beside|between|by|in|inside|near|next\\s+to|on|outside|right\\s+next\\s+to|under|within)\\s+/i;\nconst BOUNDED_CONTENT_VALUE_RE = /^(?:read|say)\\s+(?=\\S)(.+)$/i;\nconst BOUNDED_TO_VALUE_RE = /^to\\s+(?=\\S)(.+)$/i;\nconst BOUNDED_FROM_TO_HEAD_RE = /^from\\s+(?=\\S)/i;\nconst BOUNDED_PRESENTATION_PAYLOAD_RE = /^with\\s+(?=\\S)(.+)$/i;\nconst BOUNDED_PASSIVE_VALUE_RE = /^(?:changed|fixed|renamed|replaced|set|updated)\\s+(?:to|with)\\s+(?=\\S)(.+)$/i;\nconst BOUNDED_PASSIVE_FROM_TO_HEAD_RE = /^(?:changed|renamed|replaced|updated)\\s+from\\s+(?=\\S)/i;\nconst FROM_TO_SEPARATOR_RE = /(?<=\\S)\\s+to\\s+(?=\\S)/gi;\nconst BOUNDED_PASSIVE_COMPLETED_RE = /^(?:changed|fixed|renamed|replaced|set|updated)[.!?]*$/i;\nconst BOUNDED_PASSIVE_PRESENTATION_RE = /^made\\s+(?=\\S)(.+)$/i;\nconst BOUNDED_PASSIVE_REMOVAL_RE = /^(?:deleted|removed)[.!?]*$/i;\nconst BUILD_CONJUNCTION_RE = /\\b(and|also|plus|additionally)\\b/i;\nconst LIST_SEPARATOR_RE = /[,;،]/u;\nconst NON_LATIN_RE = /[^\\p{Script=Latin}\\p{Script=Common}\\p{Script=Inherited}]/u;\nconst ARABIC_COMPLEX_BUILD_RE = /(اختبارات|إعدادات|بيانات|تقارير|تحكم|صلاحيات|لوحة)/u;\nconst BUILD_IMPERATIVE_RES = [\n\t\"build\",\n\t\"create\",\n\t\"generate\",\n\t\"change\",\n\t\"make\",\n\t\"add\",\n\t\"remove\",\n\t\"delete\",\n\t\"update\",\n\t\"move\",\n\t\"replace\",\n\t\"fix\",\n\t\"implement\",\n\t\"wire\",\n].map((value) => new RegExp(`\\\\b${value}\\\\b`, \"gi\"));\n\nfunction matchSignals(prompt: string, pattern: RegExp): string[] {\n\tconst global = new RegExp(pattern.source, \"gi\");\n\treturn Array.from(new Set(Array.from(prompt.matchAll(global), (match) => match[0].toLowerCase())));\n}\n\ninterface LaneResult {\n\tlane: IntentLane;\n\tdecisionSource: IntentDecisionSource;\n\tmatchedSignals: string[];\n}\n\nfunction classifyLane(input: { prompt: string; mode?: string | null }): LaneResult {\n\tconst namedMode = input.mode?.trim();\n\tif (namedMode && NAMED_MODE_OVERRIDES.has(namedMode)) {\n\t\treturn {\n\t\t\tlane: \"creative\",\n\t\t\tdecisionSource: \"mode-override\",\n\t\t\tmatchedSignals: [`mode:${namedMode}`],\n\t\t};\n\t}\n\n\tconst prompt = input.prompt.trim();\n\tif (!prompt) return { lane: \"fallback\", decisionSource: \"default\", matchedSignals: [] };\n\n\tconst lanes: Array<{ lane: IntentLane; pattern: RegExp }> = [\n\t\t{ lane: \"debug\", pattern: DEBUG_SIGNALS },\n\t\t{ lane: \"mechanical\", pattern: MECHANICAL_SIGNALS },\n\t\t{ lane: \"creative\", pattern: CREATIVE_SIGNALS },\n\t];\n\tfor (const { lane, pattern } of lanes) {\n\t\tconst matchedSignals = matchSignals(prompt, pattern);\n\t\tif (matchedSignals.length > 0) {\n\t\t\treturn { lane, decisionSource: \"keyword-classifier\", matchedSignals };\n\t\t}\n\t}\n\treturn { lane: \"fallback\", decisionSource: \"default\", matchedSignals: [] };\n}\n\nfunction imperativeCount(prompt: string): number {\n\treturn BUILD_IMPERATIVE_RES.reduce((count, re) => {\n\t\tconst matches = prompt.match(re);\n\t\treturn count + (matches?.length ?? 0);\n\t}, 0);\n}\n\nfunction hasMultiChangePrompt(prompt: string): boolean {\n\tif (!BUILD_CONJUNCTION_RE.test(prompt)) return false;\n\treturn imperativeCount(prompt) >= 2;\n}\n\nfunction hasNonLatinComplexitySignal(prompt: string): boolean {\n\tif (!NON_LATIN_RE.test(prompt)) return false;\n\tif (ARABIC_COMPLEX_BUILD_RE.test(prompt)) return true;\n\treturn LIST_SEPARATOR_RE.test(prompt) && prompt.length > 48;\n}\n\nfunction isShortBoundedPhrase(value: string, maxWords: number): boolean {\n\tconst trimmed = value.trim();\n\tif (!trimmed || trimmed.length > 80 || /[\\r\\n;]/.test(trimmed)) return false;\n\tconst withoutTerminalPunctuation = trimmed.replace(/[.!?]+$/, \"\").trim();\n\tif (!withoutTerminalPunctuation || /[.!?]\\s/.test(withoutTerminalPunctuation)) return false;\n\treturn withoutTerminalPunctuation.split(/\\s+/).length <= maxWords;\n}\n\nconst QUOTE_PAIRS: Readonly<Record<string, string>> = {\n\t'\"': '\"',\n\t\"'\": \"'\",\n\t\"`\": \"`\",\n\t\"“\": \"”\",\n\t\"‘\": \"’\",\n};\n\nfunction isWordCharacterAt(value: string, index: number): boolean {\n\tconst character = value[index];\n\treturn character !== undefined && /[\\p{L}\\p{N}_]/u.test(character);\n}\n\nfunction maskQuotedText(value: string): string {\n\tconst masked = value.split(\"\");\n\t// An opener whose scan found no closer before the end of its line proves every later opener of the same\n\t// kind on that line also fails (closer validity does not depend on the opener), so it is skipped.\n\tconst noCloserBefore = new Map<string, number>();\n\n\tfor (let openingIndex = 0; openingIndex < value.length; openingIndex += 1) {\n\t\tconst opening = value[openingIndex] ?? \"\";\n\t\tconst closing = QUOTE_PAIRS[opening];\n\t\tif (!closing) continue;\n\n\t\tconst isSingleQuote = opening === \"'\" || opening === \"‘\";\n\t\tif (\n\t\t\tisSingleQuote &&\n\t\t\t(isWordCharacterAt(value, openingIndex - 1) ||\n\t\t\t\t!value[openingIndex + 1] ||\n\t\t\t\t/[\\s\\r\\n]/.test(value[openingIndex + 1] ?? \"\"))\n\t\t) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tif ((noCloserBefore.get(opening) ?? -1) > openingIndex) continue;\n\n\t\tlet closingIndex = openingIndex + 1;\n\t\tfor (; closingIndex < value.length; closingIndex += 1) {\n\t\t\tconst character = value[closingIndex];\n\t\t\tif (character === \"\\r\" || character === \"\\n\") break;\n\t\t\tif (character !== closing) continue;\n\t\t\tif (\n\t\t\t\tisSingleQuote &&\n\t\t\t\tisWordCharacterAt(value, closingIndex - 1) &&\n\t\t\t\tisWordCharacterAt(value, closingIndex + 1)\n\t\t\t) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tfor (let index = openingIndex; index <= closingIndex; index += 1) {\n\t\t\t\tmasked[index] = \" \";\n\t\t\t}\n\t\t\topeningIndex = closingIndex;\n\t\t\tbreak;\n\t\t}\n\t\tif (closingIndex >= value.length || value[closingIndex] === \"\\r\" || value[closingIndex] === \"\\n\") {\n\t\t\tnoCloserBefore.set(opening, closingIndex);\n\t\t}\n\t}\n\n\treturn masked.join(\"\");\n}\n\nfunction isEntireQuotedLiteral(value: string): boolean {\n\tconst trimmed = value.trim();\n\tconst opening = trimmed[0] ?? \"\";\n\tconst closing = QUOTE_PAIRS[opening];\n\treturn Boolean(closing && trimmed.length >= 2 && trimmed.at(-1) === closing);\n}\n\nconst FOLLOW_UP_BOUNDARY_G_RE = new RegExp(FOLLOW_UP_CHANGE_BOUNDARY_SOURCE, \"gi\");\nconst BOUNDARY_FILL_Y_RE = /[\\s,:;.!?/–—-]*/y;\n\n/**\n * Linear form of `BOUNDARY [\\s,:;.!?/–—-]* TAIL` searched leftmost-first and non-overlapping. Every boundary inside one\n * punctuation/space run reaches the same run end, and a tail never starts inside the run except at a hyphen\n * (where starting at the run end matches whenever starting at the hyphen does), so each run is scanned once.\n * `onMatch` receives the boundary start, the match end and the tail match; return true to stop.\n */\nfunction scanAfterBoundary(\n\ttext: string,\n\ttail: RegExp,\n\tonMatch: (start: number, end: number, tailMatch: RegExpExecArray) => boolean,\n): void {\n\tFOLLOW_UP_BOUNDARY_G_RE.lastIndex = 0;\n\tlet failedRunEnd = -1;\n\tfor (let boundary = FOLLOW_UP_BOUNDARY_G_RE.exec(text); boundary; boundary = FOLLOW_UP_BOUNDARY_G_RE.exec(text)) {\n\t\tif (boundary.index + boundary[0].length <= failedRunEnd) continue;\n\t\tBOUNDARY_FILL_Y_RE.lastIndex = boundary.index + boundary[0].length;\n\t\tBOUNDARY_FILL_Y_RE.exec(text);\n\t\tconst runEnd = BOUNDARY_FILL_Y_RE.lastIndex;\n\t\ttail.lastIndex = runEnd;\n\t\tconst tailMatch = tail.exec(text);\n\t\tif (!tailMatch) {\n\t\t\tfailedRunEnd = runEnd;\n\t\t\tcontinue;\n\t\t}\n\t\tconst end = runEnd + tailMatch[0].length;\n\t\tif (onMatch(boundary.index, end, tailMatch)) return;\n\t\tFOLLOW_UP_BOUNDARY_G_RE.lastIndex = end;\n\t\tfailedRunEnd = -1;\n\t}\n}\n\nfunction hasCoordinatedBoundedEditTarget(target: string): boolean {\n\tconst maskedTarget = maskQuotedText(target);\n\tconst firstBoundary = FOLLOW_UP_CHANGE_BOUNDARY_RE.exec(maskedTarget);\n\tconst location = BOUNDED_LOCATION_BOUNDARY_RE.exec(maskedTarget);\n\tif (\n\t\tfirstBoundary &&\n\t\tlocation &&\n\t\t(location.index ?? 0) < (firstBoundary.index ?? 0) &&\n\t\tLOCATION_REFERENCE_CONJUNCTION_RE.test(firstBoundary[0]) &&\n\t\tisBoundedEditTarget(maskedTarget.slice(0, location.index).trim(), \"change\")\n\t) {\n\t\treturn false;\n\t}\n\tlet found = false;\n\tscanAfterBoundary(maskedTarget, COORDINATED_BOUNDED_EDIT_TARGET_TAIL_RE, () => {\n\t\tfound = true;\n\t\treturn true;\n\t});\n\treturn found;\n}\n\nfunction hasFollowUpSubstantiveChange(value: string): boolean {\n\tlet found = false;\n\tscanAfterBoundary(maskQuotedText(value), FOLLOW_UP_CHANGE_TAIL_RE, () => {\n\t\tfound = true;\n\t\treturn true;\n\t});\n\treturn found;\n}\n\nfunction isShortLiteralValue(value: string): boolean {\n\tconst trimmed = value.trim();\n\tif (trimmed.length <= 80 && !/[\\r\\n]/.test(trimmed) && isEntireQuotedLiteral(trimmed)) {\n\t\treturn true;\n\t}\n\tif (!isShortBoundedPhrase(trimmed, 8) || hasFollowUpSubstantiveChange(trimmed)) {\n\t\treturn false;\n\t}\n\tconst withoutTerminalPunctuation = trimmed.replace(/[.!?]+$/, \"\").trim();\n\tif (/^(?:[/#@]|https?:\\/\\/)/i.test(withoutTerminalPunctuation)) return true;\n\tif (/^[A-Z0-9]/.test(withoutTerminalPunctuation)) return true;\n\tif (BOUNDED_COPY_CONNECTOR_RE.test(withoutTerminalPunctuation)) return true;\n\treturn !LEADING_SUBSTANTIVE_CHANGE_VALUE_RE.test(trimmed);\n}\n\nfunction isShortLocation(value: string): boolean {\n\treturn (\n\t\tisShortBoundedPhrase(value, 8) &&\n\t\t!hasFollowUpSubstantiveChange(value) &&\n\t\t!BOUNDED_LOCATION_PURPOSE_RE.test(value) &&\n\t\t!FUNCTIONAL_PURPOSE_CLAUSE_RE.test(value)\n\t);\n}\n\n/**\n * Linear form of `^HEAD(.+?)\\s+to\\s+(.+)$` on trimmed input: first separator whose left side and right side hold no line\n * break. The regex's only extra parse (an all-whitespace left side) classifies as not-a-literal, same as no match.\n */\nfunction matchFromTo(value: string, head: RegExp): [string, string] | null {\n\tconst headMatch = head.exec(value);\n\tif (!headMatch) return null;\n\tconst start = headMatch[0].length;\n\tconst relativeBreak = value.slice(start).search(/[\\n\\r\\u2028\\u2029]/);\n\tconst firstBreak = relativeBreak === -1 ? Number.POSITIVE_INFINITY : start + relativeBreak;\n\tconst lastBreak = Math.max(\n\t\tvalue.lastIndexOf(\"\\n\"),\n\t\tvalue.lastIndexOf(\"\\r\"),\n\t\tvalue.lastIndexOf(\"\\u2028\"),\n\t\tvalue.lastIndexOf(\"\\u2029\"),\n\t);\n\tFROM_TO_SEPARATOR_RE.lastIndex = start;\n\tfor (let match = FROM_TO_SEPARATOR_RE.exec(value); match; match = FROM_TO_SEPARATOR_RE.exec(value)) {\n\t\tif (match.index > firstBreak) return null;\n\t\tconst rightStart = match.index + match[0].length;\n\t\tif (lastBreak < rightStart) return [value.slice(start, match.index), value.slice(rightStart)];\n\t\tFROM_TO_SEPARATOR_RE.lastIndex = match.index + 1;\n\t}\n\treturn null;\n}\n\nfunction isBoundedEditTarget(target: string, action?: string | null): boolean {\n\tconst match = BOUNDED_EDIT_TARGET_RE.exec(target);\n\tif (!match) return false;\n\n\tconst modifiers = match[1]?.trim() ?? \"\";\n\tif (\n\t\t(!action || action === \"add\") &&\n\t\tCAPABILITY_CONTAINER_MODIFIER_RE.test(modifiers) &&\n\t\t!BOUNDED_UI_SURFACE_MODIFIER_RE.test(modifiers)\n\t) {\n\t\treturn false;\n\t}\n\n\tconst remainder = match[3]?.trim() ?? \"\";\n\tif (hasFollowUpSubstantiveChange(remainder)) return false;\n\tif (!remainder || /^[.!?]+$/.test(remainder)) return true;\n\tif (BOUNDED_PRESENTATION_ADJECTIVE_RE.test(remainder)) return true;\n\tif (BOUNDED_PASSIVE_REMOVAL_RE.test(remainder)) return true;\n\tif (BOUNDED_PASSIVE_COMPLETED_RE.test(remainder)) return true;\n\n\tconst passiveFromToMatch = matchFromTo(remainder, BOUNDED_PASSIVE_FROM_TO_HEAD_RE);\n\tif (passiveFromToMatch) {\n\t\treturn isShortLiteralValue(passiveFromToMatch[0]) && isShortLiteralValue(passiveFromToMatch[1]);\n\t}\n\n\tconst passiveValueMatch = BOUNDED_PASSIVE_VALUE_RE.exec(remainder);\n\tif (passiveValueMatch) return isShortLiteralValue(passiveValueMatch[1] ?? \"\");\n\n\tconst passivePresentationMatch = BOUNDED_PASSIVE_PRESENTATION_RE.exec(remainder);\n\tif (passivePresentationMatch) {\n\t\treturn BOUNDED_PRESENTATION_ADJECTIVE_RE.test(passivePresentationMatch[1] ?? \"\");\n\t}\n\n\tconst fromToMatch = matchFromTo(remainder, BOUNDED_FROM_TO_HEAD_RE);\n\tif (fromToMatch) return isShortLiteralValue(fromToMatch[0]) && isShortLiteralValue(fromToMatch[1]);\n\n\tconst contentValueMatch = BOUNDED_CONTENT_VALUE_RE.exec(remainder);\n\tif (contentValueMatch) return isShortLiteralValue(contentValueMatch[1] ?? \"\");\n\n\tconst toValueMatch = BOUNDED_TO_VALUE_RE.exec(remainder);\n\tif (toValueMatch) return isShortLiteralValue(toValueMatch[1] ?? \"\");\n\n\tconst presentationPayloadMatch = BOUNDED_PRESENTATION_PAYLOAD_RE.exec(remainder);\n\tif (presentationPayloadMatch) {\n\t\treturn isBoundedEditTarget(presentationPayloadMatch[1] ?? \"\", \"change\");\n\t}\n\n\tconst locationMatch = BOUNDED_LOCATION_RE.exec(remainder);\n\treturn locationMatch ? isShortLocation(locationMatch[1] ?? \"\") : false;\n}\n\nfunction matchDesiredStateRequest(prompt: string): { target: string | null } | null {\n\tfor (const pattern of DESIRED_STATE_REQUEST_RES) {\n\t\tconst match = pattern.exec(prompt);\n\t\tif (match) return { target: match[1]?.trimStart() ?? null };\n\t}\n\treturn null;\n}\n\ntype ChangeRequestKind = \"none\" | \"bounded\" | \"substantive\";\n\nfunction firstChangeClauseTarget(target: string): string {\n\tconst boundary = FOLLOW_UP_CHANGE_BOUNDARY_RE.exec(maskQuotedText(target));\n\treturn target.slice(0, boundary?.index ?? target.length).trim();\n}\n\nfunction desiredStateContinuation(target: string): string | null {\n\tconst boundary = FOLLOW_UP_CHANGE_BOUNDARY_RE.exec(maskQuotedText(target));\n\tif (!boundary) return null;\n\treturn target\n\t\t.slice((boundary.index ?? 0) + boundary[0].length)\n\t\t.replace(FOLLOW_UP_PREFIX_RE, \"\")\n\t\t.trim();\n}\n\nfunction isAdvisoryContinuation(target: string): boolean {\n\tif (!target || COURTESY_ONLY_RE.test(target) || ADVISORY_OUTPUT_TARGET_RE.test(target)) {\n\t\treturn true;\n\t}\n\tconst outputRequest = ADVISORY_OUTPUT_REQUEST_RE.exec(target);\n\tif (outputRequest && ADVISORY_OUTPUT_TARGET_RE.test(outputRequest[1] ?? \"\")) return true;\n\treturn LEADING_ADVISORY_REQUEST_RE.test(target);\n}\n\nfunction classifyConjoinedChangeRequest(target: string, options: { advisoryTopic?: boolean } = {}): ChangeRequestKind {\n\tconst maskedTarget = maskQuotedText(target);\n\tconst matches: Array<{ start: number; end: number; action: string }> = [];\n\tscanAfterBoundary(maskedTarget, FOLLOW_UP_CHANGE_TAIL_RE, (start, end, tailMatch) => {\n\t\tmatches.push({ start, end, action: tailMatch[1] ?? \"\" });\n\t\treturn false;\n\t});\n\tlet requestKind: ChangeRequestKind = \"none\";\n\n\tfor (const match of matches) {\n\t\tconst action = match.action.toLowerCase();\n\t\tif (!action) return \"substantive\";\n\n\t\t// Masking a suffix equals the suffix of the masked text: no quote span can cross the action word.\n\t\tconst editStart = match.end + target.slice(match.end).search(/\\S|$/);\n\t\tconst editTarget = target.slice(editStart);\n\t\tconst nextBoundary = FOLLOW_UP_CHANGE_BOUNDARY_RE.exec(maskedTarget.slice(editStart));\n\t\tconst clauseTarget = editTarget.slice(0, nextBoundary?.index ?? editTarget.length).trim();\n\t\tconst matchedText = maskedTarget.slice(match.start, match.end);\n\t\tif (\n\t\t\toptions.advisoryTopic &&\n\t\t\tADVISORY_TOPIC_COMPOUND_ACTION_RE.test(action) &&\n\t\t\tADVISORY_TOPIC_COMPOUND_HEAD_RE.test(clauseTarget) &&\n\t\t\t!EXPLICIT_FOLLOW_UP_REQUEST_RE.test(matchedText)\n\t\t) {\n\t\t\tcontinue;\n\t\t}\n\t\tif (ADVISORY_OUTPUT_ACTIONS.has(action) && ADVISORY_OUTPUT_TARGET_RE.test(clauseTarget)) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (!POTENTIALLY_BOUNDED_ACTIONS.has(action)) return \"substantive\";\n\t\tif (!isBoundedEditTarget(clauseTarget, action)) return \"substantive\";\n\t\tif (hasCoordinatedBoundedEditTarget(editTarget)) return \"substantive\";\n\t\tif (requestKind === \"bounded\") return \"substantive\";\n\t\trequestKind = \"bounded\";\n\t}\n\n\treturn requestKind;\n}\n\nfunction classifyNonImplementationDesire(target: string): ChangeRequestKind | null {\n\tif (!NON_IMPLEMENTATION_DESIRE_RE.test(target)) return null;\n\n\tconst advisoryTopic = NON_IMPLEMENTATION_TOPIC_RE.test(target);\n\tconst conjoinedRequest = classifyConjoinedChangeRequest(target, { advisoryTopic });\n\tif (conjoinedRequest !== \"none\") return conjoinedRequest;\n\tif (advisoryTopic) return \"none\";\n\n\tconst continuation = desiredStateContinuation(target);\n\treturn continuation && !isAdvisoryContinuation(continuation) ? \"substantive\" : \"none\";\n}\n\nfunction hasNonImplementationDesire(prompt: string): boolean {\n\tconst request = matchDesiredStateRequest(prompt);\n\tif (!request?.target) return false;\n\tconst requestKind = classifyNonImplementationDesire(request.target);\n\treturn requestKind !== null && requestKind !== \"substantive\";\n}\n\nfunction classifyChangeRequest(prompt: string): ChangeRequestKind {\n\tconst match = SUBSTANTIVE_CHANGE_REQUEST_RE.exec(prompt);\n\tif (match) {\n\t\tconst action = match[1]?.toLowerCase();\n\t\tif (!action || !POTENTIALLY_BOUNDED_ACTIONS.has(action)) return \"substantive\";\n\n\t\tconst target = prompt.slice(match[0].length).trimStart();\n\t\tconst conjoinedRequest = classifyConjoinedChangeRequest(prompt);\n\t\tif (!isBoundedEditTarget(firstChangeClauseTarget(target), action)) {\n\t\t\treturn action === \"rename\" && conjoinedRequest === \"none\" && !hasCoordinatedBoundedEditTarget(target)\n\t\t\t\t? \"none\"\n\t\t\t\t: \"substantive\";\n\t\t}\n\t\tif (hasCoordinatedBoundedEditTarget(target)) return \"substantive\";\n\t\treturn conjoinedRequest === \"none\" ? \"bounded\" : \"substantive\";\n\t}\n\n\tif (LEADING_ADVISORY_REQUEST_RE.test(prompt)) {\n\t\tconst conjoinedRequest = classifyConjoinedChangeRequest(prompt);\n\t\tif (conjoinedRequest !== \"none\") return conjoinedRequest;\n\t}\n\n\tconst desiredStateRequest = matchDesiredStateRequest(prompt);\n\tif (!desiredStateRequest) return \"none\";\n\tconst { target } = desiredStateRequest;\n\tif (target) {\n\t\tconst nonImplementationRequest = classifyNonImplementationDesire(target);\n\t\tif (nonImplementationRequest !== null) return nonImplementationRequest;\n\t}\n\treturn target && isBoundedEditTarget(target) ? \"bounded\" : \"substantive\";\n}\n\nfunction resolvePromptExecutionDepth(\n\ttrimmed: string,\n\tsignalText: string,\n\timperativeTotal: number,\n\tchangeRequestKind: ChangeRequestKind,\n): PromptExecutionDepth {\n\tif (!trimmed) return \"quick\";\n\tif (EXPLICIT_THOROUGH_BUILD_RE.test(signalText)) return \"thorough\";\n\tif (HIGH_RISK_BUILD_RE.test(signalText) && (COMPLEX_BUILD_RE.test(signalText) || imperativeTotal >= 2)) {\n\t\treturn \"thorough\";\n\t}\n\tif (signalText.length > 600 && imperativeTotal >= 3) return \"thorough\";\n\tif (hasNonImplementationDesire(trimmed)) return \"quick\";\n\tif (changeRequestKind === \"bounded\") return \"quick\";\n\tif (COMPLEX_BUILD_RE.test(signalText)) return \"balanced\";\n\tif (changeRequestKind === \"substantive\") return \"balanced\";\n\tif (hasNonLatinComplexitySignal(signalText)) return \"balanced\";\n\tif (signalText.length > 180 && imperativeTotal >= 2) return \"balanced\";\n\tif (hasMultiChangePrompt(signalText)) return \"balanced\";\n\treturn \"quick\";\n}\n\n// Independent of the resolved depth: a prompt can carry a risk signal (e.g.\n// a high-risk domain term) even on a turn where the overall heuristic above\n// settles on 'balanced' because no other arm fired. Consumers that gate on\n// risk (e.g. the review pass) rely on that independence rather than\n// re-deriving reasons from `depth`.\nfunction computeRiskReasons(trimmed: string, imperativeTotal: number): RiskReason[] {\n\tconst reasons: RiskReason[] = [];\n\tif (EXPLICIT_THOROUGH_BUILD_RE.test(trimmed)) reasons.push(\"explicit-thorough-request\");\n\tif (HIGH_RISK_BUILD_RE.test(trimmed)) reasons.push(\"high-risk-domain-term\");\n\tif (trimmed.length > 600 && imperativeTotal >= 3) reasons.push(\"long-multi-imperative\");\n\treturn reasons;\n}\n\nexport function classifyPromptLanguageBucket(prompt: string): \"latin\" | \"non-latin\" {\n\treturn NON_LATIN_RE.test(prompt) ? \"non-latin\" : \"latin\";\n}\n\nexport function classifyPromptSignals(input: { prompt: string; mode?: string | null }): UnifiedPromptClassification {\n\tconst trimmed = input.prompt.trim();\n\tconst signalText = maskQuotedText(trimmed);\n\tconst imperativeTotal = imperativeCount(signalText);\n\tconst changeRequestKind = classifyChangeRequest(trimmed);\n\tconst laneResult = classifyLane({\n\t\tprompt: changeRequestKind === \"bounded\" ? signalText : trimmed,\n\t\tmode: input.mode,\n\t});\n\treturn {\n\t\tlane: laneResult.lane,\n\t\tlaneDecisionSource: laneResult.decisionSource,\n\t\tlaneMatchedSignals: laneResult.matchedSignals,\n\t\tdepth: resolvePromptExecutionDepth(trimmed, signalText, imperativeTotal, changeRequestKind),\n\t\triskReasons: computeRiskReasons(signalText, imperativeTotal),\n\t\tpolicyId: UNIFIED_CLASSIFIER_POLICY_ID,\n\t};\n}\n\nexport interface FlowSizeThresholds {\n\tmediumAt: number;\n\tlargeAt: number;\n}\n\n/**\n * Maps a classifier depth to a Flow size: quick -> small, balanced -> medium, thorough -> large.\n * When `thresholds` and a finite numeric `score` are both given, the score decides instead:\n * score >= largeAt -> large, score >= mediumAt -> medium, else small.\n */\nexport function sizeFromDepth(depth: PromptExecutionDepth, thresholds?: FlowSizeThresholds, score?: number): FlowSize {\n\tif (thresholds !== undefined && typeof score === \"number\" && Number.isFinite(score)) {\n\t\tif (score >= thresholds.largeAt) return \"large\";\n\t\treturn score >= thresholds.mediumAt ? \"medium\" : \"small\";\n\t}\n\tif (depth === \"thorough\") return \"large\";\n\treturn depth === \"balanced\" ? \"medium\" : \"small\";\n}\n"]}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { type Static, Type } from "typebox";
|
|
2
|
+
export { FLOW_DIGEST_PATTERN, FLOW_ID_PATTERN, FLOW_MODEL_ID_PATTERN, FlowContractError, type FlowModelRef, FlowModelRefSchema, FlowProfileRefSchema, type FlowProfileRefV1, } from "./flow-common.ts";
|
|
2
3
|
export * from "./orchestration.ts";
|
|
3
4
|
export declare const HUMAIN_AGENT_EXECUTION_SCHEMA_VERSION: 1;
|
|
4
5
|
export declare const HUMAIN_AGENT_ARTIFACT_KINDS: readonly ["candidate-patch", "dependency-output", "source-observation", "validation-report"];
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAG5C,cAAc,oBAAoB,CAAC;AAEnC,eAAO,MAAM,qCAAqC,EAAG,CAAU,CAAC;AAChE,eAAO,MAAM,2BAA2B,YACvC,iBAAiB,EACjB,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,CACV,CAAC;AACX,MAAM,MAAM,uBAAuB,GAAG,CAAC,OAAO,2BAA2B,CAAC,CAAC,MAAM,CAAC,CAAC;AAcnF,eAAO,MAAM,yBAAyB,8GAIpC,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,MAAM,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE3E,eAAO,MAAM,yBAAyB;;;;;EAUpC,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,MAAM,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE3E,eAAO,MAAM,kCAAkC;;;;;EAK7C,CAAC;AACH,MAAM,MAAM,4BAA4B,GAAG,MAAM,CAAC,OAAO,kCAAkC,CAAC,CAAC;AAE7F,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;EAY1C,CAAC;AACH,MAAM,MAAM,yBAAyB,GAAG,MAAM,CAAC,OAAO,+BAA+B,CAAC,CAAC;AAEvF,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAO5C,CAAC;AACH,MAAM,MAAM,2BAA2B,GAAG,MAAM,CAAC,OAAO,iCAAiC,CAAC,CAAC;AAE3F,eAAO,MAAM,sBAAsB;;;;;;;;IASjC,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAErE,eAAO,MAAM,oCAAoC,YAChD,0BAA0B,EAC1B,iCAAiC,EACjC,wBAAwB,EACxB,2BAA2B,EAC3B,kBAAkB,EAClB,sBAAsB,EACtB,0BAA0B,EAC1B,uBAAuB,CACd,CAAC;AACX,MAAM,MAAM,+BAA+B,GAAG,CAAC,OAAO,oCAAoC,CAAC,CAAC,MAAM,CAAC,CAAC;AAEpG,eAAO,MAAM,qCAAqC,8VAShD,CAAC;AAUH,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAsB5C,CAAC;AACH,MAAM,MAAM,2BAA2B,GAAG,MAAM,CAAC,OAAO,iCAAiC,CAAC,CAAC;AAE3F,eAAO,MAAM,kCAAkC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAQ7C,CAAC;AACH,MAAM,MAAM,4BAA4B,GAAG,MAAM,CAAC,OAAO,kCAAkC,CAAC,CAAC;AAM7F,wBAAgB,kCAAkC,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAElF;AAED,wBAAgB,iCAAiC,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAiBjF;AAED,wBAAgB,gCAAgC,CAAC,KAAK,EAAE,OAAO,GAAG,2BAA2B,CAmB5F;AAED,wBAAgB,iCAAiC,CAChD,YAAY,EAAE,OAAO,EACrB,aAAa,EAAE,OAAO,GACpB,4BAA4B,CA+C9B"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAG5C,OAAO,EACN,mBAAmB,EACnB,eAAe,EACf,qBAAqB,EACrB,iBAAiB,EACjB,KAAK,YAAY,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,KAAK,gBAAgB,GACrB,MAAM,kBAAkB,CAAC;AAC1B,cAAc,oBAAoB,CAAC;AAEnC,eAAO,MAAM,qCAAqC,EAAG,CAAU,CAAC;AAChE,eAAO,MAAM,2BAA2B,YACvC,iBAAiB,EACjB,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,CACV,CAAC;AACX,MAAM,MAAM,uBAAuB,GAAG,CAAC,OAAO,2BAA2B,CAAC,CAAC,MAAM,CAAC,CAAC;AAcnF,eAAO,MAAM,yBAAyB,8GAIpC,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,MAAM,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE3E,eAAO,MAAM,yBAAyB;;;;;EAUpC,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,MAAM,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE3E,eAAO,MAAM,kCAAkC;;;;;EAK7C,CAAC;AACH,MAAM,MAAM,4BAA4B,GAAG,MAAM,CAAC,OAAO,kCAAkC,CAAC,CAAC;AAE7F,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;EAY1C,CAAC;AACH,MAAM,MAAM,yBAAyB,GAAG,MAAM,CAAC,OAAO,+BAA+B,CAAC,CAAC;AAEvF,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAO5C,CAAC;AACH,MAAM,MAAM,2BAA2B,GAAG,MAAM,CAAC,OAAO,iCAAiC,CAAC,CAAC;AAE3F,eAAO,MAAM,sBAAsB;;;;;;;;IASjC,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAErE,eAAO,MAAM,oCAAoC,YAChD,0BAA0B,EAC1B,iCAAiC,EACjC,wBAAwB,EACxB,2BAA2B,EAC3B,kBAAkB,EAClB,sBAAsB,EACtB,0BAA0B,EAC1B,uBAAuB,CACd,CAAC;AACX,MAAM,MAAM,+BAA+B,GAAG,CAAC,OAAO,oCAAoC,CAAC,CAAC,MAAM,CAAC,CAAC;AAEpG,eAAO,MAAM,qCAAqC,8VAShD,CAAC;AAUH,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAsB5C,CAAC;AACH,MAAM,MAAM,2BAA2B,GAAG,MAAM,CAAC,OAAO,iCAAiC,CAAC,CAAC;AAE3F,eAAO,MAAM,kCAAkC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAQ7C,CAAC;AACH,MAAM,MAAM,4BAA4B,GAAG,MAAM,CAAC,OAAO,kCAAkC,CAAC,CAAC;AAM7F,wBAAgB,kCAAkC,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAElF;AAED,wBAAgB,iCAAiC,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAiBjF;AAED,wBAAgB,gCAAgC,CAAC,KAAK,EAAE,OAAO,GAAG,2BAA2B,CAmB5F;AAED,wBAAgB,iCAAiC,CAChD,YAAY,EAAE,OAAO,EACrB,aAAa,EAAE,OAAO,GACpB,4BAA4B,CA+C9B"}
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Type } from "typebox";
|
|
2
2
|
import { Compile } from "typebox/compile";
|
|
3
|
+
export { FLOW_DIGEST_PATTERN, FLOW_ID_PATTERN, FLOW_MODEL_ID_PATTERN, FlowContractError, FlowModelRefSchema, FlowProfileRefSchema, } from "./flow-common.js";
|
|
3
4
|
export * from "./orchestration.js";
|
|
4
5
|
export const HUMAIN_AGENT_EXECUTION_SCHEMA_VERSION = 1;
|
|
5
6
|
export const HUMAIN_AGENT_ARTIFACT_KINDS = [
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { type Static, Type } from \"typebox\";\nimport { Compile } from \"typebox/compile\";\n\nexport * from \"./orchestration.ts\";\n\nexport const HUMAIN_AGENT_EXECUTION_SCHEMA_VERSION = 1 as const;\nexport const HUMAIN_AGENT_ARTIFACT_KINDS = [\n\t\"candidate-patch\",\n\t\"dependency-output\",\n\t\"source-observation\",\n\t\"validation-report\",\n] as const;\nexport type HumainAgentArtifactKind = (typeof HUMAIN_AGENT_ARTIFACT_KINDS)[number];\n\nconst StrictObject = <const T extends Parameters<typeof Type.Object>[0]>(properties: T) =>\n\tType.Object(properties, { additionalProperties: false });\nconst StableIdentifier = Type.String({ minLength: 1, maxLength: 256 });\nconst PositiveInteger = Type.Integer({ minimum: 1, maximum: Number.MAX_SAFE_INTEGER });\nconst NonnegativeInteger = Type.Integer({ minimum: 0, maximum: Number.MAX_SAFE_INTEGER });\nconst Digest = Type.String({ pattern: \"^[a-f0-9]{64}$\" });\nconst SafeArtifactReference = Type.String({\n\tminLength: 1,\n\tmaxLength: 512,\n\tpattern: \"^(?!/)(?!.*(?:^|/)\\\\.\\\\.(?:/|$))[A-Za-z0-9._-]+(?:/[A-Za-z0-9._-]+)*$\",\n});\n\nexport const HumainAgentRouteRefSchema = Type.Union([\n\tType.Literal(\"route:fast\"),\n\tType.Literal(\"route:balanced\"),\n\tType.Literal(\"route:thorough\"),\n]);\nexport type HumainAgentRouteRef = Static<typeof HumainAgentRouteRefSchema>;\n\nexport const HumainAgentArtifactSchema = StrictObject({\n\tid: StableIdentifier,\n\tkind: Type.Union([\n\t\tType.Literal(HUMAIN_AGENT_ARTIFACT_KINDS[0]),\n\t\tType.Literal(HUMAIN_AGENT_ARTIFACT_KINDS[1]),\n\t\tType.Literal(HUMAIN_AGENT_ARTIFACT_KINDS[2]),\n\t\tType.Literal(HUMAIN_AGENT_ARTIFACT_KINDS[3]),\n\t]),\n\treference: SafeArtifactReference,\n\tdigest: Digest,\n});\nexport type HumainAgentArtifact = Static<typeof HumainAgentArtifactSchema>;\n\nexport const HumainAgentExecutionControlsSchema = StrictObject({\n\tmaxConcurrency: Type.Integer({ minimum: 1, maximum: 16 }),\n\tmaxDepth: Type.Integer({ minimum: 1, maximum: 16 }),\n\tdepth: Type.Integer({ minimum: 0, maximum: 16 }),\n\ttimeoutMs: Type.Integer({ minimum: 1, maximum: 86_400_000 }),\n});\nexport type HumainAgentExecutionControls = Static<typeof HumainAgentExecutionControlsSchema>;\n\nexport const HumainAgentExecutionClaimSchema = StrictObject({\n\tworkUnitId: StableIdentifier,\n\tnodeId: StableIdentifier,\n\tattemptNumber: PositiveInteger,\n\tattemptFence: PositiveInteger,\n\tsegmentFence: PositiveInteger,\n\trouteRef: HumainAgentRouteRefSchema,\n\ttask: Type.String({ minLength: 1, maxLength: 100_000 }),\n\tcontrols: HumainAgentExecutionControlsSchema,\n\tinput: StrictObject({\n\t\tartifacts: Type.Array(HumainAgentArtifactSchema, { maxItems: 16 }),\n\t}),\n});\nexport type HumainAgentExecutionClaim = Static<typeof HumainAgentExecutionClaimSchema>;\n\nexport const HumainAgentExecutionRequestSchema = StrictObject({\n\tschemaVersion: Type.Literal(HUMAIN_AGENT_EXECUTION_SCHEMA_VERSION),\n\tkind: Type.Literal(\"execute\"),\n\tmode: Type.Union([Type.Literal(\"node\"), Type.Literal(\"workflow\")]),\n\tinvocationId: StableIdentifier,\n\tbatchId: Type.Optional(StableIdentifier),\n\tclaims: Type.Array(HumainAgentExecutionClaimSchema, { minItems: 1, maxItems: 8 }),\n});\nexport type HumainAgentExecutionRequest = Static<typeof HumainAgentExecutionRequestSchema>;\n\nexport const HumainAgentUsageSchema = Type.Union([\n\tStrictObject({ status: Type.Literal(\"unknown\") }),\n\tStrictObject({\n\t\tstatus: Type.Literal(\"measured\"),\n\t\ttotalCalls: Type.Optional(NonnegativeInteger),\n\t\ttotalTurns: Type.Optional(NonnegativeInteger),\n\t\ttotalTokens: NonnegativeInteger,\n\t\tcostMicrocents: NonnegativeInteger,\n\t}),\n]);\nexport type HumainAgentUsage = Static<typeof HumainAgentUsageSchema>;\n\nexport const HUMAIN_AGENT_EXECUTION_FAILURE_CODES = [\n\t\"adapter_execution_failed\",\n\t\"incompatible_adapter_capability\",\n\t\"invalid_adapter_result\",\n\t\"invalid_execution_request\",\n\t\"provider_timeout\",\n\t\"provider_unavailable\",\n\t\"reused_execution_context\",\n\t\"transport_interrupted\",\n] as const;\nexport type HumainAgentExecutionFailureCode = (typeof HUMAIN_AGENT_EXECUTION_FAILURE_CODES)[number];\n\nexport const HumainAgentExecutionFailureCodeSchema = Type.Union([\n\tType.Literal(HUMAIN_AGENT_EXECUTION_FAILURE_CODES[0]),\n\tType.Literal(HUMAIN_AGENT_EXECUTION_FAILURE_CODES[1]),\n\tType.Literal(HUMAIN_AGENT_EXECUTION_FAILURE_CODES[2]),\n\tType.Literal(HUMAIN_AGENT_EXECUTION_FAILURE_CODES[3]),\n\tType.Literal(HUMAIN_AGENT_EXECUTION_FAILURE_CODES[4]),\n\tType.Literal(HUMAIN_AGENT_EXECUTION_FAILURE_CODES[5]),\n\tType.Literal(HUMAIN_AGENT_EXECUTION_FAILURE_CODES[6]),\n\tType.Literal(HUMAIN_AGENT_EXECUTION_FAILURE_CODES[7]),\n]);\n\nconst OutcomeIdentity = {\n\tworkUnitId: StableIdentifier,\n\tnodeId: StableIdentifier,\n\tattemptNumber: PositiveInteger,\n\tattemptFence: PositiveInteger,\n\tsegmentFence: PositiveInteger,\n};\n\nexport const HumainAgentExecutionOutcomeSchema = Type.Union([\n\tStrictObject({\n\t\t...OutcomeIdentity,\n\t\tkind: Type.Literal(\"succeeded\"),\n\t\toutput: StrictObject({\n\t\t\tsummary: Type.String({ minLength: 1, maxLength: 512 }),\n\t\t\tartifacts: Type.Array(HumainAgentArtifactSchema, { maxItems: 16 }),\n\t\t}),\n\t\tusage: HumainAgentUsageSchema,\n\t}),\n\tStrictObject({\n\t\t...OutcomeIdentity,\n\t\tkind: Type.Literal(\"failed\"),\n\t\tfailureCode: HumainAgentExecutionFailureCodeSchema,\n\t\tusage: HumainAgentUsageSchema,\n\t}),\n\tStrictObject({\n\t\t...OutcomeIdentity,\n\t\tkind: Type.Literal(\"cancelled\"),\n\t\tterminationConfirmed: Type.Boolean(),\n\t\tusage: HumainAgentUsageSchema,\n\t}),\n]);\nexport type HumainAgentExecutionOutcome = Static<typeof HumainAgentExecutionOutcomeSchema>;\n\nexport const HumainAgentExecutionResponseSchema = StrictObject({\n\tschemaVersion: Type.Literal(HUMAIN_AGENT_EXECUTION_SCHEMA_VERSION),\n\tkind: Type.Literal(\"result\"),\n\tmode: Type.Union([Type.Literal(\"node\"), Type.Literal(\"workflow\")]),\n\tinvocationId: StableIdentifier,\n\tbatchId: Type.Optional(StableIdentifier),\n\ttermination: Type.Union([Type.Literal(\"not-requested\"), Type.Literal(\"confirmed\"), Type.Literal(\"unconfirmed\")]),\n\toutcomes: Type.Array(HumainAgentExecutionOutcomeSchema, { minItems: 1, maxItems: 8 }),\n});\nexport type HumainAgentExecutionResponse = Static<typeof HumainAgentExecutionResponseSchema>;\n\nconst RequestValidator = Compile(HumainAgentExecutionRequestSchema);\nconst ResponseValidator = Compile(HumainAgentExecutionResponseSchema);\nconst ArtifactReferenceValidator = Compile(SafeArtifactReference);\n\nexport function isSafeHumainAgentArtifactReference(value: unknown): value is string {\n\treturn ArtifactReferenceValidator.Check(value);\n}\n\nexport function isSafeHumainAgentExecutionSummary(value: unknown): value is string {\n\treturn (\n\t\ttypeof value === \"string\" &&\n\t\tvalue.length >= 1 &&\n\t\tvalue.length <= 512 &&\n\t\tvalue === value.trim() &&\n\t\t/^[\\p{L}\\p{N}][\\p{L}\\p{N} .,;:!?()&'-]*$/u.test(value) &&\n\t\t!/\\b(?:[A-Za-z0-9-]+\\.)+[A-Za-z]{2,}(?::\\d{1,5})?\\b/u.test(value) &&\n\t\t!/\\b(?:\\d{1,3}\\.){3}\\d{1,3}(?::\\d{1,5})?\\b/u.test(value) &&\n\t\t!/^(?:rm|curl|wget|sh|bash|zsh|fish|pwsh|powershell|cmd|node|bun|deno|npx|npm|pnpm|yarn|python(?:3)?|perl|ruby|git|docker|kubectl|ssh|scp|sudo|cat|ls|cd|mkdir|touch|chmod|chown|env|export|set|eval|exec)\\b/iu.test(\n\t\t\tvalue,\n\t\t) &&\n\t\t!/\\b(?:api[- ]?key|secret|token|credential|password)\\s*:/iu.test(value) &&\n\t\t!/\\b(?:claude|gpt|gemini|llama|mistral|zai|glm|qwen|deepseek|grok|nova|o\\d+)[-_.:][A-Za-z0-9._:-]+\\b/iu.test(\n\t\t\tvalue,\n\t\t)\n\t);\n}\n\nexport function parseHumainAgentExecutionRequest(input: unknown): HumainAgentExecutionRequest {\n\tif (!RequestValidator.Check(input)) {\n\t\tthrow new Error(\"Invalid HUMAIN agent execution request\");\n\t}\n\tif (input.mode === \"node\" && (input.claims.length !== 1 || input.batchId !== undefined)) {\n\t\tthrow new Error(\"Invalid HUMAIN agent execution request: node mode requires one claim and no batch identity\");\n\t}\n\tif (input.mode === \"workflow\" && input.batchId === undefined) {\n\t\tthrow new Error(\"Invalid HUMAIN agent execution request: workflow mode requires a batch identity\");\n\t}\n\tconst workUnitIds = new Set(input.claims.map(({ workUnitId }) => workUnitId));\n\tconst nodeIds = new Set(input.claims.map(({ nodeId }) => nodeId));\n\tif (workUnitIds.size !== input.claims.length || nodeIds.size !== input.claims.length) {\n\t\tthrow new Error(\"Invalid HUMAIN agent execution request: claim identities must be unique\");\n\t}\n\tif (input.claims.some(({ controls }) => controls.depth >= controls.maxDepth)) {\n\t\tthrow new Error(\"Invalid HUMAIN agent execution request: delegation depth limit is exhausted\");\n\t}\n\treturn deepFreeze(structuredClone(input));\n}\n\nexport function parseHumainAgentExecutionResponse(\n\trequestInput: unknown,\n\tresponseInput: unknown,\n): HumainAgentExecutionResponse {\n\tconst request = parseHumainAgentExecutionRequest(requestInput);\n\tif (!ResponseValidator.Check(responseInput)) {\n\t\tthrow new Error(\"Invalid HUMAIN agent execution response\");\n\t}\n\tconst response = responseInput;\n\tif (\n\t\tresponse.outcomes.some(\n\t\t\t(outcome) => outcome.kind === \"succeeded\" && !isSafeHumainAgentExecutionSummary(outcome.output.summary),\n\t\t)\n\t) {\n\t\tthrow new Error(\"Invalid HUMAIN agent execution response\");\n\t}\n\tif (\n\t\tresponse.mode !== request.mode ||\n\t\tresponse.invocationId !== request.invocationId ||\n\t\tresponse.batchId !== request.batchId\n\t) {\n\t\tthrow new Error(\"HUMAIN agent result envelope mismatch\");\n\t}\n\tif (response.outcomes.length !== request.claims.length) {\n\t\tthrow new Error(\"HUMAIN agent result cardinality mismatch\");\n\t}\n\tfor (const [index, outcome] of response.outcomes.entries()) {\n\t\tconst claim = request.claims[index];\n\t\tif (\n\t\t\t!claim ||\n\t\t\toutcome.workUnitId !== claim.workUnitId ||\n\t\t\toutcome.nodeId !== claim.nodeId ||\n\t\t\toutcome.attemptNumber !== claim.attemptNumber ||\n\t\t\toutcome.attemptFence !== claim.attemptFence ||\n\t\t\toutcome.segmentFence !== claim.segmentFence\n\t\t) {\n\t\t\tthrow new Error(\"HUMAIN agent result identity mismatch\");\n\t\t}\n\t}\n\tconst cancelled = response.outcomes.filter((outcome) => outcome.kind === \"cancelled\");\n\tconst expectedTermination =\n\t\tcancelled.length === 0\n\t\t\t? \"not-requested\"\n\t\t\t: cancelled.every((outcome) => outcome.terminationConfirmed)\n\t\t\t\t? \"confirmed\"\n\t\t\t\t: \"unconfirmed\";\n\tif (response.termination !== expectedTermination) {\n\t\tthrow new Error(\"HUMAIN agent result termination evidence mismatch\");\n\t}\n\treturn deepFreeze(structuredClone(response));\n}\n\nfunction deepFreeze<T>(value: T): T {\n\tif (value === null || typeof value !== \"object\" || Object.isFrozen(value)) return value;\n\tObject.freeze(value);\n\tfor (const child of Object.values(value)) deepFreeze(child);\n\treturn value;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { type Static, Type } from \"typebox\";\nimport { Compile } from \"typebox/compile\";\n\nexport {\n\tFLOW_DIGEST_PATTERN,\n\tFLOW_ID_PATTERN,\n\tFLOW_MODEL_ID_PATTERN,\n\tFlowContractError,\n\ttype FlowModelRef,\n\tFlowModelRefSchema,\n\tFlowProfileRefSchema,\n\ttype FlowProfileRefV1,\n} from \"./flow-common.ts\";\nexport * from \"./orchestration.ts\";\n\nexport const HUMAIN_AGENT_EXECUTION_SCHEMA_VERSION = 1 as const;\nexport const HUMAIN_AGENT_ARTIFACT_KINDS = [\n\t\"candidate-patch\",\n\t\"dependency-output\",\n\t\"source-observation\",\n\t\"validation-report\",\n] as const;\nexport type HumainAgentArtifactKind = (typeof HUMAIN_AGENT_ARTIFACT_KINDS)[number];\n\nconst StrictObject = <const T extends Parameters<typeof Type.Object>[0]>(properties: T) =>\n\tType.Object(properties, { additionalProperties: false });\nconst StableIdentifier = Type.String({ minLength: 1, maxLength: 256 });\nconst PositiveInteger = Type.Integer({ minimum: 1, maximum: Number.MAX_SAFE_INTEGER });\nconst NonnegativeInteger = Type.Integer({ minimum: 0, maximum: Number.MAX_SAFE_INTEGER });\nconst Digest = Type.String({ pattern: \"^[a-f0-9]{64}$\" });\nconst SafeArtifactReference = Type.String({\n\tminLength: 1,\n\tmaxLength: 512,\n\tpattern: \"^(?!/)(?!.*(?:^|/)\\\\.\\\\.(?:/|$))[A-Za-z0-9._-]+(?:/[A-Za-z0-9._-]+)*$\",\n});\n\nexport const HumainAgentRouteRefSchema = Type.Union([\n\tType.Literal(\"route:fast\"),\n\tType.Literal(\"route:balanced\"),\n\tType.Literal(\"route:thorough\"),\n]);\nexport type HumainAgentRouteRef = Static<typeof HumainAgentRouteRefSchema>;\n\nexport const HumainAgentArtifactSchema = StrictObject({\n\tid: StableIdentifier,\n\tkind: Type.Union([\n\t\tType.Literal(HUMAIN_AGENT_ARTIFACT_KINDS[0]),\n\t\tType.Literal(HUMAIN_AGENT_ARTIFACT_KINDS[1]),\n\t\tType.Literal(HUMAIN_AGENT_ARTIFACT_KINDS[2]),\n\t\tType.Literal(HUMAIN_AGENT_ARTIFACT_KINDS[3]),\n\t]),\n\treference: SafeArtifactReference,\n\tdigest: Digest,\n});\nexport type HumainAgentArtifact = Static<typeof HumainAgentArtifactSchema>;\n\nexport const HumainAgentExecutionControlsSchema = StrictObject({\n\tmaxConcurrency: Type.Integer({ minimum: 1, maximum: 16 }),\n\tmaxDepth: Type.Integer({ minimum: 1, maximum: 16 }),\n\tdepth: Type.Integer({ minimum: 0, maximum: 16 }),\n\ttimeoutMs: Type.Integer({ minimum: 1, maximum: 86_400_000 }),\n});\nexport type HumainAgentExecutionControls = Static<typeof HumainAgentExecutionControlsSchema>;\n\nexport const HumainAgentExecutionClaimSchema = StrictObject({\n\tworkUnitId: StableIdentifier,\n\tnodeId: StableIdentifier,\n\tattemptNumber: PositiveInteger,\n\tattemptFence: PositiveInteger,\n\tsegmentFence: PositiveInteger,\n\trouteRef: HumainAgentRouteRefSchema,\n\ttask: Type.String({ minLength: 1, maxLength: 100_000 }),\n\tcontrols: HumainAgentExecutionControlsSchema,\n\tinput: StrictObject({\n\t\tartifacts: Type.Array(HumainAgentArtifactSchema, { maxItems: 16 }),\n\t}),\n});\nexport type HumainAgentExecutionClaim = Static<typeof HumainAgentExecutionClaimSchema>;\n\nexport const HumainAgentExecutionRequestSchema = StrictObject({\n\tschemaVersion: Type.Literal(HUMAIN_AGENT_EXECUTION_SCHEMA_VERSION),\n\tkind: Type.Literal(\"execute\"),\n\tmode: Type.Union([Type.Literal(\"node\"), Type.Literal(\"workflow\")]),\n\tinvocationId: StableIdentifier,\n\tbatchId: Type.Optional(StableIdentifier),\n\tclaims: Type.Array(HumainAgentExecutionClaimSchema, { minItems: 1, maxItems: 8 }),\n});\nexport type HumainAgentExecutionRequest = Static<typeof HumainAgentExecutionRequestSchema>;\n\nexport const HumainAgentUsageSchema = Type.Union([\n\tStrictObject({ status: Type.Literal(\"unknown\") }),\n\tStrictObject({\n\t\tstatus: Type.Literal(\"measured\"),\n\t\ttotalCalls: Type.Optional(NonnegativeInteger),\n\t\ttotalTurns: Type.Optional(NonnegativeInteger),\n\t\ttotalTokens: NonnegativeInteger,\n\t\tcostMicrocents: NonnegativeInteger,\n\t}),\n]);\nexport type HumainAgentUsage = Static<typeof HumainAgentUsageSchema>;\n\nexport const HUMAIN_AGENT_EXECUTION_FAILURE_CODES = [\n\t\"adapter_execution_failed\",\n\t\"incompatible_adapter_capability\",\n\t\"invalid_adapter_result\",\n\t\"invalid_execution_request\",\n\t\"provider_timeout\",\n\t\"provider_unavailable\",\n\t\"reused_execution_context\",\n\t\"transport_interrupted\",\n] as const;\nexport type HumainAgentExecutionFailureCode = (typeof HUMAIN_AGENT_EXECUTION_FAILURE_CODES)[number];\n\nexport const HumainAgentExecutionFailureCodeSchema = Type.Union([\n\tType.Literal(HUMAIN_AGENT_EXECUTION_FAILURE_CODES[0]),\n\tType.Literal(HUMAIN_AGENT_EXECUTION_FAILURE_CODES[1]),\n\tType.Literal(HUMAIN_AGENT_EXECUTION_FAILURE_CODES[2]),\n\tType.Literal(HUMAIN_AGENT_EXECUTION_FAILURE_CODES[3]),\n\tType.Literal(HUMAIN_AGENT_EXECUTION_FAILURE_CODES[4]),\n\tType.Literal(HUMAIN_AGENT_EXECUTION_FAILURE_CODES[5]),\n\tType.Literal(HUMAIN_AGENT_EXECUTION_FAILURE_CODES[6]),\n\tType.Literal(HUMAIN_AGENT_EXECUTION_FAILURE_CODES[7]),\n]);\n\nconst OutcomeIdentity = {\n\tworkUnitId: StableIdentifier,\n\tnodeId: StableIdentifier,\n\tattemptNumber: PositiveInteger,\n\tattemptFence: PositiveInteger,\n\tsegmentFence: PositiveInteger,\n};\n\nexport const HumainAgentExecutionOutcomeSchema = Type.Union([\n\tStrictObject({\n\t\t...OutcomeIdentity,\n\t\tkind: Type.Literal(\"succeeded\"),\n\t\toutput: StrictObject({\n\t\t\tsummary: Type.String({ minLength: 1, maxLength: 512 }),\n\t\t\tartifacts: Type.Array(HumainAgentArtifactSchema, { maxItems: 16 }),\n\t\t}),\n\t\tusage: HumainAgentUsageSchema,\n\t}),\n\tStrictObject({\n\t\t...OutcomeIdentity,\n\t\tkind: Type.Literal(\"failed\"),\n\t\tfailureCode: HumainAgentExecutionFailureCodeSchema,\n\t\tusage: HumainAgentUsageSchema,\n\t}),\n\tStrictObject({\n\t\t...OutcomeIdentity,\n\t\tkind: Type.Literal(\"cancelled\"),\n\t\tterminationConfirmed: Type.Boolean(),\n\t\tusage: HumainAgentUsageSchema,\n\t}),\n]);\nexport type HumainAgentExecutionOutcome = Static<typeof HumainAgentExecutionOutcomeSchema>;\n\nexport const HumainAgentExecutionResponseSchema = StrictObject({\n\tschemaVersion: Type.Literal(HUMAIN_AGENT_EXECUTION_SCHEMA_VERSION),\n\tkind: Type.Literal(\"result\"),\n\tmode: Type.Union([Type.Literal(\"node\"), Type.Literal(\"workflow\")]),\n\tinvocationId: StableIdentifier,\n\tbatchId: Type.Optional(StableIdentifier),\n\ttermination: Type.Union([Type.Literal(\"not-requested\"), Type.Literal(\"confirmed\"), Type.Literal(\"unconfirmed\")]),\n\toutcomes: Type.Array(HumainAgentExecutionOutcomeSchema, { minItems: 1, maxItems: 8 }),\n});\nexport type HumainAgentExecutionResponse = Static<typeof HumainAgentExecutionResponseSchema>;\n\nconst RequestValidator = Compile(HumainAgentExecutionRequestSchema);\nconst ResponseValidator = Compile(HumainAgentExecutionResponseSchema);\nconst ArtifactReferenceValidator = Compile(SafeArtifactReference);\n\nexport function isSafeHumainAgentArtifactReference(value: unknown): value is string {\n\treturn ArtifactReferenceValidator.Check(value);\n}\n\nexport function isSafeHumainAgentExecutionSummary(value: unknown): value is string {\n\treturn (\n\t\ttypeof value === \"string\" &&\n\t\tvalue.length >= 1 &&\n\t\tvalue.length <= 512 &&\n\t\tvalue === value.trim() &&\n\t\t/^[\\p{L}\\p{N}][\\p{L}\\p{N} .,;:!?()&'-]*$/u.test(value) &&\n\t\t!/\\b(?:[A-Za-z0-9-]+\\.)+[A-Za-z]{2,}(?::\\d{1,5})?\\b/u.test(value) &&\n\t\t!/\\b(?:\\d{1,3}\\.){3}\\d{1,3}(?::\\d{1,5})?\\b/u.test(value) &&\n\t\t!/^(?:rm|curl|wget|sh|bash|zsh|fish|pwsh|powershell|cmd|node|bun|deno|npx|npm|pnpm|yarn|python(?:3)?|perl|ruby|git|docker|kubectl|ssh|scp|sudo|cat|ls|cd|mkdir|touch|chmod|chown|env|export|set|eval|exec)\\b/iu.test(\n\t\t\tvalue,\n\t\t) &&\n\t\t!/\\b(?:api[- ]?key|secret|token|credential|password)\\s*:/iu.test(value) &&\n\t\t!/\\b(?:claude|gpt|gemini|llama|mistral|zai|glm|qwen|deepseek|grok|nova|o\\d+)[-_.:][A-Za-z0-9._:-]+\\b/iu.test(\n\t\t\tvalue,\n\t\t)\n\t);\n}\n\nexport function parseHumainAgentExecutionRequest(input: unknown): HumainAgentExecutionRequest {\n\tif (!RequestValidator.Check(input)) {\n\t\tthrow new Error(\"Invalid HUMAIN agent execution request\");\n\t}\n\tif (input.mode === \"node\" && (input.claims.length !== 1 || input.batchId !== undefined)) {\n\t\tthrow new Error(\"Invalid HUMAIN agent execution request: node mode requires one claim and no batch identity\");\n\t}\n\tif (input.mode === \"workflow\" && input.batchId === undefined) {\n\t\tthrow new Error(\"Invalid HUMAIN agent execution request: workflow mode requires a batch identity\");\n\t}\n\tconst workUnitIds = new Set(input.claims.map(({ workUnitId }) => workUnitId));\n\tconst nodeIds = new Set(input.claims.map(({ nodeId }) => nodeId));\n\tif (workUnitIds.size !== input.claims.length || nodeIds.size !== input.claims.length) {\n\t\tthrow new Error(\"Invalid HUMAIN agent execution request: claim identities must be unique\");\n\t}\n\tif (input.claims.some(({ controls }) => controls.depth >= controls.maxDepth)) {\n\t\tthrow new Error(\"Invalid HUMAIN agent execution request: delegation depth limit is exhausted\");\n\t}\n\treturn deepFreeze(structuredClone(input));\n}\n\nexport function parseHumainAgentExecutionResponse(\n\trequestInput: unknown,\n\tresponseInput: unknown,\n): HumainAgentExecutionResponse {\n\tconst request = parseHumainAgentExecutionRequest(requestInput);\n\tif (!ResponseValidator.Check(responseInput)) {\n\t\tthrow new Error(\"Invalid HUMAIN agent execution response\");\n\t}\n\tconst response = responseInput;\n\tif (\n\t\tresponse.outcomes.some(\n\t\t\t(outcome) => outcome.kind === \"succeeded\" && !isSafeHumainAgentExecutionSummary(outcome.output.summary),\n\t\t)\n\t) {\n\t\tthrow new Error(\"Invalid HUMAIN agent execution response\");\n\t}\n\tif (\n\t\tresponse.mode !== request.mode ||\n\t\tresponse.invocationId !== request.invocationId ||\n\t\tresponse.batchId !== request.batchId\n\t) {\n\t\tthrow new Error(\"HUMAIN agent result envelope mismatch\");\n\t}\n\tif (response.outcomes.length !== request.claims.length) {\n\t\tthrow new Error(\"HUMAIN agent result cardinality mismatch\");\n\t}\n\tfor (const [index, outcome] of response.outcomes.entries()) {\n\t\tconst claim = request.claims[index];\n\t\tif (\n\t\t\t!claim ||\n\t\t\toutcome.workUnitId !== claim.workUnitId ||\n\t\t\toutcome.nodeId !== claim.nodeId ||\n\t\t\toutcome.attemptNumber !== claim.attemptNumber ||\n\t\t\toutcome.attemptFence !== claim.attemptFence ||\n\t\t\toutcome.segmentFence !== claim.segmentFence\n\t\t) {\n\t\t\tthrow new Error(\"HUMAIN agent result identity mismatch\");\n\t\t}\n\t}\n\tconst cancelled = response.outcomes.filter((outcome) => outcome.kind === \"cancelled\");\n\tconst expectedTermination =\n\t\tcancelled.length === 0\n\t\t\t? \"not-requested\"\n\t\t\t: cancelled.every((outcome) => outcome.terminationConfirmed)\n\t\t\t\t? \"confirmed\"\n\t\t\t\t: \"unconfirmed\";\n\tif (response.termination !== expectedTermination) {\n\t\tthrow new Error(\"HUMAIN agent result termination evidence mismatch\");\n\t}\n\treturn deepFreeze(structuredClone(response));\n}\n\nfunction deepFreeze<T>(value: T): T {\n\tif (value === null || typeof value !== \"object\" || Object.isFrozen(value)) return value;\n\tObject.freeze(value);\n\tfor (const child of Object.values(value)) deepFreeze(child);\n\treturn value;\n}\n"]}
|
package/dist/rpc.d.ts
CHANGED
|
@@ -1,8 +1,11 @@
|
|
|
1
|
+
import type { FlowControlCommandV1 } from "./flow-control.ts";
|
|
1
2
|
import { type SubagentProgressSnapshot } from "./subagent-progress.ts";
|
|
2
3
|
export declare const MAX_RPC_FRAME_LENGTH: number;
|
|
3
4
|
export declare const MAX_GET_STATE_RESPONSE_UTF8_BYTES: number;
|
|
4
5
|
export declare const MAX_GET_STATE_RESPONSE_CODE_UNITS: number;
|
|
5
6
|
export declare const SUBAGENT_PROGRESS_FIELD: "subagentProgress";
|
|
7
|
+
declare const FLOW_COMMAND_TYPES: readonly ["flow_status", "flow_pause", "flow_resume", "flow_cancel", "flow_message"];
|
|
8
|
+
type FlowCommandType = (typeof FLOW_COMMAND_TYPES)[number];
|
|
6
9
|
export type RpcWireCommand = {
|
|
7
10
|
id: string;
|
|
8
11
|
type: "prompt";
|
|
@@ -21,7 +24,7 @@ export type RpcWireCommand = {
|
|
|
21
24
|
id: string;
|
|
22
25
|
type: "switch_session";
|
|
23
26
|
sessionPath: string;
|
|
24
|
-
};
|
|
27
|
+
} | FlowControlCommandV1;
|
|
25
28
|
export type RpcReadyFrame = {
|
|
26
29
|
type: "ready";
|
|
27
30
|
protocolVersion: 1;
|
|
@@ -36,6 +39,27 @@ export type RpcResponseFrame = {
|
|
|
36
39
|
error?: string;
|
|
37
40
|
data?: unknown;
|
|
38
41
|
};
|
|
42
|
+
/** Flow receipt: a `response` frame without `success`. Fully validated by `parseRpcWireFrame` (no TypeBox needed). */
|
|
43
|
+
export type RpcFlowReceiptFrame = {
|
|
44
|
+
type: "response";
|
|
45
|
+
id: string;
|
|
46
|
+
command: FlowCommandType;
|
|
47
|
+
state: "accepted" | "applied" | "rejected";
|
|
48
|
+
[key: string]: unknown;
|
|
49
|
+
};
|
|
50
|
+
/**
|
|
51
|
+
* Pushed flow frames: `parseRpcWireFrame` validates the ENVELOPE only (exactly `{type, event}` / `{type, status}`
|
|
52
|
+
* with a plain-object payload) because rpc.ts must stay TypeBox-free. Consumers MUST pass `event` to
|
|
53
|
+
* `parseFlowEventV1` (./flow-events) and `status` to `parseFlowStatusV1` (./flow-control) before using it.
|
|
54
|
+
*/
|
|
55
|
+
export type RpcFlowEventFrame = {
|
|
56
|
+
type: "flow_event";
|
|
57
|
+
event: Record<string, unknown>;
|
|
58
|
+
};
|
|
59
|
+
export type RpcFlowStatusFrame = {
|
|
60
|
+
type: "flow_status";
|
|
61
|
+
status: Record<string, unknown>;
|
|
62
|
+
};
|
|
39
63
|
export type RpcNativeEventFrame = {
|
|
40
64
|
type: string;
|
|
41
65
|
[key: string]: unknown;
|
|
@@ -50,7 +74,7 @@ export type RpcToolExecutionEndProgressFrame = RpcNativeEventFrame & {
|
|
|
50
74
|
type: "tool_execution_end";
|
|
51
75
|
} & RpcSubagentProgressMetadata;
|
|
52
76
|
export type RpcGetStateProgressData = Record<string, unknown> & RpcSubagentProgressMetadata;
|
|
53
|
-
export type RpcWireFrame = RpcReadyFrame | RpcResponseFrame | RpcNativeEventFrame;
|
|
77
|
+
export type RpcWireFrame = RpcReadyFrame | RpcResponseFrame | RpcFlowReceiptFrame | RpcFlowEventFrame | RpcFlowStatusFrame | RpcNativeEventFrame;
|
|
54
78
|
export declare function encodeRpcWireCommand(command: RpcWireCommand): string;
|
|
55
79
|
export declare function parseRpcWireFrame(input: unknown): RpcWireFrame;
|
|
56
80
|
/**
|
|
@@ -60,4 +84,5 @@ export declare function parseRpcWireFrame(input: unknown): RpcWireFrame;
|
|
|
60
84
|
* No other frame fields are inspected or validated.
|
|
61
85
|
*/
|
|
62
86
|
export declare function readRpcSubagentProgress(frame: RpcWireFrame): SubagentProgressSnapshot | undefined;
|
|
87
|
+
export {};
|
|
63
88
|
//# sourceMappingURL=rpc.d.ts.map
|
package/dist/rpc.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rpc.d.ts","sourceRoot":"","sources":["../src/rpc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiC,KAAK,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAMtG,eAAO,MAAM,oBAAoB,QAAmB,CAAC;AACrD,eAAO,MAAM,iCAAiC,QAAmB,CAAC;AAClE,eAAO,MAAM,iCAAiC,QAAmB,CAAC;AAClE,eAAO,MAAM,uBAAuB,EAAG,kBAA2B,CAAC;AAEnE,MAAM,MAAM,cAAc,GACvB;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAC/C;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE,GAC7B;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,WAAW,CAAA;CAAE,GACjC;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACxD;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,gBAAgB,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"rpc.d.ts","sourceRoot":"","sources":["../src/rpc.ts"],"names":[],"mappings":"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"}
|