crewly 1.20.217 → 1.20.219
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/config/skills/agent/core/app-comments/SKILL.md +116 -0
- package/config/skills/agent/core/app-comments/execute.sh +101 -0
- package/config/skills/agent/core/app-comments/execute.test.sh +95 -0
- package/config/skills/agent/core/project-tickets/SKILL.md +17 -1
- package/config/skills/agent/core/project-tickets/execute.sh +14 -4
- package/config/skills/agent/core/project-tickets/execute.test.sh +6 -0
- package/config/skills/agent/core/publish-app/SKILL.md +23 -2
- package/dist/backend/backend/src/constants.d.ts +48 -0
- package/dist/backend/backend/src/constants.d.ts.map +1 -1
- package/dist/backend/backend/src/constants.js +48 -0
- package/dist/backend/backend/src/constants.js.map +1 -1
- package/dist/backend/backend/src/controllers/apps/apps.controller.d.ts +10 -0
- package/dist/backend/backend/src/controllers/apps/apps.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/apps/apps.controller.js +10 -0
- package/dist/backend/backend/src/controllers/apps/apps.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/apps/apps.routes.d.ts +4 -0
- package/dist/backend/backend/src/controllers/apps/apps.routes.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/apps/apps.routes.js +10 -1
- package/dist/backend/backend/src/controllers/apps/apps.routes.js.map +1 -1
- package/dist/backend/backend/src/controllers/project-tickets/project-tickets.controller.d.ts +2 -2
- package/dist/backend/backend/src/controllers/project-tickets/project-tickets.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/project-tickets/project-tickets.controller.js +4 -2
- package/dist/backend/backend/src/controllers/project-tickets/project-tickets.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/project-tickets/project-tickets.routes.d.ts +1 -1
- package/dist/backend/backend/src/controllers/project-tickets/project-tickets.routes.js +1 -1
- package/dist/backend/backend/src/index.d.ts.map +1 -1
- package/dist/backend/backend/src/index.js +29 -3
- package/dist/backend/backend/src/index.js.map +1 -1
- package/dist/backend/backend/src/models/Team.d.ts +17 -0
- package/dist/backend/backend/src/models/Team.d.ts.map +1 -1
- package/dist/backend/backend/src/models/Team.js +28 -10
- package/dist/backend/backend/src/models/Team.js.map +1 -1
- package/dist/backend/backend/src/scripts/input-guard-classify.d.ts +24 -0
- package/dist/backend/backend/src/scripts/input-guard-classify.d.ts.map +1 -1
- package/dist/backend/backend/src/scripts/input-guard-classify.js +38 -5
- package/dist/backend/backend/src/scripts/input-guard-classify.js.map +1 -1
- package/dist/backend/backend/src/services/ai/prompt-modules/skills-reference.module.d.ts.map +1 -1
- package/dist/backend/backend/src/services/ai/prompt-modules/skills-reference.module.js +2 -1
- package/dist/backend/backend/src/services/ai/prompt-modules/skills-reference.module.js.map +1 -1
- package/dist/backend/backend/src/services/apps/app-wake-message.d.ts +66 -0
- package/dist/backend/backend/src/services/apps/app-wake-message.d.ts.map +1 -1
- package/dist/backend/backend/src/services/apps/app-wake-message.js +112 -2
- package/dist/backend/backend/src/services/apps/app-wake-message.js.map +1 -1
- package/dist/backend/backend/src/services/apps/app-wake.service.d.ts +2 -1
- package/dist/backend/backend/src/services/apps/app-wake.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/apps/app-wake.service.js +20 -2
- package/dist/backend/backend/src/services/apps/app-wake.service.js.map +1 -1
- package/dist/backend/backend/src/services/apps/apps.service.d.ts +39 -0
- package/dist/backend/backend/src/services/apps/apps.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/apps/apps.service.js +73 -0
- package/dist/backend/backend/src/services/apps/apps.service.js.map +1 -1
- package/dist/backend/backend/src/services/messaging/input-blocked-retry.service.d.ts +26 -0
- package/dist/backend/backend/src/services/messaging/input-blocked-retry.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/messaging/input-blocked-retry.service.js +41 -0
- package/dist/backend/backend/src/services/messaging/input-blocked-retry.service.js.map +1 -1
- package/dist/backend/backend/src/services/project-tickets/project-ticket.service.d.ts +2 -0
- package/dist/backend/backend/src/services/project-tickets/project-ticket.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/project-tickets/project-ticket.service.js +9 -0
- package/dist/backend/backend/src/services/project-tickets/project-ticket.service.js.map +1 -1
- package/dist/backend/backend/src/services/project-tickets/ticket-autopilot-decision.d.ts +17 -0
- package/dist/backend/backend/src/services/project-tickets/ticket-autopilot-decision.d.ts.map +1 -1
- package/dist/backend/backend/src/services/project-tickets/ticket-autopilot-decision.js +21 -0
- package/dist/backend/backend/src/services/project-tickets/ticket-autopilot-decision.js.map +1 -1
- package/dist/backend/backend/src/services/project-tickets/ticket-autopilot-messages.d.ts.map +1 -1
- package/dist/backend/backend/src/services/project-tickets/ticket-autopilot-messages.js +1 -0
- package/dist/backend/backend/src/services/project-tickets/ticket-autopilot-messages.js.map +1 -1
- package/dist/backend/backend/src/services/project-tickets/ticket-autopilot.service.js +2 -2
- package/dist/backend/backend/src/services/project-tickets/ticket-autopilot.service.js.map +1 -1
- package/dist/backend/backend/src/services/project-tickets/ticket-file.d.ts.map +1 -1
- package/dist/backend/backend/src/services/project-tickets/ticket-file.js +20 -1
- package/dist/backend/backend/src/services/project-tickets/ticket-file.js.map +1 -1
- package/dist/backend/backend/src/services/reconciler/reconciler.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/reconciler/reconciler.service.js +7 -0
- package/dist/backend/backend/src/services/reconciler/reconciler.service.js.map +1 -1
- package/dist/backend/backend/src/services/session/input-circuit-breaker.d.ts +130 -0
- package/dist/backend/backend/src/services/session/input-circuit-breaker.d.ts.map +1 -0
- package/dist/backend/backend/src/services/session/input-circuit-breaker.js +180 -0
- package/dist/backend/backend/src/services/session/input-circuit-breaker.js.map +1 -0
- package/dist/backend/backend/src/services/session/input-guard-known-screens.d.ts +41 -0
- package/dist/backend/backend/src/services/session/input-guard-known-screens.d.ts.map +1 -0
- package/dist/backend/backend/src/services/session/input-guard-known-screens.js +168 -0
- package/dist/backend/backend/src/services/session/input-guard-known-screens.js.map +1 -0
- package/dist/backend/backend/src/services/session/input-ledger.d.ts +2 -1
- package/dist/backend/backend/src/services/session/input-ledger.d.ts.map +1 -1
- package/dist/backend/backend/src/services/session/input-ledger.js +5 -1
- package/dist/backend/backend/src/services/session/input-ledger.js.map +1 -1
- package/dist/backend/backend/src/services/session/session-command-helper.d.ts +52 -0
- package/dist/backend/backend/src/services/session/session-command-helper.d.ts.map +1 -1
- package/dist/backend/backend/src/services/session/session-command-helper.js +155 -3
- package/dist/backend/backend/src/services/session/session-command-helper.js.map +1 -1
- package/dist/backend/backend/src/services/session/tui-input-guard.d.ts +81 -1
- package/dist/backend/backend/src/services/session/tui-input-guard.d.ts.map +1 -1
- package/dist/backend/backend/src/services/session/tui-input-guard.js +238 -45
- package/dist/backend/backend/src/services/session/tui-input-guard.js.map +1 -1
- package/dist/backend/backend/src/services/system/input-guard-release-check.d.ts +10 -1
- package/dist/backend/backend/src/services/system/input-guard-release-check.d.ts.map +1 -1
- package/dist/backend/backend/src/services/system/input-guard-release-check.js +15 -2
- package/dist/backend/backend/src/services/system/input-guard-release-check.js.map +1 -1
- package/dist/backend/backend/src/types/project-ticket.types.d.ts +5 -0
- package/dist/backend/backend/src/types/project-ticket.types.d.ts.map +1 -1
- package/dist/backend/backend/src/types/project-ticket.types.js +1 -0
- package/dist/backend/backend/src/types/project-ticket.types.js.map +1 -1
- package/dist/backend/backend/src/types/ticket-autopilot.types.d.ts +9 -0
- package/dist/backend/backend/src/types/ticket-autopilot.types.d.ts.map +1 -1
- package/dist/backend/backend/src/types/ticket-autopilot.types.js +28 -0
- package/dist/backend/backend/src/types/ticket-autopilot.types.js.map +1 -1
- package/dist/backend/build-info.json +2 -2
- package/dist/cli/backend/src/constants.d.ts +48 -0
- package/dist/cli/backend/src/constants.d.ts.map +1 -1
- package/dist/cli/backend/src/constants.js +48 -0
- package/dist/cli/backend/src/constants.js.map +1 -1
- package/dist/cli/backend/src/models/Team.d.ts +17 -0
- package/dist/cli/backend/src/models/Team.d.ts.map +1 -1
- package/dist/cli/backend/src/models/Team.js +28 -10
- package/dist/cli/backend/src/models/Team.js.map +1 -1
- package/dist/cli/backend/src/scripts/input-guard-classify.d.ts +24 -0
- package/dist/cli/backend/src/scripts/input-guard-classify.d.ts.map +1 -1
- package/dist/cli/backend/src/scripts/input-guard-classify.js +38 -5
- package/dist/cli/backend/src/scripts/input-guard-classify.js.map +1 -1
- package/dist/cli/backend/src/services/ai/prompt-modules/skills-reference.module.d.ts.map +1 -1
- package/dist/cli/backend/src/services/ai/prompt-modules/skills-reference.module.js +2 -1
- package/dist/cli/backend/src/services/ai/prompt-modules/skills-reference.module.js.map +1 -1
- package/dist/cli/backend/src/services/messaging/input-blocked-retry.service.d.ts +26 -0
- package/dist/cli/backend/src/services/messaging/input-blocked-retry.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/messaging/input-blocked-retry.service.js +41 -0
- package/dist/cli/backend/src/services/messaging/input-blocked-retry.service.js.map +1 -1
- package/dist/cli/backend/src/services/project-tickets/project-ticket.service.d.ts +2 -0
- package/dist/cli/backend/src/services/project-tickets/project-ticket.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/project-tickets/project-ticket.service.js +9 -0
- package/dist/cli/backend/src/services/project-tickets/project-ticket.service.js.map +1 -1
- package/dist/cli/backend/src/services/project-tickets/ticket-file.d.ts.map +1 -1
- package/dist/cli/backend/src/services/project-tickets/ticket-file.js +20 -1
- package/dist/cli/backend/src/services/project-tickets/ticket-file.js.map +1 -1
- package/dist/cli/backend/src/services/session/input-circuit-breaker.d.ts +130 -0
- package/dist/cli/backend/src/services/session/input-circuit-breaker.d.ts.map +1 -0
- package/dist/cli/backend/src/services/session/input-circuit-breaker.js +180 -0
- package/dist/cli/backend/src/services/session/input-circuit-breaker.js.map +1 -0
- package/dist/cli/backend/src/services/session/input-guard-known-screens.d.ts +41 -0
- package/dist/cli/backend/src/services/session/input-guard-known-screens.d.ts.map +1 -0
- package/dist/cli/backend/src/services/session/input-guard-known-screens.js +168 -0
- package/dist/cli/backend/src/services/session/input-guard-known-screens.js.map +1 -0
- package/dist/cli/backend/src/services/session/input-ledger.d.ts +2 -1
- package/dist/cli/backend/src/services/session/input-ledger.d.ts.map +1 -1
- package/dist/cli/backend/src/services/session/input-ledger.js +5 -1
- package/dist/cli/backend/src/services/session/input-ledger.js.map +1 -1
- package/dist/cli/backend/src/services/session/session-command-helper.d.ts +52 -0
- package/dist/cli/backend/src/services/session/session-command-helper.d.ts.map +1 -1
- package/dist/cli/backend/src/services/session/session-command-helper.js +155 -3
- package/dist/cli/backend/src/services/session/session-command-helper.js.map +1 -1
- package/dist/cli/backend/src/services/session/tui-input-guard.d.ts +81 -1
- package/dist/cli/backend/src/services/session/tui-input-guard.d.ts.map +1 -1
- package/dist/cli/backend/src/services/session/tui-input-guard.js +238 -45
- package/dist/cli/backend/src/services/session/tui-input-guard.js.map +1 -1
- package/dist/cli/backend/src/services/system/input-guard-release-check.d.ts +10 -1
- package/dist/cli/backend/src/services/system/input-guard-release-check.d.ts.map +1 -1
- package/dist/cli/backend/src/services/system/input-guard-release-check.js +15 -2
- package/dist/cli/backend/src/services/system/input-guard-release-check.js.map +1 -1
- package/dist/cli/backend/src/types/project-ticket.types.d.ts +5 -0
- package/dist/cli/backend/src/types/project-ticket.types.d.ts.map +1 -1
- package/dist/cli/backend/src/types/project-ticket.types.js +1 -0
- package/dist/cli/backend/src/types/project-ticket.types.js.map +1 -1
- package/dist/cli/backend/src/types/ticket-autopilot.types.d.ts +9 -0
- package/dist/cli/backend/src/types/ticket-autopilot.types.d.ts.map +1 -1
- package/dist/cli/backend/src/types/ticket-autopilot.types.js +28 -0
- package/dist/cli/backend/src/types/ticket-autopilot.types.js.map +1 -1
- package/dist/cli/cli/src/commands/doctor.d.ts.map +1 -1
- package/dist/cli/cli/src/commands/doctor.js +10 -3
- package/dist/cli/cli/src/commands/doctor.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ticket-file.js","sourceRoot":"","sources":["../../../../../../backend/src/services/project-tickets/ticket-file.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,MAAM,CAAC;AACtD,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACrB,8BAA8B,GAG/B,MAAM,qCAAqC,CAAC;AAE7C,sEAAsE;AACtE,MAAM,cAAc,GAAG,kEAAkE,CAAC;AAE1F,8BAA8B;AAC9B,MAAM,CAAC,MAAM,YAAY,GAAG,oBAAoB,CAAC;AAEjD,kDAAkD;AAClD,MAAM,UAAU,GAAG,4BAA4B,CAAC;AAEhD,0CAA0C;AAC1C,MAAM,QAAQ,GAAG,eAAe,CAAC;AAEjC,yDAAyD;AACzD,MAAM,WAAW,GAAG,gCAAgC,CAAC;AACrD,MAAM,SAAS,GAAG,kBAAkB,CAAC;AAErC,iDAAiD;AACjD,MAAM,kBAAkB,GAAG,aAAa,CAAC;AA+DzC;;;;;GAKG;AACH,SAAS,gBAAgB,CAAC,OAAe;IACvC,MAAM,CAAC,GAAG,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACvC,IAAI,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACpB,OAAO;QACL,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;QACZ,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;QACpB,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;QACZ,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC;QACf,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QAChC,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI;KAC9C,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,cAAc,CAAC,KAAc,EAAE,IAAY;IAClD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,EAAE;QAAE,OAAO,IAAI,CAAC;IACvE,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACpD,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,mBAAmB,CAAC,CAAC;AAC9C,CAAC;AAED;;;;;GAKG;AACH,SAAS,UAAU,CAAC,KAAc;IAChC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,EAAE,CAAC;IACrD,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACrE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACvE,CAAC;AAED;;;;;;GAMG;AACH,SAAS,UAAU,CAAC,IAA6B;IAC/C,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;IACnB,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAClG,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IACzB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACjG,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,yBAAyB,wBAAwB,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC3F,CAAC;IACD,MAAM,QAAQ,GACZ,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI;QACnD,CAAC,CAAC,wBAAwB,CAAC,gBAAgB;QAC3C,CAAC,CAAC,8BAA8B,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACpD,IAAI,CAAC,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IACpE,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,KAAK,IAAI,IAAI,IAAI,CAAC,WAAW,KAAK,MAAM,CAAC;IAC7E,OAAO;QACL,EAAE;QACF,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE;QACnB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,QAAQ;QACR,QAAQ,EAAE,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC;QACnD,IAAI,EAAE,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC;QACvC,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC;QAC/B,WAAW;QACX,SAAS,EAAE,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,IAAI,EAAE;QAC5D,SAAS,EAAE,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,IAAI,EAAE;QAC5D,UAAU,EAAE,cAAc,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC;QACzD,SAAS,EAAE,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC;QACtD,MAAM,EAAE,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC;QAC7C,YAAY,EAAE,cAAc,CAAC,IAAI,CAAC,YAAY,EAAE,cAAc,CAAC;KAChE,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,SAAS,cAAc,CAAC,IAAY;IAClC,MAAM,QAAQ,GAAmB,EAAE,CAAC;IACpC,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,OAAO,GAAG,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAC1B,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACnC,MAAM,OAAO,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QACzC,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QACrE,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACxB,OAAO,GAAG,CAAC,OAAO,CAAC;QACrB,CAAC;aAAM,IAAI,CAAC,OAAO,EAAE,CAAC;YACpB,MAAM,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAChC,IAAI,CAAC,EAAE,CAAC;gBACN,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;oBAAE,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC;gBACjE,QAAQ,CAAC,IAAI,CAAC;oBACZ,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;oBAClB,KAAK,EAAE,GAAG;oBACV,UAAU,EAAE,GAAG,GAAG,IAAI,CAAC,MAAM;oBAC7B,YAAY,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC;oBAC9C,GAAG,EAAE,IAAI,CAAC,MAAM;iBACjB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QACD,IAAI,EAAE,KAAK,CAAC,CAAC;YAAE,MAAM;QACrB,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC;IACf,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;;;GAMG;AACH,SAAS,WAAW,CAAC,IAAY,EAAE,KAAa;IAC9C,MAAM,IAAI,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IACjC,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,CAAC;AAC1E,CAAC;AAED;;;;;GAKG;AACH,SAAS,aAAa,CAAC,IAAY;IACjC,MAAM,GAAG,GAA6B,EAAE,CAAC;IACzC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QACvC,MAAM,EAAE,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,EAAE,EAAE,CAAC;YACP,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,GAAG,EAAE,CAAC,CAAC;YACpE,SAAS;QACX,CAAC;QACD,MAAM,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;YAAE,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACrE,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAAC,QAA2C,EAAE,GAAG,GAAG,IAAI;IACpF,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,kBAAkB,CAAC;IACrD,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC5G,CAAC;AAED;;;;;;GAMG;AACH,SAAS,WAAW,CAAC,IAAY,EAAE,KAAa;IAC9C,MAAM,CAAC,GAAG,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACnC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AAC3D,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,eAAe,CAAC,OAAe;IAC7C,MAAM,KAAK,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACxC,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,0BAA0B,EAAE,CAAC;IACpE,MAAM,GAAG,GAAG,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC1C,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,iBAAiB,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IAChH,MAAM,IAAI,GAAY,GAAG,CAAC,IAAI,EAAE,CAAC;IACjC,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACrE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,+BAA+B,EAAE,CAAC;IAC/D,CAAC;IACD,IAAI,MAA2B,CAAC;IAChC,IAAI,CAAC;QACH,MAAM,GAAG,UAAU,CAAC,IAA+B,CAAC,CAAC;IACvD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;IAChF,CAAC;IACD,MAAM,KAAK,GAAG,IAAI,GAAG,CAAS,mBAAmB,CAAC,CAAC;IACnD,MAAM,KAAK,GAA4B,EAAE,CAAC;IAC1C,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAA+B,CAAC,EAAE,CAAC;QACrE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;YAAE,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC;IACD,MAAM,EAAE,QAAQ,EAAE,GAAG,wBAAwB,CAAC;IAC9C,MAAM,WAAW,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC;IAClE,MAAM,cAAc,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;IACpE,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;IACtD,OAAO;QACL,EAAE,EAAE,IAAI;QACR,IAAI,EAAE;YACJ,MAAM;YACN,KAAK;YACL,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,WAAW,EAAE,WAAW,KAAK,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW;YAClE,UAAU,EAAE,cAAc,KAAK,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,cAAc,CAAC;YACtF,GAAG,EAAE,OAAO;iBACT,KAAK,CAAC,OAAO,CAAC;iBACd,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;iBACjC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;SACzC;KACF,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,SAAS,SAAS,CAAC,CAAU,EAAE,CAAU;IACvC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAAE,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxG,OAAO,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC;AACrC,CAAC;AAED;;;;;;GAMG;AACH,SAAS,QAAQ,CAAC,GAAa,EAAE,GAAW,EAAE,KAAc;IAC1D,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACtD,CAAC;SAAM,CAAC;QACN,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACnD,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,SAAS,CAAC,IAAY,EAAE,KAAwB,EAAE,GAAW;IACpE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACpC,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC7E,MAAM,GAAG,GAAG,WAAW,CAAC,IAAI,EAAE,wBAAwB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACrE,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC;QAC7E,OAAO,GAAG,IAAI,GAAG,IAAI,MAAM,wBAAwB,CAAC,QAAQ,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,QAAQ,GAAG,GAAG,EAAE,CAAC;IAClG,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;IACtD,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC;IACtD,IAAI,UAAU,KAAK,CAAC,EAAE,CAAC;QACrB,4EAA4E;QAC5E,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACxC,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,KAAK,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7D,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,UAAU,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC;IAChG,CAAC;IACD,MAAM,EAAE,GAAG,GAAG,CAAC,YAAY,GAAG,UAAU,CAAC;IACzC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;AAClE,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,cAAc,CAAC,IAAY,EAAE,KAAa,EAAE,OAAe,EAAE,GAAW;IAC/E,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC;IAC7E,MAAM,GAAG,GAAG,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACrC,IAAI,GAAG,EAAE,CAAC;QACR,MAAM,OAAO,GAAG,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC;QACtC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,YAAY,CAAC,GAAG,GAAG,CAAC,YAAY,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;IAC1J,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,KAAK,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,EAAE,CAAC;IACrD,MAAM,GAAG,GAAG,WAAW,CAAC,IAAI,EAAE,wBAAwB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACrE,IAAI,GAAG;QAAE,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;IACpF,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC;IAC7E,OAAO,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,EAAE,CAAC;AAClC,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAe,EAAE,OAAsB;IACxE,MAAM,KAAK,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACxC,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IACxD,MAAM,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC;IAEtB,IAAI,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC;IAC7B,IAAI,kBAAkB,GAAG,KAAK,CAAC;IAC/B,IAAI,OAAO,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7D,MAAM,GAAG,GAAG,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC1C,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACxG,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAA6B,CAAC;QACtD,KAAK,MAAM,GAAG,IAAI,mBAAmB,EAAE,CAAC;YACtC,IAAI,CAAC,CAAC,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC;gBAAE,SAAS;YACvC,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAClC,IAAI,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC;gBAAE,SAAS;YAC7C,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;YAC1B,kBAAkB,GAAG,IAAI,CAAC;QAC5B,CAAC;QACD,IAAI,kBAAkB,EAAE,CAAC;YACvB,OAAO,GAAG,GAAG,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAClF,CAAC;IACH,CAAC;IAED,IAAI,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;IACtB,MAAM,EAAE,QAAQ,EAAE,GAAG,wBAAwB,CAAC;IAC9C,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS;QAAE,IAAI,GAAG,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;IACnH,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QACrC,IAAI,GAAG,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,UAAU,EAAE,cAAc,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;IACjG,CAAC;IACD,IAAI,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;QAAE,IAAI,GAAG,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IAEnG,IAAI,CAAC,kBAAkB,IAAI,IAAI,KAAK,KAAK,CAAC,IAAI;QAAE,OAAO,OAAO,CAAC;IAC/D,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,KAAK,EAAE,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC;IACpF,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/D,OAAO,GAAG,KAAK,CAAC,MAAM,GAAG,SAAS,GAAG,KAAK,CAAC,MAAM,GAAG,SAAS,GAAG,IAAI,EAAE,CAAC;AACzE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAAyB;IAC3D,MAAM,GAAG,GAAG,IAAI,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC7B,KAAK,MAAM,GAAG,IAAI,mBAAmB,EAAE,CAAC;QACtC,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,GAAG,KAAK,cAAc,IAAI,KAAK,KAAK,IAAI;YAAE,SAAS;QACvD,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;IAC5B,CAAC;IACD,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;IAChD,MAAM,EAAE,QAAQ,EAAE,GAAG,wBAAwB,CAAC;IAC9C,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC;IAC5G,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzF,OAAO;QACL,KAAK;QACL,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;QAC3B,KAAK;QACL,EAAE;QACF,MAAM,QAAQ,CAAC,WAAW,EAAE;QAC5B,EAAE;QACF,WAAW;QACX,EAAE;QACF,MAAM,QAAQ,CAAC,UAAU,EAAE;QAC3B,EAAE;QACF,cAAc,CAAC,OAAO,CAAC,UAAU,CAAC;QAClC,EAAE;QACF,MAAM,QAAQ,CAAC,GAAG,EAAE;QACpB,EAAE;QACF,QAAQ;QACR,EAAE;KACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,KAAa;IACxC,MAAM,IAAI,GAAG,KAAK;SACf,SAAS,CAAC,MAAM,CAAC;SACjB,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC;SAC/B,WAAW,EAAE;SACb,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC;SAC3B,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;SACvB,KAAK,CAAC,CAAC,EAAE,wBAAwB,CAAC,eAAe,CAAC;SAClD,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACvB,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC;AAC3C,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,aAAa,CAAC,KAAa,EAAE,OAAe,EAAE,KAAa,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;IACjG,OAAO,GAAG,EAAE,MAAM,KAAK,MAAM,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;AACvE,CAAC"}
|
|
1
|
+
{"version":3,"file":"ticket-file.js","sourceRoot":"","sources":["../../../../../../backend/src/services/project-tickets/ticket-file.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Input circuit breaker — stops redelivery storms against an input box the
|
|
3
|
+
* harness will not touch.
|
|
4
|
+
*
|
|
5
|
+
* Why (crewly#1028, ce-vera 2026-10-03/04): Claude Code collapsed the
|
|
6
|
+
* harness's own paste into markers the guard could not attribute, so every
|
|
7
|
+
* delivery was refused (`input_not_ours`). The reconciler's fast loop kept
|
|
8
|
+
* redelivering and waking the agent every few seconds — ~1,100 failed
|
|
9
|
+
* redeliveries and ~1,100 failed wakes in 2h45m — with no backoff and only a
|
|
10
|
+
* generic notice.
|
|
11
|
+
*
|
|
12
|
+
* The rule: once every delivery to an agent has been refused for
|
|
13
|
+
* OPEN_AFTER_MS, the circuit opens. While open, automatic redelivery/wake
|
|
14
|
+
* for that agent is allowed only as a probe, one per window, the window
|
|
15
|
+
* doubling from PROBE_FIRST_MS up to PROBE_MAX_MS. Opening tells the owner
|
|
16
|
+
* once (listener wired in index.ts). A delivery that goes through closes the
|
|
17
|
+
* circuit; outside input into the terminal (the owner acting on it) allows
|
|
18
|
+
* the next probe at once; a session restart forgets it.
|
|
19
|
+
*
|
|
20
|
+
* Module-level and dependency-free (constants only) so the session helper,
|
|
21
|
+
* the input ledger and the reconciler can share it without import cycles.
|
|
22
|
+
* In memory: a restart starts with every circuit closed.
|
|
23
|
+
*
|
|
24
|
+
* @module services/session/input-circuit-breaker
|
|
25
|
+
*/
|
|
26
|
+
/** What the guard saw on a refusal. */
|
|
27
|
+
export interface InputRefusalInfo {
|
|
28
|
+
/** Guard reading: `foreign` (text not ours) or `unknown` (unreadable) */
|
|
29
|
+
state: string;
|
|
30
|
+
/** Characters in the box (never the text) */
|
|
31
|
+
inputLength: number;
|
|
32
|
+
}
|
|
33
|
+
/** Passed to the listener when a circuit opens. */
|
|
34
|
+
export interface InputCircuitOpenInfo extends InputRefusalInfo {
|
|
35
|
+
sessionName: string;
|
|
36
|
+
/** Refusals since the box was first refused */
|
|
37
|
+
refusals: number;
|
|
38
|
+
/** How long every delivery has been refused (ms) */
|
|
39
|
+
blockedForMs: number;
|
|
40
|
+
/** Wait before the first probe (ms) */
|
|
41
|
+
nextProbeInMs: number;
|
|
42
|
+
}
|
|
43
|
+
/** One open circuit, as reported. */
|
|
44
|
+
export interface OpenCircuitView {
|
|
45
|
+
sessionName: string;
|
|
46
|
+
state: string;
|
|
47
|
+
inputLength: number;
|
|
48
|
+
refusals: number;
|
|
49
|
+
blockedForMs: number;
|
|
50
|
+
/** Automatic redeliveries/wakes skipped while open */
|
|
51
|
+
suppressed: number;
|
|
52
|
+
probes: number;
|
|
53
|
+
nextProbeInMs: number;
|
|
54
|
+
}
|
|
55
|
+
/** Counters since the process started, plus the open circuits. */
|
|
56
|
+
export interface InputCircuitStats {
|
|
57
|
+
open: OpenCircuitView[];
|
|
58
|
+
totals: {
|
|
59
|
+
/** Circuits opened */
|
|
60
|
+
opened: number;
|
|
61
|
+
/** Automatic redeliveries/wakes skipped by an open circuit */
|
|
62
|
+
suppressed: number;
|
|
63
|
+
/** Probe attempts let through while open */
|
|
64
|
+
probes: number;
|
|
65
|
+
/** Open circuits closed by a delivery that went through */
|
|
66
|
+
closed: number;
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Set who is told when a circuit opens (once per blocked episode).
|
|
71
|
+
*
|
|
72
|
+
* @param listener - The listener, or null
|
|
73
|
+
*/
|
|
74
|
+
export declare function setInputCircuitOpenListener(listener: ((info: InputCircuitOpenInfo) => void) | null): void;
|
|
75
|
+
/**
|
|
76
|
+
* The guard refused a delivery to this session.
|
|
77
|
+
*
|
|
78
|
+
* @param sessionName - The session
|
|
79
|
+
* @param info - What the guard saw
|
|
80
|
+
* @param now - Clock (ms)
|
|
81
|
+
*/
|
|
82
|
+
export declare function noteInputRefused(sessionName: string, info: InputRefusalInfo, now?: number): void;
|
|
83
|
+
/**
|
|
84
|
+
* A delivery to this session went through: its circuit closes.
|
|
85
|
+
*
|
|
86
|
+
* @param sessionName - The session
|
|
87
|
+
* @param _now - Clock (ms), unused
|
|
88
|
+
*/
|
|
89
|
+
export declare function noteInputDelivered(sessionName: string, _now?: number): void;
|
|
90
|
+
/**
|
|
91
|
+
* Someone typed into the session's terminal (likely acting on the alert):
|
|
92
|
+
* let the next automatic delivery through at once.
|
|
93
|
+
*
|
|
94
|
+
* @param sessionName - The session
|
|
95
|
+
*/
|
|
96
|
+
export declare function noteInputTouched(sessionName: string): void;
|
|
97
|
+
/**
|
|
98
|
+
* Forget a session's circuit (session created, killed or relaunched).
|
|
99
|
+
*
|
|
100
|
+
* @param sessionName - The session
|
|
101
|
+
*/
|
|
102
|
+
export declare function forgetInputCircuit(sessionName: string): void;
|
|
103
|
+
/**
|
|
104
|
+
* Whether an automatic redelivery/wake into this session may go ahead. Always
|
|
105
|
+
* true while the circuit is closed. While open, true once per probe window
|
|
106
|
+
* (and the window doubles, up to PROBE_MAX_MS); otherwise false, counted as
|
|
107
|
+
* suppressed.
|
|
108
|
+
*
|
|
109
|
+
* @param sessionName - The session
|
|
110
|
+
* @param now - Clock (ms)
|
|
111
|
+
* @returns True to attempt the delivery
|
|
112
|
+
*/
|
|
113
|
+
export declare function shouldAttemptDelivery(sessionName: string, now?: number): boolean;
|
|
114
|
+
/**
|
|
115
|
+
* Whether a session's circuit is open.
|
|
116
|
+
*
|
|
117
|
+
* @param sessionName - The session
|
|
118
|
+
* @returns True while open
|
|
119
|
+
*/
|
|
120
|
+
export declare function isInputCircuitOpen(sessionName: string): boolean;
|
|
121
|
+
/**
|
|
122
|
+
* Open circuits and counters (for /health and diagnostics).
|
|
123
|
+
*
|
|
124
|
+
* @param now - Clock (ms)
|
|
125
|
+
* @returns The stats
|
|
126
|
+
*/
|
|
127
|
+
export declare function inputCircuitStats(now?: number): InputCircuitStats;
|
|
128
|
+
/** Clear every circuit and counter (tests). */
|
|
129
|
+
export declare function resetInputCircuitsForTesting(): void;
|
|
130
|
+
//# sourceMappingURL=input-circuit-breaker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"input-circuit-breaker.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/session/input-circuit-breaker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAIH,uCAAuC;AACvC,MAAM,WAAW,gBAAgB;IAChC,yEAAyE;IACzE,KAAK,EAAE,MAAM,CAAC;IACd,6CAA6C;IAC7C,WAAW,EAAE,MAAM,CAAC;CACpB;AAED,mDAAmD;AACnD,MAAM,WAAW,oBAAqB,SAAQ,gBAAgB;IAC7D,WAAW,EAAE,MAAM,CAAC;IACpB,+CAA+C;IAC/C,QAAQ,EAAE,MAAM,CAAC;IACjB,oDAAoD;IACpD,YAAY,EAAE,MAAM,CAAC;IACrB,uCAAuC;IACvC,aAAa,EAAE,MAAM,CAAC;CACtB;AAED,qCAAqC;AACrC,MAAM,WAAW,eAAe;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,sDAAsD;IACtD,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;CACtB;AAED,kEAAkE;AAClE,MAAM,WAAW,iBAAiB;IACjC,IAAI,EAAE,eAAe,EAAE,CAAC;IACxB,MAAM,EAAE;QACP,sBAAsB;QACtB,MAAM,EAAE,MAAM,CAAC;QACf,8DAA8D;QAC9D,UAAU,EAAE,MAAM,CAAC;QACnB,4CAA4C;QAC5C,MAAM,EAAE,MAAM,CAAC;QACf,2DAA2D;QAC3D,MAAM,EAAE,MAAM,CAAC;KACf,CAAC;CACF;AAkBD;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,EAAE,oBAAoB,KAAK,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI,CAEzG;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,EAAE,GAAG,GAAE,MAAmB,GAAG,IAAI,CAgC5G;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,GAAE,MAAmB,GAAG,IAAI,CAKvF;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAG1D;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAE5D;AAED;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,GAAE,MAAmB,GAAG,OAAO,CAa5F;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAE/D;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,GAAE,MAAmB,GAAG,iBAAiB,CAgB7E;AAED,+CAA+C;AAC/C,wBAAgB,4BAA4B,IAAI,IAAI,CAOnD"}
|
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Input circuit breaker — stops redelivery storms against an input box the
|
|
3
|
+
* harness will not touch.
|
|
4
|
+
*
|
|
5
|
+
* Why (crewly#1028, ce-vera 2026-10-03/04): Claude Code collapsed the
|
|
6
|
+
* harness's own paste into markers the guard could not attribute, so every
|
|
7
|
+
* delivery was refused (`input_not_ours`). The reconciler's fast loop kept
|
|
8
|
+
* redelivering and waking the agent every few seconds — ~1,100 failed
|
|
9
|
+
* redeliveries and ~1,100 failed wakes in 2h45m — with no backoff and only a
|
|
10
|
+
* generic notice.
|
|
11
|
+
*
|
|
12
|
+
* The rule: once every delivery to an agent has been refused for
|
|
13
|
+
* OPEN_AFTER_MS, the circuit opens. While open, automatic redelivery/wake
|
|
14
|
+
* for that agent is allowed only as a probe, one per window, the window
|
|
15
|
+
* doubling from PROBE_FIRST_MS up to PROBE_MAX_MS. Opening tells the owner
|
|
16
|
+
* once (listener wired in index.ts). A delivery that goes through closes the
|
|
17
|
+
* circuit; outside input into the terminal (the owner acting on it) allows
|
|
18
|
+
* the next probe at once; a session restart forgets it.
|
|
19
|
+
*
|
|
20
|
+
* Module-level and dependency-free (constants only) so the session helper,
|
|
21
|
+
* the input ledger and the reconciler can share it without import cycles.
|
|
22
|
+
* In memory: a restart starts with every circuit closed.
|
|
23
|
+
*
|
|
24
|
+
* @module services/session/input-circuit-breaker
|
|
25
|
+
*/
|
|
26
|
+
import { INPUT_CIRCUIT_CONSTANTS } from '../../constants.js';
|
|
27
|
+
const circuits = new Map();
|
|
28
|
+
const totals = { opened: 0, suppressed: 0, probes: 0, closed: 0 };
|
|
29
|
+
let openListener = null;
|
|
30
|
+
/**
|
|
31
|
+
* Set who is told when a circuit opens (once per blocked episode).
|
|
32
|
+
*
|
|
33
|
+
* @param listener - The listener, or null
|
|
34
|
+
*/
|
|
35
|
+
export function setInputCircuitOpenListener(listener) {
|
|
36
|
+
openListener = listener;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* The guard refused a delivery to this session.
|
|
40
|
+
*
|
|
41
|
+
* @param sessionName - The session
|
|
42
|
+
* @param info - What the guard saw
|
|
43
|
+
* @param now - Clock (ms)
|
|
44
|
+
*/
|
|
45
|
+
export function noteInputRefused(sessionName, info, now = Date.now()) {
|
|
46
|
+
const c = circuits.get(sessionName) ?? {
|
|
47
|
+
since: now,
|
|
48
|
+
refusals: 0,
|
|
49
|
+
state: info.state,
|
|
50
|
+
inputLength: info.inputLength,
|
|
51
|
+
open: false,
|
|
52
|
+
probes: 0,
|
|
53
|
+
nextProbeAt: 0,
|
|
54
|
+
suppressed: 0,
|
|
55
|
+
};
|
|
56
|
+
c.refusals += 1;
|
|
57
|
+
c.state = info.state;
|
|
58
|
+
c.inputLength = info.inputLength;
|
|
59
|
+
circuits.set(sessionName, c);
|
|
60
|
+
if (c.open || now - c.since < INPUT_CIRCUIT_CONSTANTS.OPEN_AFTER_MS)
|
|
61
|
+
return;
|
|
62
|
+
c.open = true;
|
|
63
|
+
c.openedAt = now;
|
|
64
|
+
c.nextProbeAt = now + INPUT_CIRCUIT_CONSTANTS.PROBE_FIRST_MS;
|
|
65
|
+
totals.opened += 1;
|
|
66
|
+
try {
|
|
67
|
+
openListener?.({
|
|
68
|
+
sessionName,
|
|
69
|
+
state: c.state,
|
|
70
|
+
inputLength: c.inputLength,
|
|
71
|
+
refusals: c.refusals,
|
|
72
|
+
blockedForMs: now - c.since,
|
|
73
|
+
nextProbeInMs: INPUT_CIRCUIT_CONSTANTS.PROBE_FIRST_MS,
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
catch {
|
|
77
|
+
// The notice is best effort; the circuit is open either way.
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* A delivery to this session went through: its circuit closes.
|
|
82
|
+
*
|
|
83
|
+
* @param sessionName - The session
|
|
84
|
+
* @param _now - Clock (ms), unused
|
|
85
|
+
*/
|
|
86
|
+
export function noteInputDelivered(sessionName, _now = Date.now()) {
|
|
87
|
+
const c = circuits.get(sessionName);
|
|
88
|
+
if (!c)
|
|
89
|
+
return;
|
|
90
|
+
if (c.open)
|
|
91
|
+
totals.closed += 1;
|
|
92
|
+
circuits.delete(sessionName);
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Someone typed into the session's terminal (likely acting on the alert):
|
|
96
|
+
* let the next automatic delivery through at once.
|
|
97
|
+
*
|
|
98
|
+
* @param sessionName - The session
|
|
99
|
+
*/
|
|
100
|
+
export function noteInputTouched(sessionName) {
|
|
101
|
+
const c = circuits.get(sessionName);
|
|
102
|
+
if (c?.open)
|
|
103
|
+
c.nextProbeAt = 0;
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Forget a session's circuit (session created, killed or relaunched).
|
|
107
|
+
*
|
|
108
|
+
* @param sessionName - The session
|
|
109
|
+
*/
|
|
110
|
+
export function forgetInputCircuit(sessionName) {
|
|
111
|
+
circuits.delete(sessionName);
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Whether an automatic redelivery/wake into this session may go ahead. Always
|
|
115
|
+
* true while the circuit is closed. While open, true once per probe window
|
|
116
|
+
* (and the window doubles, up to PROBE_MAX_MS); otherwise false, counted as
|
|
117
|
+
* suppressed.
|
|
118
|
+
*
|
|
119
|
+
* @param sessionName - The session
|
|
120
|
+
* @param now - Clock (ms)
|
|
121
|
+
* @returns True to attempt the delivery
|
|
122
|
+
*/
|
|
123
|
+
export function shouldAttemptDelivery(sessionName, now = Date.now()) {
|
|
124
|
+
const c = circuits.get(sessionName);
|
|
125
|
+
if (!c?.open)
|
|
126
|
+
return true;
|
|
127
|
+
if (now >= c.nextProbeAt) {
|
|
128
|
+
c.probes += 1;
|
|
129
|
+
totals.probes += 1;
|
|
130
|
+
const wait = Math.min(INPUT_CIRCUIT_CONSTANTS.PROBE_FIRST_MS * 2 ** c.probes, INPUT_CIRCUIT_CONSTANTS.PROBE_MAX_MS);
|
|
131
|
+
c.nextProbeAt = now + wait;
|
|
132
|
+
return true;
|
|
133
|
+
}
|
|
134
|
+
c.suppressed += 1;
|
|
135
|
+
totals.suppressed += 1;
|
|
136
|
+
return false;
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Whether a session's circuit is open.
|
|
140
|
+
*
|
|
141
|
+
* @param sessionName - The session
|
|
142
|
+
* @returns True while open
|
|
143
|
+
*/
|
|
144
|
+
export function isInputCircuitOpen(sessionName) {
|
|
145
|
+
return circuits.get(sessionName)?.open === true;
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* Open circuits and counters (for /health and diagnostics).
|
|
149
|
+
*
|
|
150
|
+
* @param now - Clock (ms)
|
|
151
|
+
* @returns The stats
|
|
152
|
+
*/
|
|
153
|
+
export function inputCircuitStats(now = Date.now()) {
|
|
154
|
+
const open = [];
|
|
155
|
+
for (const [sessionName, c] of circuits) {
|
|
156
|
+
if (!c.open)
|
|
157
|
+
continue;
|
|
158
|
+
open.push({
|
|
159
|
+
sessionName,
|
|
160
|
+
state: c.state,
|
|
161
|
+
inputLength: c.inputLength,
|
|
162
|
+
refusals: c.refusals,
|
|
163
|
+
blockedForMs: now - c.since,
|
|
164
|
+
suppressed: c.suppressed,
|
|
165
|
+
probes: c.probes,
|
|
166
|
+
nextProbeInMs: Math.max(0, c.nextProbeAt - now),
|
|
167
|
+
});
|
|
168
|
+
}
|
|
169
|
+
return { open, totals: { ...totals } };
|
|
170
|
+
}
|
|
171
|
+
/** Clear every circuit and counter (tests). */
|
|
172
|
+
export function resetInputCircuitsForTesting() {
|
|
173
|
+
circuits.clear();
|
|
174
|
+
totals.opened = 0;
|
|
175
|
+
totals.suppressed = 0;
|
|
176
|
+
totals.probes = 0;
|
|
177
|
+
totals.closed = 0;
|
|
178
|
+
openListener = null;
|
|
179
|
+
}
|
|
180
|
+
//# sourceMappingURL=input-circuit-breaker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"input-circuit-breaker.js","sourceRoot":"","sources":["../../../../../../backend/src/services/session/input-circuit-breaker.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Known input-box screens the input guard must keep reading right — run by
|
|
3
|
+
* the release input-guard check (`npm run check:input-guard` /
|
|
4
|
+
* `crewly doctor --input-guard`) against the NEW build's classifier,
|
|
5
|
+
* alongside the live agent screens.
|
|
6
|
+
*
|
|
7
|
+
* The views are rendered from the recorded Claude Code 2.1.288 frames in
|
|
8
|
+
* `__fixtures__/tui/claude-code-2.1.288/` (the same bytes the unit tests
|
|
9
|
+
* replay), kept here as plain screen rows because the `.ansi` fixtures are
|
|
10
|
+
* not part of a build. The split-paste frames reproduce the screen of
|
|
11
|
+
* crewly#1028 (ce-vera, Claude Code 2.1.288/289): one harness paste that
|
|
12
|
+
* Claude Code showed as two markers on one line,
|
|
13
|
+
* `❯ [Pasted text #3 +7 lines][Pasted text #4 +6 lines]`, idle and mid-turn.
|
|
14
|
+
*
|
|
15
|
+
* @module services/session/input-guard-known-screens
|
|
16
|
+
*/
|
|
17
|
+
import type { TuiInputStage, TuiInputState, TuiInputView } from './tui-input-guard.js';
|
|
18
|
+
/** One known screen and how the guard must read it. */
|
|
19
|
+
export interface KnownInputScreen {
|
|
20
|
+
/** Short name (reported as `fixture:<name>`) */
|
|
21
|
+
name: string;
|
|
22
|
+
/** Runtime and version the frame was recorded from */
|
|
23
|
+
runtime: string;
|
|
24
|
+
view: TuiInputView;
|
|
25
|
+
/** The message being delivered (or '' for none) */
|
|
26
|
+
message: string;
|
|
27
|
+
stage: TuiInputStage;
|
|
28
|
+
/** Harness pastes since the last outside input (the input ledger), oldest first */
|
|
29
|
+
pastes: string[];
|
|
30
|
+
/** The reading the guard must give */
|
|
31
|
+
expect: TuiInputState;
|
|
32
|
+
/** Why this screen matters */
|
|
33
|
+
why: string;
|
|
34
|
+
}
|
|
35
|
+
/** A 15-line brief (14 line breaks), like the CE-93 brief of crewly#1028. */
|
|
36
|
+
export declare const SPLIT_BRIEF: string;
|
|
37
|
+
/** A 5-line message (4 line breaks). */
|
|
38
|
+
export declare const FIVE_LINES: string;
|
|
39
|
+
/** The screens, in report order. */
|
|
40
|
+
export declare const KNOWN_INPUT_SCREENS: readonly KnownInputScreen[];
|
|
41
|
+
//# sourceMappingURL=input-guard-known-screens.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"input-guard-known-screens.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/session/input-guard-known-screens.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEvF,uDAAuD;AACvD,MAAM,WAAW,gBAAgB;IAChC,gDAAgD;IAChD,IAAI,EAAE,MAAM,CAAC;IACb,sDAAsD;IACtD,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,YAAY,CAAC;IACnB,mDAAmD;IACnD,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,aAAa,CAAC;IACrB,mFAAmF;IACnF,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,sCAAsC;IACtC,MAAM,EAAE,aAAa,CAAC;IACtB,8BAA8B;IAC9B,GAAG,EAAE,MAAM,CAAC;CACZ;AAED,6EAA6E;AAC7E,eAAO,MAAM,WAAW,QAgBZ,CAAC;AAEb,wCAAwC;AACxC,eAAO,MAAM,UAAU,QAAsF,CAAC;AA0E9G,oCAAoC;AACpC,eAAO,MAAM,mBAAmB,EAAE,SAAS,gBAAgB,EA6D1D,CAAC"}
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Known input-box screens the input guard must keep reading right — run by
|
|
3
|
+
* the release input-guard check (`npm run check:input-guard` /
|
|
4
|
+
* `crewly doctor --input-guard`) against the NEW build's classifier,
|
|
5
|
+
* alongside the live agent screens.
|
|
6
|
+
*
|
|
7
|
+
* The views are rendered from the recorded Claude Code 2.1.288 frames in
|
|
8
|
+
* `__fixtures__/tui/claude-code-2.1.288/` (the same bytes the unit tests
|
|
9
|
+
* replay), kept here as plain screen rows because the `.ansi` fixtures are
|
|
10
|
+
* not part of a build. The split-paste frames reproduce the screen of
|
|
11
|
+
* crewly#1028 (ce-vera, Claude Code 2.1.288/289): one harness paste that
|
|
12
|
+
* Claude Code showed as two markers on one line,
|
|
13
|
+
* `❯ [Pasted text #3 +7 lines][Pasted text #4 +6 lines]`, idle and mid-turn.
|
|
14
|
+
*
|
|
15
|
+
* @module services/session/input-guard-known-screens
|
|
16
|
+
*/
|
|
17
|
+
/** A 15-line brief (14 line breaks), like the CE-93 brief of crewly#1028. */
|
|
18
|
+
export const SPLIT_BRIEF = [
|
|
19
|
+
'[TASK] CE-93: brand preview page',
|
|
20
|
+
'',
|
|
21
|
+
'## Goal',
|
|
22
|
+
'Ship the brand preview page behind /preview-brand.',
|
|
23
|
+
'',
|
|
24
|
+
'## Steps',
|
|
25
|
+
'1. Read the design notes.',
|
|
26
|
+
'2. Build the page.',
|
|
27
|
+
'3. Add the locale paths.',
|
|
28
|
+
'4. Run the tests.',
|
|
29
|
+
'',
|
|
30
|
+
'## Done when',
|
|
31
|
+
'- the page renders in both locales',
|
|
32
|
+
'- the ticket has a screenshot',
|
|
33
|
+
'Reply with report-status when done.',
|
|
34
|
+
].join('\n');
|
|
35
|
+
/** A 5-line message (4 line breaks). */
|
|
36
|
+
export const FIVE_LINES = ['M1-MARK line one', 'line two', 'line three', 'line four', 'line five'].join('\n');
|
|
37
|
+
/** `labelled-rule-empty.ansi` */
|
|
38
|
+
const LABELLED_EMPTY = {
|
|
39
|
+
lines: [
|
|
40
|
+
' ▐▛███▛█ Claude Code v2.1.288',
|
|
41
|
+
'▝▜██████▀ Opus 5.5 · Claude Max',
|
|
42
|
+
' ▝▝ ▝▝ @fixture-agent · /…/7573773a-4098-43b3-a9f9-af36146453a7/scratchpad/cap2/cc',
|
|
43
|
+
'',
|
|
44
|
+
'',
|
|
45
|
+
'──────────────────────────────────────────────────────────────────────────────────── fixture-agent ─',
|
|
46
|
+
'❯',
|
|
47
|
+
'────────────────────────────────────────────────────────────────────────────────────────────────────',
|
|
48
|
+
' ⏵⏵ auto mode on (shift+tab to cycle) · ← for agents ◐ medium · /effort',
|
|
49
|
+
],
|
|
50
|
+
cursorRow: 6,
|
|
51
|
+
};
|
|
52
|
+
/** `labelled-rule-pasted-marker.ansi` */
|
|
53
|
+
const LABELLED_ONE_MARKER = {
|
|
54
|
+
lines: [
|
|
55
|
+
' ▐▛███▛█ Claude Code v2.1.288',
|
|
56
|
+
'▝▜██████▀ Opus 5.5 · Claude Max',
|
|
57
|
+
' ▝▝ ▝▝ @fixture-agent · /…/7573773a-4098-43b3-a9f9-af36146453a7/scratchpad/cap2/cc',
|
|
58
|
+
'',
|
|
59
|
+
'',
|
|
60
|
+
'──────────────────────────────────────────────────────────────────────────────────── fixture-agent ─',
|
|
61
|
+
'❯\u00a0[Pasted text #1 +4 lines]',
|
|
62
|
+
'────────────────────────────────────────────────────────────────────────────────────────────────────',
|
|
63
|
+
' paste again to expand ◐ medium · /effort',
|
|
64
|
+
],
|
|
65
|
+
cursorRow: 6,
|
|
66
|
+
};
|
|
67
|
+
/** `split-paste-two-markers.ansi` */
|
|
68
|
+
const SPLIT_TWO_MARKERS = {
|
|
69
|
+
lines: [
|
|
70
|
+
' ▐▛███▛█ Claude Code v2.1.288',
|
|
71
|
+
'▝▜██████▀ Opus 5.5 · Claude Max',
|
|
72
|
+
' ▝▝ ▝▝ @fixture-agent · /…/7573773a-4098-43b3-a9f9-af36146453a7/scratchpad/cap2/cc',
|
|
73
|
+
'',
|
|
74
|
+
'',
|
|
75
|
+
'──────────────────────────────────────────────────────────────────────────────────── fixture-agent ─',
|
|
76
|
+
'❯\u00a0[Pasted text #3 +7 lines][Pasted text #4 +6 lines]',
|
|
77
|
+
'────────────────────────────────────────────────────────────────────────────────────────────────────',
|
|
78
|
+
' paste again to expand ◐ medium · /effort',
|
|
79
|
+
],
|
|
80
|
+
cursorRow: 6,
|
|
81
|
+
};
|
|
82
|
+
/** `busy-split-paste-two-markers.ansi` */
|
|
83
|
+
const BUSY_SPLIT_TWO_MARKERS = {
|
|
84
|
+
lines: [
|
|
85
|
+
' ▐▛███▛█ Claude Code v2.1.288',
|
|
86
|
+
'▝▜██████▀ Opus 5.5 · Claude Max',
|
|
87
|
+
' ▝▝ ▝▝ @fixture-agent · /…/7573773a-4098-43b3-a9f9-af36146453a7/scratchpad/cap2/cc',
|
|
88
|
+
'',
|
|
89
|
+
'',
|
|
90
|
+
'❯ M1-MARK line one',
|
|
91
|
+
' line two',
|
|
92
|
+
' line three',
|
|
93
|
+
' line four',
|
|
94
|
+
' line five',
|
|
95
|
+
'',
|
|
96
|
+
'✳ Flambéing…',
|
|
97
|
+
'',
|
|
98
|
+
'──────────────────────────────────────────────────────────────────────────────────── fixture-agent ─',
|
|
99
|
+
'❯\u00a0[Pasted text #4 +7 lines][Pasted text #5 +6 lines]',
|
|
100
|
+
'────────────────────────────────────────────────────────────────────────────────────────────────────',
|
|
101
|
+
' paste again to expand',
|
|
102
|
+
],
|
|
103
|
+
cursorRow: 14,
|
|
104
|
+
};
|
|
105
|
+
/** The screens, in report order. */
|
|
106
|
+
export const KNOWN_INPUT_SCREENS = [
|
|
107
|
+
{
|
|
108
|
+
name: 'labelled-empty',
|
|
109
|
+
runtime: 'claude-code-2.1.288',
|
|
110
|
+
view: LABELLED_EMPTY,
|
|
111
|
+
message: SPLIT_BRIEF,
|
|
112
|
+
stage: 'before-write',
|
|
113
|
+
pastes: [],
|
|
114
|
+
expect: 'empty',
|
|
115
|
+
why: 'an empty box under a labelled top rule reads empty',
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
name: 'own-single-marker',
|
|
119
|
+
runtime: 'claude-code-2.1.288',
|
|
120
|
+
view: LABELLED_ONE_MARKER,
|
|
121
|
+
message: '',
|
|
122
|
+
stage: 'recovery',
|
|
123
|
+
pastes: [FIVE_LINES],
|
|
124
|
+
expect: 'ours',
|
|
125
|
+
why: 'our own collapsed paste ("[Pasted text #1 +4 lines]") is ours',
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
name: 'own-split-paste',
|
|
129
|
+
runtime: 'claude-code-2.1.288',
|
|
130
|
+
view: SPLIT_TWO_MARKERS,
|
|
131
|
+
message: '',
|
|
132
|
+
stage: 'recovery',
|
|
133
|
+
pastes: [SPLIT_BRIEF],
|
|
134
|
+
expect: 'ours',
|
|
135
|
+
why: 'crewly#1028: one paste of ours shown as two markers is ours (Enter, not a redelivery storm)',
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
name: 'own-split-paste-busy',
|
|
139
|
+
runtime: 'claude-code-2.1.288',
|
|
140
|
+
view: BUSY_SPLIT_TWO_MARKERS,
|
|
141
|
+
message: '',
|
|
142
|
+
stage: 'recovery',
|
|
143
|
+
pastes: [SPLIT_BRIEF],
|
|
144
|
+
expect: 'ours',
|
|
145
|
+
why: 'crewly#1028 mid-turn: the split paste stays ours while the agent works',
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
name: 'owner-split-paste',
|
|
149
|
+
runtime: 'claude-code-2.1.288',
|
|
150
|
+
view: SPLIT_TWO_MARKERS,
|
|
151
|
+
message: SPLIT_BRIEF,
|
|
152
|
+
stage: 'before-write',
|
|
153
|
+
pastes: [],
|
|
154
|
+
expect: 'foreign',
|
|
155
|
+
why: 'the same markers with no paste of ours on record (the owner pasted) are never ours',
|
|
156
|
+
},
|
|
157
|
+
{
|
|
158
|
+
name: 'split-paste-wrong-shape',
|
|
159
|
+
runtime: 'claude-code-2.1.288',
|
|
160
|
+
view: SPLIT_TWO_MARKERS,
|
|
161
|
+
message: '',
|
|
162
|
+
stage: 'recovery',
|
|
163
|
+
pastes: [FIVE_LINES],
|
|
164
|
+
expect: 'foreign',
|
|
165
|
+
why: 'markers that do not add up to any paste of ours are not ours',
|
|
166
|
+
},
|
|
167
|
+
];
|
|
168
|
+
//# sourceMappingURL=input-guard-known-screens.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"input-guard-known-screens.js","sourceRoot":"","sources":["../../../../../../backend/src/services/session/input-guard-known-screens.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,7 +18,8 @@
|
|
|
18
18
|
* Other harness writes (OAuth relogin, runtime-terms answers, `/clear`) are
|
|
19
19
|
* submitted at once and leave nothing in the box; they are neither.
|
|
20
20
|
*
|
|
21
|
-
* Module-level and dependency-free
|
|
21
|
+
* Module-level and nearly dependency-free (only the input circuit breaker,
|
|
22
|
+
* itself dependency-free) so the gateway, controllers and the
|
|
22
23
|
* session helper can share it without import cycles. In memory: a restart
|
|
23
24
|
* recreates every session, which starts a new ledger.
|
|
24
25
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"input-ledger.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/session/input-ledger.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"input-ledger.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/session/input-ledger.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAIH,yBAAyB;AACzB,MAAM,WAAW,YAAY;IAC5B,yBAAyB;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,4BAA4B;IAC5B,EAAE,EAAE,MAAM,CAAC;CACX;AAcD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,GAAE,MAAmB,GAAG,IAAI,CAKpG;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,GAAE,MAAmB,GAAG,IAAI,CAOnF;AAED;;;;;GAKG;AACH,wBAAgB,8BAA8B,CAAC,WAAW,EAAE,MAAM,GAAG,YAAY,EAAE,CAElF;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAE1E;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,YAAY,KAAK,OAAO,GAAG,IAAI,CAI/F;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAK1F;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,KAAK,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAE5F;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,KAAK,OAAO,GAAG,IAAI,CAGrH;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAE3D;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,IAAI,MAAM,EAAE,CAEpD;AAED,kCAAkC;AAClC,wBAAgB,0BAA0B,IAAI,IAAI,CAEjD"}
|