@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.
- package/build/api/index.js +883 -117
- package/build/api/src/data/model/application_error.d.ts +8 -1
- package/build/api/src/domain/branch_sync_catalog_diagnostic.d.ts +24 -0
- package/build/api/src/domain/progress_response_diagnostic.d.ts +26 -0
- package/build/cli/index.js +13619 -868
- package/build/deployment_recovery/index.js +273 -12
- package/build/github_action/index.js +13619 -868
- package/package.json +4 -2
|
@@ -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: '
|
|
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
|
|
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: '
|
|
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: '
|
|
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: '
|
|
32657
|
-
retainedState: 'The temporary
|
|
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
|
|
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: '
|
|
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: '
|
|
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: '
|
|
32805
|
-
retainedState: '
|
|
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: '
|
|
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:
|