@vypdev/copilot 3.10.6 → 3.10.7

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.
@@ -32481,7 +32481,7 @@ const SPANISH_CONTENT = Object.freeze({
32481
32481
  }),
32482
32482
  'validation.evidence-too-large': Object.freeze({
32483
32483
  impact: 'No se pudo evaluar el progreso dentro de los límites fijos de evidencia.',
32484
- action: 'Reduce el tamaño de la comparación o divide el trabajo en cambios revisados más pequeños antes de iniciar otra evaluación.',
32484
+ action: 'Inspecciona la comparación completa y la capacidad indicada. La recuperación por partes continúa automáticamente cuando es compatible. Si se interrumpe, vuelve a ejecutar la fuente gestionada actual; una comparación idéntica que excede el límite no obtiene más capacidad.',
32485
32485
  retainedState: 'Se conservaron las etiquetas de progreso y las evaluaciones publicadas.',
32486
32486
  }),
32487
32487
  'workflow.invalid-event': Object.freeze({
@@ -32546,6 +32546,11 @@ const ENGLISH_RECOVERY_CONTENT = Object.freeze({
32546
32546
  action: 'Inspect the closed-issue or merged-PR run and current native state. Retry cleanup only if the issue is still closed with the intended reason; leave reopened work open. Resolve the named failure before retrying.',
32547
32547
  retainedState: 'Native state was preserved. Confirmed changes: {changed}; remaining required changes in the last verified plan: {remaining}. Unavailable reads do not establish completion.',
32548
32548
  }),
32549
+ 'progress-result-contract-invalid': Object.freeze({
32550
+ impact: 'The returned progress result violated its contract; progress was not published.',
32551
+ action: 'Inspect the original requirement and response schema. Details: phase {phase}, reason {reason}, field {field}, requirement {requirementId}, original issue line {sourceLineId}. none means no verified identity is available. A fresh attempt may help when the provider can satisfy the unchanged contract; do not relax acceptance or verification.',
32552
+ retainedState: 'Existing progress labels and published assessments were preserved. An optional check-publication warning is a separate result.',
32553
+ }),
32549
32554
  'progress-binary-evidence-unavailable': Object.freeze({
32550
32555
  impact: 'Progress was not assessed because required binary or non-text contents cannot be reviewed. Unreviewed paths ({pathCount} total; {shownCount} shown; complete inventory in run details): {paths}.',
32551
32556
  action: 'Inspect the intended pull request base and the pinned paths. Changed binary contents need reviewable source and provenance; file metadata or a successful build does not establish binary correctness.',
@@ -32601,6 +32606,11 @@ const ENGLISH_RECOVERY_CONTENT = Object.freeze({
32601
32606
  action: 'Review catalog profile support in the SDD guide. Preserve the native schema, readiness, requirements, evidence and blockers; have a maintainer provide a reviewed compatible adapter, then retry this same issue.',
32602
32607
  retainedState: 'The repository catalog, answers and published SDDs remain unchanged; no specification or branch was published by this attempt.',
32603
32608
  }),
32609
+ 'sdd-catalog-missing-trusted-source': Object.freeze({
32610
+ impact: 'SDD preparation stopped before model analysis because specs/catalog.json is missing from the trusted source revision.',
32611
+ action: 'Review and merge the catalog prerequisite through the enabled documentation workflow. Update the displayed trusted source through the normal managed-branch workflow, then retry this same issue after the source changes. An unchanged revision remains blocked.',
32612
+ retainedState: 'Existing answers, published specifications and any linked branch are retained; this attempt published no specification or branch.',
32613
+ }),
32604
32614
  'sdd-catalog-format-invalid': Object.freeze({
32605
32615
  impact: 'SDD preparation stopped before ownership operations because the catalog cannot establish one valid supported profile and unique owner paths.',
32606
32616
  action: 'Validate the catalog JSON, supported profile, required metadata and normalized unique owner-path arrays. Preserve repository-owned readiness rules and retry the same issue after maintainer review.',
@@ -32621,6 +32631,11 @@ const ENGLISH_RECOVERY_CONTENT = Object.freeze({
32621
32631
  action: 'Inspect the failed stage in the linked workflow logs. For dependencies, provision the source Node/pnpm toolchain and repair the frozen candidate workspace graph; for setup/runtime, repair the same-job prerequisites; for command failures, correct the configured verifier. Then retry {syncCommand}. Blind retries do not repair a graph mismatch.',
32622
32632
  retainedState: 'No synchronization commit or push was attempted. Original head: {childSha}. Local rollback: {restoration}; restored means the original head was verified, unverified requires operator inspection before retrying.',
32623
32633
  }),
32634
+ 'branch-sync-catalog-incompatible': Object.freeze({
32635
+ impact: 'Branch synchronization stopped for catalog review: profile {profile}, phase {phase}, capability position {capabilityNumber}, field {field}. Position 0 identifies the document.',
32636
+ action: 'Review the catalog profile and preserve all evidence in a reviewed migration or supported adapter before retrying {syncCommand}. Do not invent verification dates or readiness. Recovery guide: {catalogGuide}.',
32637
+ retainedState: 'No synchronization commit or push was attempted; remote branches were preserved. Local abort: {abort}. completed means the abort call finished; unverified requires operator inspection. This result does not certify application readiness.',
32638
+ }),
32624
32639
  'branch-sync-resolution-invalid': Object.freeze({
32625
32640
  impact: 'Branch synchronization stopped because workspace validation rejected the resolution ({validationCode}).',
32626
32641
  action: 'Inspect this validation code in the workflow logs and correct the resolution before retrying {command}.',
@@ -32639,22 +32654,22 @@ const ENGLISH_RECOVERY_CONTENT = Object.freeze({
32639
32654
  'pull-request-link-restored': Object.freeze({
32640
32655
  impact: 'The pull request could not be linked to its issue.',
32641
32656
  action: 'Rerun the workflow; no temporary pull-request state needs manual recovery.',
32642
- retainedState: 'The original pull-request base and description were restored.',
32657
+ retainedState: 'The original pull-request base and owned temporary-reference cleanup were verified.',
32643
32658
  }),
32644
32659
  'pull-request-link-base-retained': Object.freeze({
32645
32660
  impact: 'The pull request could not be linked to its issue.',
32646
- action: 'Restore the temporary default base branch, then rerun the workflow.',
32661
+ action: 'Rerun the current PR workflow to recover pending state; inspect ownership if recovery remains blocked.',
32647
32662
  retainedState: 'The temporary default base branch remains; the original description was restored.',
32648
32663
  }),
32649
32664
  'pull-request-link-reference-retained': Object.freeze({
32650
32665
  impact: 'The pull request could not be linked to its issue.',
32651
- action: 'Remove the temporary issue reference from the description, then rerun the workflow.',
32666
+ action: 'Rerun the current PR workflow to finish owned-reference cleanup; retain its recovery marker until the base and intended link are verified.',
32652
32667
  retainedState: 'The original base branch was restored; the temporary issue reference remains in the description.',
32653
32668
  }),
32654
32669
  'pull-request-link-base-and-reference-retained': Object.freeze({
32655
32670
  impact: 'The pull request could not be linked to its issue.',
32656
- action: 'Restore the temporary default base branch and remove the temporary issue reference, then rerun the workflow.',
32657
- retainedState: 'The temporary default base branch and issue reference remain.',
32671
+ action: 'Rerun the current PR workflow to recover the original base and owned reference; inspect ownership if recovery remains blocked.',
32672
+ retainedState: 'The original base and temporary-reference cleanup could not be verified; pending recovery evidence was retained when observable.',
32658
32673
  }),
32659
32674
  'managed-branch-enrichment-failed': Object.freeze({
32660
32675
  impact: 'The linked branch exists, but later issue metadata may be incomplete.',
@@ -32694,6 +32709,11 @@ const SPANISH_RECOVERY_CONTENT = Object.freeze({
32694
32709
  action: 'Revisa la ejecución de cierre o de la PR fusionada y el estado nativo actual. Reintenta la limpieza solo si la issue sigue cerrada con el motivo previsto; conserva abierto el trabajo reabierto. Resuelve el fallo indicado antes de reintentar.',
32695
32710
  retainedState: 'Se conservó el estado nativo. Cambios confirmados: {changed}; cambios pendientes en el último plan verificado: {remaining}. Una lectura no disponible no demuestra que haya finalizado.',
32696
32711
  }),
32712
+ 'progress-result-contract-invalid': Object.freeze({
32713
+ impact: 'El resultado de progreso devuelto incumplió su contrato; no se publicó el progreso.',
32714
+ action: 'Inspecciona el requisito original y el esquema de respuesta. Detalles: fase {phase}, motivo {reason}, campo {field}, requisito {requirementId}, línea original de la issue {sourceLineId}. none indica que no hay una identidad verificada. Un nuevo intento puede ayudar si el proveedor cumple el contrato sin cambiarlo; no relajes la aceptación ni la verificación.',
32715
+ retainedState: 'Se conservaron las etiquetas de progreso y las evaluaciones publicadas. Un aviso de publicación del check opcional corresponde a otro resultado.',
32716
+ }),
32697
32717
  'progress-binary-evidence-unavailable': Object.freeze({
32698
32718
  impact: 'No se evaluó el progreso porque no se pueden revisar los contenidos binarios o no textuales necesarios. Rutas sin revisar ({pathCount} en total; {shownCount} mostradas; inventario completo en los detalles de ejecución): {paths}.',
32699
32719
  action: 'Inspecciona la base prevista de la pull request y las rutas fijadas. Los contenidos binarios cambiados necesitan fuentes revisables y procedencia; los metadatos o un build correcto no prueban la corrección del binario.',
@@ -32749,6 +32769,11 @@ const SPANISH_RECOVERY_CONTENT = Object.freeze({
32749
32769
  action: 'Revisa los perfiles admitidos en la guía de SDD. Conserva el esquema nativo, los estados, requisitos, evidencias y bloqueos; pide a un mantenedor un adaptador compatible revisado y reintenta esta misma incidencia.',
32750
32770
  retainedState: 'El catálogo, las respuestas y los SDD publicados permanecen intactos; este intento no publicó ninguna especificación ni rama.',
32751
32771
  }),
32772
+ 'sdd-catalog-missing-trusted-source': Object.freeze({
32773
+ impact: 'La preparación del SDD se detuvo antes del análisis del modelo porque falta specs/catalog.json en la revisión de origen confiable.',
32774
+ action: 'Revisa e integra el catálogo requerido mediante el workflow de documentación habilitado. Actualiza el origen confiable mostrado mediante el flujo normal de ramas gestionadas y reintenta esta misma incidencia cuando cambie esa revisión. La revisión sin cambios permanece bloqueada.',
32775
+ retainedState: 'Se conservan las respuestas, las especificaciones publicadas y cualquier rama enlazada; este intento no publicó ninguna especificación ni rama.',
32776
+ }),
32752
32777
  'sdd-catalog-format-invalid': Object.freeze({
32753
32778
  impact: 'La preparación del SDD se detuvo antes de las operaciones de propiedad porque el catálogo no permite establecer un único perfil admitido con rutas de propiedad válidas y únicas.',
32754
32779
  action: 'Valida el JSON del catálogo, el perfil admitido, los metadatos obligatorios y las listas de rutas de propiedad normalizadas y únicas. Conserva las reglas de preparación del repositorio y reintenta la misma incidencia tras la revisión de un mantenedor.',
@@ -32769,6 +32794,11 @@ const SPANISH_RECOVERY_CONTENT = Object.freeze({
32769
32794
  action: 'Revisa la fase fallida en los logs del workflow enlazado. Para dependencias, prepara Node/pnpm del repositorio fuente y corrige el grafo congelado del candidato; para setup/runtime, corrige los requisitos del mismo job; para fallos del comando, corrige el verificador configurado. Después reintenta {syncCommand}. Repetir sin cambios no corrige un grafo incompatible.',
32770
32795
  retainedState: 'No se intentó crear ni subir un commit de sincronización. Head original: {childSha}. Rollback local: {restoration}; restored confirma el head original, unverified requiere inspección del operador antes de reintentar.',
32771
32796
  }),
32797
+ 'branch-sync-catalog-incompatible': Object.freeze({
32798
+ impact: 'La sincronización se detuvo para revisar el catálogo: perfil {profile}, fase {phase}, posición de capacidad {capabilityNumber}, campo {field}. La posición 0 identifica el documento.',
32799
+ action: 'Revisa el perfil y conserva todas las evidencias mediante una migración revisada o un adaptador compatible antes de reintentar {syncCommand}. No inventes fechas de verificación ni estados de preparación. Guía: {catalogGuide}.',
32800
+ retainedState: 'No se intentó crear ni subir un commit de sincronización; se conservaron las ramas remotas. Aborto local: {abort}. completed indica que terminó la llamada de aborto; unverified exige inspección del operador. Este resultado no certifica que la aplicación esté preparada.',
32801
+ }),
32772
32802
  'branch-sync-resolution-invalid': Object.freeze({
32773
32803
  impact: 'La sincronización se detuvo porque la validación del repositorio rechazó la resolución ({validationCode}).',
32774
32804
  action: 'Revisa este código de validación en los logs del workflow y corrige la resolución antes de reintentar {command}.',
@@ -32787,22 +32817,22 @@ const SPANISH_RECOVERY_CONTENT = Object.freeze({
32787
32817
  'pull-request-link-restored': Object.freeze({
32788
32818
  impact: 'No se pudo vincular la pull request con su issue.',
32789
32819
  action: 'Vuelve a ejecutar el workflow; ningún estado temporal de la pull request requiere recuperación manual.',
32790
- retainedState: 'Se restauraron la rama base y la descripción originales de la pull request.',
32820
+ retainedState: 'Se verificaron la rama base original y la limpieza de la referencia temporal propia.',
32791
32821
  }),
32792
32822
  'pull-request-link-base-retained': Object.freeze({
32793
32823
  impact: 'No se pudo vincular la pull request con su issue.',
32794
- action: 'Restaura la rama base predeterminada temporal y vuelve a ejecutar el workflow.',
32824
+ action: 'Vuelve a ejecutar el workflow actual de la PR para recuperar el estado pendiente; revisa la propiedad si sigue bloqueado.',
32795
32825
  retainedState: 'La rama base predeterminada temporal permanece; se restauró la descripción original.',
32796
32826
  }),
32797
32827
  'pull-request-link-reference-retained': Object.freeze({
32798
32828
  impact: 'No se pudo vincular la pull request con su issue.',
32799
- action: 'Elimina la referencia temporal a la issue de la descripción y vuelve a ejecutar el workflow.',
32829
+ action: 'Vuelve a ejecutar el workflow actual de la PR para limpiar la referencia propia; conserva el marcador hasta verificar la base y el enlace previsto.',
32800
32830
  retainedState: 'Se restauró la rama base original; la referencia temporal a la issue permanece en la descripción.',
32801
32831
  }),
32802
32832
  'pull-request-link-base-and-reference-retained': Object.freeze({
32803
32833
  impact: 'No se pudo vincular la pull request con su issue.',
32804
- action: 'Restaura la rama base predeterminada temporal, elimina la referencia temporal a la issue y vuelve a ejecutar el workflow.',
32805
- retainedState: 'La rama base predeterminada temporal y la referencia a la issue permanecen.',
32834
+ action: 'Vuelve a ejecutar el workflow actual de la PR para recuperar la base original y la referencia propia; revisa la propiedad si sigue bloqueado.',
32835
+ retainedState: 'No se pudo verificar la base original ni la limpieza de la referencia temporal; se conservó la evidencia pendiente cuando pudo observarse.',
32806
32836
  }),
32807
32837
  'managed-branch-enrichment-failed': Object.freeze({
32808
32838
  impact: 'La rama vinculada existe, pero los metadatos posteriores de la issue pueden estar incompletos.',
@@ -33656,6 +33686,7 @@ var _ApplicationError_cause;
33656
33686
  Object.defineProperty(exports, "__esModule", ({ value: true }));
33657
33687
  exports.ApplicationError = exports.APPLICATION_ERROR_METADATA = exports.APPLICATION_ERROR_RECOVERY_IDS = void 0;
33658
33688
  exports.isApplicationErrorCorrelationId = isApplicationErrorCorrelationId;
33689
+ const progress_response_diagnostic_1 = __nccwpck_require__(6289);
33659
33690
  const progress_binary_evidence_diagnostic_1 = __nccwpck_require__(364);
33660
33691
  const issue_workflow_diagnostic_1 = __nccwpck_require__(4347);
33661
33692
  const change_size_reconciliation_1 = __nccwpck_require__(5304);
@@ -33664,6 +33695,7 @@ const closed_issue_reconciliation_1 = __nccwpck_require__(1565);
33664
33695
  const approval_evidence_diagnostic_1 = __nccwpck_require__(8205);
33665
33696
  const branch_sync_validation_1 = __nccwpck_require__(981);
33666
33697
  const verification_failure_1 = __nccwpck_require__(177);
33698
+ const branch_sync_catalog_diagnostic_1 = __nccwpck_require__(5677);
33667
33699
  exports.APPLICATION_ERROR_RECOVERY_IDS = Object.freeze([
33668
33700
  ...copilot_command_validation_1.COPILOT_COMMAND_VALIDATION_REASONS,
33669
33701
  'pull-request-link-restored',
@@ -33677,9 +33709,11 @@ exports.APPLICATION_ERROR_RECOVERY_IDS = Object.freeze([
33677
33709
  'branch-sync-fixer-unavailable',
33678
33710
  'branch-sync-resolution-invalid',
33679
33711
  'branch-sync-verification-failed',
33712
+ 'branch-sync-catalog-incompatible',
33680
33713
  'sdd-draft-size-exceeded',
33681
33714
  'sdd-catalog-unsupported-profile',
33682
33715
  'sdd-catalog-format-invalid',
33716
+ 'sdd-catalog-missing-trusted-source',
33683
33717
  'sdd-draft-format-invalid',
33684
33718
  'sdd-draft-case-identity-invalid',
33685
33719
  'sdd-draft-case-budget-invalid',
@@ -33692,6 +33726,7 @@ exports.APPLICATION_ERROR_RECOVERY_IDS = Object.freeze([
33692
33726
  'change-size-reconciliation-failed',
33693
33727
  'issue-workflow-admission-blocked',
33694
33728
  'progress-binary-evidence-unavailable',
33729
+ 'progress-result-contract-invalid',
33695
33730
  'stored-configuration-schema-missing',
33696
33731
  'stored-configuration-schema-unsupported',
33697
33732
  'stored-configuration-invalid',
@@ -33792,7 +33827,7 @@ exports.APPLICATION_ERROR_METADATA = {
33792
33827
  'validation.evidence-too-large': {
33793
33828
  kind: 'validation', retryable: false,
33794
33829
  impact: 'Progress could not be assessed within the fixed evidence limits.',
33795
- action: 'Reduce the comparison size or split the work into smaller reviewed changes before running a new assessment.',
33830
+ action: 'Inspect the complete comparison and reported capacity. Supported multipart recovery continues automatically. If interrupted, rerun the current managed source; an identical over-limit comparison cannot gain capacity.',
33796
33831
  retainedState: 'Existing progress labels and published assessments were preserved.',
33797
33832
  },
33798
33833
  'workflow.invalid-event': {
@@ -33921,15 +33956,18 @@ const RECOVERY_VARIABLE_KEYS = Object.freeze({
33921
33956
  'branch-sync-fixer-unavailable': Object.freeze(['command']),
33922
33957
  'branch-sync-resolution-invalid': Object.freeze(['validationCode', 'command']),
33923
33958
  'branch-sync-verification-failed': Object.freeze(['stage', 'reason', 'command', 'commandIndex', 'childSha', 'restoration']),
33959
+ 'branch-sync-catalog-incompatible': Object.freeze(['phase', 'profile', 'field', 'capabilityNumber', 'abort']),
33924
33960
  'sdd-draft-size-exceeded': Object.freeze([]),
33925
33961
  'sdd-catalog-unsupported-profile': Object.freeze([]),
33926
33962
  'sdd-catalog-format-invalid': Object.freeze([]),
33963
+ 'sdd-catalog-missing-trusted-source': Object.freeze([]),
33927
33964
  'sdd-draft-format-invalid': Object.freeze([]),
33928
33965
  'sdd-draft-case-identity-invalid': Object.freeze([]),
33929
33966
  'sdd-draft-case-budget-invalid': Object.freeze([]),
33930
33967
  'sdd-draft-requirement-mapping-invalid': Object.freeze([]),
33931
33968
  'sdd-draft-repository-path-invalid': Object.freeze([]),
33932
33969
  'progress-binary-evidence-unavailable': Object.freeze(['paths', 'pathCount']),
33970
+ 'progress-result-contract-invalid': Object.freeze(['phase', 'reason', 'field', 'requirementId', 'sourceLineId']),
33933
33971
  'deployment-publication-context-missing': Object.freeze([]),
33934
33972
  'workspace-changes-rejected': Object.freeze([]),
33935
33973
  });
@@ -33985,6 +34023,12 @@ function normalizeApplicationErrorRecovery(recovery) {
33985
34023
  if (recovery.id === 'branch-sync-verification-failed' && !(0, verification_failure_1.isBranchSyncVerificationFailure)(variables)) {
33986
34024
  throw new TypeError('Branch synchronization verification diagnostic is invalid.');
33987
34025
  }
34026
+ if (recovery.id === 'branch-sync-catalog-incompatible') {
34027
+ const { abort, ...diagnostic } = variables;
34028
+ if (!(0, branch_sync_catalog_diagnostic_1.isBranchSyncCatalogDiagnostic)(diagnostic) || !['completed', 'unverified'].includes(String(abort))) {
34029
+ throw new TypeError('Branch synchronization catalog diagnostic is invalid.');
34030
+ }
34031
+ }
33988
34032
  if (recovery.id === 'closed-issue-reconciliation-failed'
33989
34033
  && (!closed_issue_reconciliation_1.CLOSED_ISSUE_RESULTS.some(value => value === variables.resultId)
33990
34034
  || !closed_issue_reconciliation_1.CLOSED_ISSUE_PHASES.some(value => value === variables.phase)
@@ -33999,6 +34043,8 @@ function normalizeApplicationErrorRecovery(recovery) {
33999
34043
  || approval_evidence_diagnostic_1.APPROVAL_EVIDENCE_PERMISSIONS[variables.operation] !== variables.permission)) {
34000
34044
  throw new TypeError('Approval evidence diagnostic is invalid.');
34001
34045
  }
34046
+ if (recovery.id === 'progress-result-contract-invalid' && !(0, progress_response_diagnostic_1.isProgressResponseDiagnosticFacts)(variables))
34047
+ throw new TypeError('Progress response diagnostic is invalid.');
34002
34048
  if (recovery.id === 'progress-binary-evidence-unavailable' && !(0, progress_binary_evidence_diagnostic_1.isProgressBinaryEvidenceFacts)(variables))
34003
34049
  throw new TypeError('Progress binary evidence diagnostic is invalid.');
34004
34050
  if (recovery.id === 'issue-workflow-admission-blocked' && !(0, issue_workflow_diagnostic_1.isIssueWorkflowDiagnostic)(variables))
@@ -34643,6 +34689,24 @@ function readHeader(headers, expected) {
34643
34689
  }
34644
34690
 
34645
34691
 
34692
+ /***/ }),
34693
+
34694
+ /***/ 2253:
34695
+ /***/ ((__unused_webpack_module, exports) => {
34696
+
34697
+ "use strict";
34698
+
34699
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
34700
+ exports.AGENT_OUTPUT_MAX_BYTES = exports.AGENT_PROMPT_MAX_BYTES = exports.AGENT_EXECUTION_TIMEOUT_MAX_MS = void 0;
34701
+ exports.workspaceModeForCapability = workspaceModeForCapability;
34702
+ exports.AGENT_EXECUTION_TIMEOUT_MAX_MS = 15 * 60 * 1000;
34703
+ exports.AGENT_PROMPT_MAX_BYTES = 512 * 1024;
34704
+ exports.AGENT_OUTPUT_MAX_BYTES = 4 * 1024 * 1024;
34705
+ function workspaceModeForCapability(capability) {
34706
+ return capability === 'fixer' ? 'workspace-write' : 'read-only';
34707
+ }
34708
+
34709
+
34646
34710
  /***/ }),
34647
34711
 
34648
34712
  /***/ 8205:
@@ -34681,6 +34745,120 @@ exports.APPROVAL_EVIDENCE_REASONS = Object.freeze([
34681
34745
  ]);
34682
34746
 
34683
34747
 
34748
+ /***/ }),
34749
+
34750
+ /***/ 5677:
34751
+ /***/ ((__unused_webpack_module, exports) => {
34752
+
34753
+ "use strict";
34754
+
34755
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
34756
+ exports.BranchSyncCatalogFailure = exports.BRANCH_SYNC_CATALOG_FIELDS = exports.SDK_CATALOG_PATH_FIELDS = exports.BRANCH_SYNC_CATALOG_PHASES = exports.BRANCH_SYNC_CATALOG_PROFILES = exports.BRANCH_SYNC_CATALOG_MAX_BYTES = void 0;
34757
+ exports.isBranchSyncCatalogDiagnostic = isBranchSyncCatalogDiagnostic;
34758
+ exports.catalogDiagnostic = catalogDiagnostic;
34759
+ exports.classifyBranchSyncCatalog = classifyBranchSyncCatalog;
34760
+ /** Closed compatibility facts; catalog values never become public operands. */
34761
+ exports.BRANCH_SYNC_CATALOG_MAX_BYTES = 10 * 1024 * 1024;
34762
+ exports.BRANCH_SYNC_CATALOG_PROFILES = ['sdk-v1', 'legacy-evidence', 'native', 'ambiguous', 'unknown'];
34763
+ exports.BRANCH_SYNC_CATALOG_PHASES = ['workspace-boundary', 'catalog-file-boundary', 'metadata-json',
34764
+ 'metadata-conflict-markers', 'metadata-shape', 'profile-compatibility', 'evidence-shape',
34765
+ 'evidence-path-boundary', 'catalog-contract', 'index-output'];
34766
+ exports.SDK_CATALOG_PATH_FIELDS = ['specs', 'workflows', 'entrypoints', 'code', 'tests', 'documentation'];
34767
+ const OWNER_FIELDS = [...exports.SDK_CATALOG_PATH_FIELDS, 'id', 'title', 'status', 'scope', 'owner', 'lastVerified', 'evidence', 'specification'];
34768
+ exports.BRANCH_SYNC_CATALOG_FIELDS = ['catalog', 'version', 'capabilities', '$schema', ...OWNER_FIELDS];
34769
+ function record(value) {
34770
+ return value !== null && typeof value === 'object' && !Array.isArray(value);
34771
+ }
34772
+ const own = (value, key) => Object.prototype.hasOwnProperty.call(value, key);
34773
+ function isBranchSyncCatalogDiagnostic(value) {
34774
+ if (!record(value) || Object.keys(value).sort().join(',') !== 'capabilityNumber,field,phase,profile')
34775
+ return false;
34776
+ const { phase, profile, field, capabilityNumber } = value;
34777
+ return exports.BRANCH_SYNC_CATALOG_PHASES.some(item => item === phase)
34778
+ && exports.BRANCH_SYNC_CATALOG_PROFILES.some(item => item === profile)
34779
+ && exports.BRANCH_SYNC_CATALOG_FIELDS.some(item => item === field)
34780
+ && typeof capabilityNumber === 'number' && Number.isSafeInteger(capabilityNumber)
34781
+ && capabilityNumber >= 0 && capabilityNumber <= exports.BRANCH_SYNC_CATALOG_MAX_BYTES
34782
+ && (capabilityNumber !== 0 || !OWNER_FIELDS.some(item => item === field))
34783
+ && (capabilityNumber === 0 || !['catalog', 'version', '$schema'].includes(String(field)));
34784
+ }
34785
+ function catalogDiagnostic(phase, profile = 'unknown', field = 'catalog', capabilityNumber = 0) {
34786
+ const value = { phase, profile, field, capabilityNumber };
34787
+ if (!isBranchSyncCatalogDiagnostic(value))
34788
+ throw new TypeError('Invalid closed catalog compatibility diagnostic.');
34789
+ return Object.freeze(value);
34790
+ }
34791
+ class BranchSyncCatalogFailure extends Error {
34792
+ constructor(diagnostic) {
34793
+ super('Branch synchronization catalog compatibility requires review.');
34794
+ if (!isBranchSyncCatalogDiagnostic(diagnostic))
34795
+ throw new TypeError('Invalid closed catalog compatibility diagnostic.');
34796
+ this.name = 'BranchSyncCatalogFailure';
34797
+ this.diagnostic = catalogDiagnostic(diagnostic.phase, diagnostic.profile, diagnostic.field, diagnostic.capabilityNumber);
34798
+ Object.freeze(this);
34799
+ }
34800
+ }
34801
+ exports.BranchSyncCatalogFailure = BranchSyncCatalogFailure;
34802
+ function entryProfile(value, position) {
34803
+ if (own(value, 'specification')) {
34804
+ return catalogDiagnostic('profile-compatibility', own(value, 'specs') ? 'ambiguous' : 'native', 'specification', position);
34805
+ }
34806
+ if (!own(value, 'specs'))
34807
+ return catalogDiagnostic('metadata-shape', 'unknown', 'capabilities', position);
34808
+ if (own(value, 'evidence')) {
34809
+ const sdkFields = exports.SDK_CATALOG_PATH_FIELDS.filter(field => own(value, field)).length;
34810
+ if (sdkFields > 1 && sdkFields < exports.SDK_CATALOG_PATH_FIELDS.length) {
34811
+ return catalogDiagnostic('profile-compatibility', 'ambiguous', 'capabilities', position);
34812
+ }
34813
+ if (sdkFields === 1) {
34814
+ if (!Array.isArray(value.specs))
34815
+ return catalogDiagnostic('evidence-shape', 'unknown', 'specs', position);
34816
+ if (!Array.isArray(value.evidence))
34817
+ return catalogDiagnostic('evidence-shape', 'unknown', 'evidence', position);
34818
+ return catalogDiagnostic('profile-compatibility', 'legacy-evidence', 'workflows', position);
34819
+ }
34820
+ }
34821
+ return catalogDiagnostic('profile-compatibility', 'sdk-v1');
34822
+ }
34823
+ /** Classifies dialect/array shape only; the bundled validator still owns full SDK conformance. */
34824
+ function classifyBranchSyncCatalog(value) {
34825
+ if (!record(value))
34826
+ return catalogDiagnostic('metadata-shape');
34827
+ const nativeSchema = own(value, '$schema');
34828
+ const nativeRoot = () => catalogDiagnostic('profile-compatibility', 'native', '$schema');
34829
+ const capabilities = value.capabilities;
34830
+ if (!Array.isArray(capabilities) || capabilities.length === 0 || capabilities.length > exports.BRANCH_SYNC_CATALOG_MAX_BYTES) {
34831
+ return nativeSchema ? nativeRoot() : catalogDiagnostic('metadata-shape', 'unknown', 'capabilities');
34832
+ }
34833
+ let first;
34834
+ for (const [index, capability] of capabilities.entries()) {
34835
+ if (!record(capability))
34836
+ return nativeSchema ? nativeRoot() : catalogDiagnostic('metadata-shape', 'unknown', 'capabilities', index + 1);
34837
+ const next = entryProfile(capability, index + 1);
34838
+ if (next.profile === 'unknown')
34839
+ return nativeSchema ? nativeRoot() : next;
34840
+ if (next.profile === 'ambiguous')
34841
+ return next;
34842
+ if (first && first.profile !== next.profile)
34843
+ return catalogDiagnostic('profile-compatibility', 'ambiguous', 'capabilities', index + 1);
34844
+ first ?? (first = next);
34845
+ }
34846
+ if (nativeSchema)
34847
+ return nativeRoot();
34848
+ if (first.profile !== 'sdk-v1')
34849
+ return first;
34850
+ if (value.version !== 1)
34851
+ return catalogDiagnostic('profile-compatibility', 'unknown', 'version');
34852
+ for (const [index, capability] of capabilities.entries()) {
34853
+ for (const field of exports.SDK_CATALOG_PATH_FIELDS) {
34854
+ if (!Array.isArray(capability[field]))
34855
+ return catalogDiagnostic('evidence-shape', 'sdk-v1', field, index + 1);
34856
+ }
34857
+ }
34858
+ return catalogDiagnostic('profile-compatibility', 'sdk-v1');
34859
+ }
34860
+
34861
+
34684
34862
  /***/ }),
34685
34863
 
34686
34864
  /***/ 981:
@@ -36442,6 +36620,89 @@ function renderProgressEvidencePath(path) {
36442
36620
  }
36443
36621
 
36444
36622
 
36623
+ /***/ }),
36624
+
36625
+ /***/ 6289:
36626
+ /***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {
36627
+
36628
+ "use strict";
36629
+
36630
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
36631
+ exports.ProgressResponseContractFailure = exports.isProgressSourceLineId = exports.isProgressRequirementId = exports.PROGRESS_RESPONSE_REASONS = exports.PROGRESS_RESPONSE_PHASES = void 0;
36632
+ exports.isProgressResponseField = isProgressResponseField;
36633
+ exports.safeProgressResponseField = safeProgressResponseField;
36634
+ exports.isProgressResponseDiagnosticFacts = isProgressResponseDiagnosticFacts;
36635
+ const agent_execution_plan_1 = __nccwpck_require__(2253);
36636
+ exports.PROGRESS_RESPONSE_PHASES = Object.freeze(['scope', 'partition', 'assessment']);
36637
+ const schemaReasons = ['json-invalid', 'schema-type', 'schema-enum', 'schema-string-short', 'schema-string-long', 'schema-number-finite',
36638
+ 'schema-number-min', 'schema-number-max', 'schema-array-short', 'schema-array-long', 'schema-required', 'schema-additional',
36639
+ 'response-not-object', 'output-locale-missing', 'output-locale-invalid', 'output-locale-mismatch', 'response-shape-invalid'];
36640
+ exports.PROGRESS_RESPONSE_REASONS = Object.freeze({
36641
+ scope: Object.freeze([...schemaReasons, 'scope-incomplete', 'scope-entry-invalid', 'scope-source-id-invalid', 'scope-source-id-duplicate',
36642
+ 'scope-classification-invalid', 'scope-clause-limit', 'scope-no-requirements', 'scope-budget']),
36643
+ partition: Object.freeze([...schemaReasons, 'partition-shape-invalid', 'partition-id-invalid', 'partition-files-incomplete',
36644
+ 'partition-file-invalid', 'partition-unit-invalid', 'partition-facts-invalid']),
36645
+ assessment: Object.freeze([...schemaReasons, 'requirements-incomplete', 'progress-invalid', 'requirement-shape-invalid', 'requirement-id-invalid',
36646
+ 'requirement-id-duplicate', 'scope-uncertain', 'requirement-status-invalid', 'requirement-evidence-invalid', 'requirement-summary-invalid',
36647
+ 'requirement-remaining-invalid', 'requirement-evidence-mismatch', 'progress-completion-mismatch', 'assessment-text-limit']),
36648
+ });
36649
+ const fieldPatterns = Object.freeze({
36650
+ scope: /^\$(?:\.outputLocale|\.lines(?:\[(0|[1-9]\d{0,3})\](?:\.(?:id|kind))?)?)?$/u,
36651
+ partition: /^\$(?:\.outputLocale|\.partitionId|\.files(?:\[(0|[1-9]\d{0,3})\](?:\.(?:path|unitId|implemented|remaining))?)?)?$/u,
36652
+ assessment: /^\$(?:\.outputLocale|\.progress|\.requirements(?:\[(0|[1-9]\d{0,3})\](?:\.(?:id|status|evidence|summary|remaining))?)?)?$/u,
36653
+ });
36654
+ const maxIndex = Object.freeze({ scope: 1023, partition: 511, assessment: 31 });
36655
+ function knownId(value, prefix, maximum) {
36656
+ if (typeof value !== 'string')
36657
+ return false;
36658
+ const match = value.match(/^([RL])([1-9]\d{0,5})$/u);
36659
+ return match !== null && match[0] === value && match[1] === prefix && Number(match[2]) <= maximum;
36660
+ }
36661
+ const isProgressRequirementId = (value) => knownId(value, 'R', 32);
36662
+ exports.isProgressRequirementId = isProgressRequirementId;
36663
+ const isProgressSourceLineId = (value) => knownId(value, 'L', agent_execution_plan_1.AGENT_PROMPT_MAX_BYTES + 1);
36664
+ exports.isProgressSourceLineId = isProgressSourceLineId;
36665
+ function isProgressResponseField(phase, value) {
36666
+ if (typeof value !== 'string')
36667
+ return false;
36668
+ const match = value.match(fieldPatterns[phase]);
36669
+ return match !== null && match[0] === value && (match[1] === undefined || Number(match[1]) <= maxIndex[phase]);
36670
+ }
36671
+ /** Unknown model keys and oversized locations never become operator field names. */
36672
+ function safeProgressResponseField(phase, value) {
36673
+ return isProgressResponseField(phase, value) ? value : '$';
36674
+ }
36675
+ function isProgressResponseDiagnosticFacts(value) {
36676
+ if (value === null || typeof value !== 'object' || Array.isArray(value))
36677
+ return false;
36678
+ const facts = value;
36679
+ if (Object.keys(facts).sort().join(',') !== 'field,phase,reason,requirementId,sourceLineId'
36680
+ || !exports.PROGRESS_RESPONSE_PHASES.includes(facts.phase))
36681
+ return false;
36682
+ const phase = facts.phase;
36683
+ if (!exports.PROGRESS_RESPONSE_REASONS[phase].includes(facts.reason) || !isProgressResponseField(phase, facts.field))
36684
+ return false;
36685
+ const { requirementId, sourceLineId, field } = facts;
36686
+ if (phase === 'partition')
36687
+ return requirementId === 'none' && sourceLineId === 'none';
36688
+ if (phase === 'scope')
36689
+ return requirementId === 'none' && (sourceLineId === 'none' || ((0, exports.isProgressSourceLineId)(sourceLineId) && field.startsWith('$.lines')));
36690
+ return (requirementId === 'none' ? sourceLineId === 'none'
36691
+ : (0, exports.isProgressRequirementId)(requirementId) && field.startsWith('$.requirements') && (sourceLineId === 'none' || (0, exports.isProgressSourceLineId)(sourceLineId)));
36692
+ }
36693
+ /** Carries bounded completed-output facts, never a raw output or exception cause. */
36694
+ class ProgressResponseContractFailure extends Error {
36695
+ constructor(facts) {
36696
+ super('A returned progress result violated its response contract.');
36697
+ if (!isProgressResponseDiagnosticFacts(facts))
36698
+ throw new TypeError('Progress response diagnostic is invalid.');
36699
+ this.name = 'ProgressResponseContractFailure';
36700
+ this.facts = Object.freeze({ ...facts });
36701
+ }
36702
+ }
36703
+ exports.ProgressResponseContractFailure = ProgressResponseContractFailure;
36704
+
36705
+
36445
36706
  /***/ }),
36446
36707
 
36447
36708
  /***/ 7122: