githubnext/chopinPublic

Let's compose rich plans together

Activate Jev conversation decisions and shared document controls #265

MergedMaggieAppletonmerged 1 commit intomainfromrefs/pull/265/head
ConversationFiles changed
179 files changed+16428-1086
StackedSplit
apps/server/src/agent/revise-open-decision-4.test.ts+3 −4
apps/server/src/conversation-plan/accepted-research-close.test.ts+76 −0
apps/server/src/conversation-plan/accepted-research-commit.test.ts+63 −0
apps/server/src/conversation-plan/accepted-research-gates.test.ts+79 −0
apps/server/src/conversation-plan/accepted-research-memory.test.ts+80 −0
apps/server/src/conversation-plan/accepted-research-socket.test-fixtures.ts+41 −0
apps/server/src/conversation-plan/accepted-research.test-fixtures.ts+135 −0
apps/server/src/conversation-plan/accepted-research.ts+79 −0
apps/server/src/conversation-plan/command-correction-memory.test-fixtures.ts+66 −0
apps/server/src/conversation-plan/command-correction-memory.test.ts+118 −0
apps/server/src/conversation-plan/commands.ts+130 −0
apps/server/src/conversation-plan/research-commands.ts+108 −0
apps/server/src/conversation-plan/save-command.test.ts+180 −0
apps/server/src/conversation-plan/save-command.ts+59 −0
apps/server/src/conversation-plan/service-opening-memory.test-fixtures.ts+66 −0
apps/server/src/conversation-plan/service-opening-memory.test.ts+337 −0
apps/server/src/conversation-plan/service-opening-order-memory.test.ts+290 −0
apps/server/src/conversation-plan/service-opening.test.ts+236 −0
apps/server/src/conversation-plan/service-opening.ts+111 −0
apps/server/src/harness/tool-names.ts+1 −0
apps/server/src/main.ts+176 −40
apps/server/src/questions/backfill-implementation.test.ts+79 −0
apps/server/src/questions/backfill.test.ts+256 −0
apps/server/src/questions/backfill.ts+142 −0
apps/server/src/socket/authorization.test.ts+60 −0
apps/server/src/socket/authorization.ts+26 −0
apps/server/src/testing/card-gap-document.ts+25 −0
apps/web/package.json+1 −0
apps/web/src/chat/chat.tsx+34 −1
apps/web/src/chat/decision-entry.test.tsx+267 −0
apps/web/src/chat/decision-entry.tsx+222 −0
apps/web/src/chat/markdown.css+4 −0
apps/web/src/chat/model.test.ts+15 −0
apps/web/src/chat/model.ts+8 −2
apps/web/src/chat/research-offer-observer.test.ts+127 −0
apps/web/src/chat/research-offer-transcript.test.ts+73 −0
apps/web/src/chat/research-offer.test-fixtures.ts+68 −0
apps/web/src/chat/research-offer.test.ts+77 −0
apps/web/src/chat/research-offer.tsx+318 −0
apps/web/src/chat/scoped-choice-entry.test.tsx+156 −0
apps/web/src/chat/scoped-choice-entry.tsx+141 −0
apps/web/src/chat/transcript-decisions.test-fixtures.ts+214 −0
apps/web/src/chat/transcript-decisions.test.tsx+50 −0
apps/web/src/chat/transcript-scoped-choice.test.tsx+75 −0
apps/web/src/chat/transcript-source.test.tsx+54 −0
apps/web/src/chat/transcript.test.tsx+160 −0
apps/web/src/chat/transcript.tsx+239 −14
apps/web/src/conversation-plan/analysis-action.ts+8 −0
apps/web/src/conversation-plan/analysis-labels.ts+32 −0
apps/web/src/conversation-plan/analysis-overview.test.tsx+58 −0
apps/web/src/conversation-plan/analysis-overview.tsx+240 −0
apps/web/src/conversation-plan/announcements.test.ts+168 −0
apps/web/src/conversation-plan/announcements.ts+27 −0
apps/web/src/conversation-plan/card-parts.tsx+29 −0
apps/web/src/conversation-plan/evidence-popover.test.tsx+151 −0
apps/web/src/conversation-plan/evidence-popover.tsx+115 −0
apps/web/src/conversation-plan/evidence.test.ts+247 −0
apps/web/src/conversation-plan/evidence.ts+109 −0
apps/web/src/conversation-plan/excerpt-correction.tsx+226 −0
apps/web/src/conversation-plan/links.test.ts+179 −0
apps/web/src/conversation-plan/links.ts+97 −0
apps/web/src/conversation-plan/markers.test.tsx+181 −0
apps/web/src/conversation-plan/markers.tsx+356 −0
apps/web/src/conversation-plan/planner-job-diagnostics.tsx+80 −0
apps/web/src/conversation-plan/source.css+5 −0
apps/web/src/conversation-plan/source.ts+58 −0
apps/web/src/conversation-plan/store.test.ts+119 −0
apps/web/src/conversation-plan/store.ts+74 −0
apps/web/src/document-workspace-host.tsx+4 −4
apps/web/src/room-workspace.tsx+375 −83
apps/web/src/theme.css+20 −2
apps/web/src/tokens.test.ts+60 −31
apps/web/src/workspace-model.test.ts+6 −8
apps/web/src/workspace-model.ts+1 −1
apps/web/src/workspace.tsx+23 −26
bun.lock+1 −0
e2e/decision-marker.e2e.ts+13 −13
e2e/discarded-mobile-geometry.e2e.ts+36 −0
e2e/document-tab-stability.e2e.ts+75 −0
e2e/editing.e2e.ts+4 −1
e2e/github.ts+17 −0
e2e/playwright.config.ts+28 −0
e2e/research-child-recovery.e2e.ts+173 −3
e2e/research-child-surface.e2e.ts+8 −1
e2e/research-recovery-database.ts+176 −0
e2e/responsive-decisions.e2e.ts+9 −3
e2e/responsive-workspace.e2e.ts+164 −44
e2e/shell.e2e.ts+6 −6
e2e/sidecar-card-states.e2e.ts+344 −0
e2e/sidecar-document-spacing.e2e.ts+119 −0
e2e/sidecar-draft-reopen.e2e.ts+110 −0
e2e/sidecar-evidence-absence.e2e.ts+14 −0
e2e/sidecar-option-async.e2e.ts+179 −0
e2e/sidecar-option-contracts.e2e.ts+286 −0
e2e/sidecar-spacing-database.ts+60 −0
e2e/sidecar.e2e.ts+52 −27
e2e/smoke.e2e.ts+4 −1
packages/editor/src/card-meta.test.ts+110 −0
packages/editor/src/card-meta.ts+93 −0
packages/editor/src/comment-geometry.test.ts+26 −1
packages/editor/src/comment-geometry.ts+28 −0
packages/editor/src/decision-pin.test.ts+54 −0
packages/editor/src/decision-pin.ts+37 −0
packages/editor/src/decision-placement.ts+7 −0
packages/editor/src/decision-state.test.ts+158 −2
packages/editor/src/decision-state.ts+32 −3
packages/editor/src/decisions-metadata.test.tsx+73 −0
packages/editor/src/decisions.tsx+40 −10
packages/editor/src/evidence-geometry.test.ts+44 −0
packages/editor/src/evidence-geometry.ts+44 −0
packages/editor/src/index.ts+3 −0
packages/editor/src/marks.test.ts+112 −1
packages/editor/src/marks.ts+80 −25
packages/editor/src/plan-editor.tsx+23 −1
packages/editor/src/presence-faces.tsx+5 −2
packages/editor/src/provider.test.ts+79 −4
packages/editor/src/provider.ts+21 −7
packages/editor/src/questionnaires.test.ts+199 −2
packages/editor/src/questionnaires.ts+95 −9
packages/editor/src/resolved-actions.ts+114 −0
packages/editor/src/resolved-layer.tsx+189 −27
packages/editor/src/resolved-metadata.test.ts+49 −0
packages/editor/src/resolved.ts+29 −0
packages/editor/src/styles.css+80 −1
packages/editor/src/threads.ts+2 −2
packages/editor/src/widget-options.ts+6 −0
packages/editor/src/widgets-plugin.tsx+6 −0
packages/editor/src/widgets/card-gap.test.ts+38 −0
packages/editor/src/widgets/card-gap.tsx+76 −0
packages/editor/src/widgets/decision-deletion.tsx+148 −0
packages/editor/src/widgets/decorator-selection.test.ts+38 −2
packages/editor/src/widgets/decorator-selection.tsx+3 −2
packages/editor/src/widgets/discarded-navigation-boundary.ts+27 −0
packages/editor/src/widgets/discarded-navigation.test.ts+63 −0
packages/editor/src/widgets/discarded-navigation.tsx+157 −0
packages/editor/src/widgets/evidence-hover.tsx+216 −0
packages/editor/src/widgets/index.ts+3 −0
packages/editor/src/widgets/questionnaire-collapse-list.test.tsx+77 −0
packages/editor/src/widgets/questionnaire-collapse-presence.test.tsx+58 −0
packages/editor/src/widgets/questionnaire-collapse-settled.test.tsx+73 −0
packages/editor/src/widgets/questionnaire-lifecycle.test.tsx+86 −0
packages/editor/src/widgets/questionnaire-metadata.test-fixtures.ts+28 −0
packages/editor/src/widgets/questionnaire-metadata.test.tsx+115 −0
packages/editor/src/widgets/questionnaire-people.test.tsx+36 −0
packages/editor/src/widgets/questionnaire-presentation.test.tsx+40 −0
packages/editor/src/widgets/questionnaire-previous.test.tsx+30 −0
packages/editor/src/widgets/questionnaire-source.test.tsx+36 −0
packages/editor/src/widgets/questionnaire-terminal-semantics.test.tsx+54 −0
packages/editor/src/widgets/questionnaire.tsx+288 −16
packages/icons/src/line.tsx+9 −10
packages/question/src/react/add-option.test.ts+63 −0
packages/question/src/react/index.ts+8 −0
packages/question/src/react/open-discard-compatibility.test.ts+29 −0
packages/question/src/react/open-discard.test.ts+25 −0
packages/question/src/react/previous-answer.test.ts+43 −0
packages/question/src/react/project-suggestion.test.ts+128 −0
packages/question/src/react/project-suggestion.ts+93 −0
packages/question/src/react/question-view-projection.test.ts+106 −0
packages/question/src/react/question-view-retained-contracts.test.ts+117 −0
packages/question/src/react/question-view-terminal-origin.test.ts+112 −0
packages/question/src/react/question-view.test-fixtures.ts+14 −0
packages/question/src/react/question-view.tsx+185 −60
packages/question/src/react/questionnaire-controller.ts+600 −0
packages/question/src/react/questionnaire-types.ts+43 −0
packages/question/src/react/refining.test.ts+16 −0
packages/question/src/react/resolved-actions.test.ts+84 −0
packages/question/src/react/resolved-actions.tsx+75 −0
packages/question/src/react/use-questionnaire-cancel.test.ts+68 −0
packages/question/src/react/use-questionnaire-definition.test.ts+103 −0
packages/question/src/react/use-questionnaire-lifecycle.test.ts+83 −0
packages/question/src/react/use-questionnaire-option-growth.test.ts+139 −0
packages/question/src/react/use-questionnaire-refresh-save.test.ts+133 −0
packages/question/src/react/use-questionnaire-save.test.ts+136 −0
packages/question/src/react/use-questionnaire.test-fixtures.ts+116 −0
packages/question/src/react/use-questionnaire.test.ts+12 −14
packages/question/src/react/use-questionnaire.ts+17 −520
scripts/design-contract/exceptions/dynamic-editor.json+51 −37
scripts/design-contract/exceptions/dynamic-packages.json+24 −10
scripts/design-contract/exceptions/dynamic-web.json+17 −3