@flanksource/clicky-ui 0.3.40 → 0.3.42
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/README.md +24 -0
- package/dist/ai.cjs +14 -0
- package/dist/ai.cjs.map +1 -1
- package/dist/ai.js +14 -0
- package/dist/ai.js.map +1 -1
- package/dist/comments/CommentCard.cjs +3 -1
- package/dist/comments/CommentCard.cjs.map +1 -1
- package/dist/comments/CommentCard.d.ts.map +1 -1
- package/dist/comments/CommentCard.js +4 -2
- package/dist/comments/CommentCard.js.map +1 -1
- package/dist/comments/CommentCardParts.cjs +16 -0
- package/dist/comments/CommentCardParts.cjs.map +1 -1
- package/dist/comments/CommentCardParts.d.ts +4 -1
- package/dist/comments/CommentCardParts.d.ts.map +1 -1
- package/dist/comments/CommentCardParts.js +16 -0
- package/dist/comments/CommentCardParts.js.map +1 -1
- package/dist/comments/comment-types.cjs.map +1 -1
- package/dist/comments/comment-types.d.ts +4 -0
- package/dist/comments/comment-types.d.ts.map +1 -1
- package/dist/comments/comment-types.js.map +1 -1
- package/dist/components/AccordionList.cjs +5 -1
- package/dist/components/AccordionList.cjs.map +1 -1
- package/dist/components/AccordionList.d.ts +3 -1
- package/dist/components/AccordionList.d.ts.map +1 -1
- package/dist/components/AccordionList.js +5 -1
- package/dist/components/AccordionList.js.map +1 -1
- package/dist/components/Combobox.cjs +54 -8
- package/dist/components/Combobox.cjs.map +1 -1
- package/dist/components/Combobox.d.ts.map +1 -1
- package/dist/components/Combobox.js +56 -10
- package/dist/components/Combobox.js.map +1 -1
- package/dist/components/ComboboxMenu.cjs +139 -113
- package/dist/components/ComboboxMenu.cjs.map +1 -1
- package/dist/components/ComboboxMenu.d.ts +3 -1
- package/dist/components/ComboboxMenu.d.ts.map +1 -1
- package/dist/components/ComboboxMenu.js +139 -113
- package/dist/components/ComboboxMenu.js.map +1 -1
- package/dist/components/ComboboxMenuTrigger.cjs +87 -0
- package/dist/components/ComboboxMenuTrigger.cjs.map +1 -0
- package/dist/components/ComboboxMenuTrigger.d.ts +23 -0
- package/dist/components/ComboboxMenuTrigger.d.ts.map +1 -0
- package/dist/components/ComboboxMenuTrigger.js +87 -0
- package/dist/components/ComboboxMenuTrigger.js.map +1 -0
- package/dist/components/JsonSchemaForm.cjs +39 -11
- package/dist/components/JsonSchemaForm.cjs.map +1 -1
- package/dist/components/JsonSchemaForm.d.ts +1 -1
- package/dist/components/JsonSchemaForm.d.ts.map +1 -1
- package/dist/components/JsonSchemaForm.js +38 -10
- package/dist/components/JsonSchemaForm.js.map +1 -1
- package/dist/components/SegmentedControl.cjs +20 -3
- package/dist/components/SegmentedControl.cjs.map +1 -1
- package/dist/components/SegmentedControl.d.ts +11 -0
- package/dist/components/SegmentedControl.d.ts.map +1 -1
- package/dist/components/SegmentedControl.js +21 -4
- package/dist/components/SegmentedControl.js.map +1 -1
- package/dist/components/combobox-types.d.ts +8 -0
- package/dist/components/combobox-types.d.ts.map +1 -1
- package/dist/components/json-schema-form-accordion-array.cjs +3 -1
- package/dist/components/json-schema-form-accordion-array.cjs.map +1 -1
- package/dist/components/json-schema-form-accordion-array.d.ts +4 -1
- package/dist/components/json-schema-form-accordion-array.d.ts.map +1 -1
- package/dist/components/json-schema-form-accordion-array.js +3 -1
- package/dist/components/json-schema-form-accordion-array.js.map +1 -1
- package/dist/components/json-schema-form-array-view.cjs +63 -0
- package/dist/components/json-schema-form-array-view.cjs.map +1 -0
- package/dist/components/json-schema-form-array-view.d.ts +21 -0
- package/dist/components/json-schema-form-array-view.d.ts.map +1 -0
- package/dist/components/json-schema-form-array-view.js +63 -0
- package/dist/components/json-schema-form-array-view.js.map +1 -0
- package/dist/components/json-schema-form-array.cjs +3 -7
- package/dist/components/json-schema-form-array.cjs.map +1 -1
- package/dist/components/json-schema-form-array.d.ts.map +1 -1
- package/dist/components/json-schema-form-array.js +3 -7
- package/dist/components/json-schema-form-array.js.map +1 -1
- package/dist/components/json-schema-form-conditionals.cjs +67 -0
- package/dist/components/json-schema-form-conditionals.cjs.map +1 -0
- package/dist/components/json-schema-form-conditionals.d.ts +9 -0
- package/dist/components/json-schema-form-conditionals.d.ts.map +1 -0
- package/dist/components/json-schema-form-conditionals.js +67 -0
- package/dist/components/json-schema-form-conditionals.js.map +1 -0
- package/dist/components/json-schema-form-debug-badge.cjs +108 -0
- package/dist/components/json-schema-form-debug-badge.cjs.map +1 -0
- package/dist/components/json-schema-form-debug-badge.d.ts +10 -0
- package/dist/components/json-schema-form-debug-badge.d.ts.map +1 -0
- package/dist/components/json-schema-form-debug-badge.js +108 -0
- package/dist/components/json-schema-form-debug-badge.js.map +1 -0
- package/dist/components/json-schema-form-debug-glyph-map.cjs +129 -0
- package/dist/components/json-schema-form-debug-glyph-map.cjs.map +1 -0
- package/dist/components/json-schema-form-debug-glyph-map.d.ts +20 -0
- package/dist/components/json-schema-form-debug-glyph-map.d.ts.map +1 -0
- package/dist/components/json-schema-form-debug-glyph-map.js +129 -0
- package/dist/components/json-schema-form-debug-glyph-map.js.map +1 -0
- package/dist/components/json-schema-form-debug-glyph.cjs +13 -0
- package/dist/components/json-schema-form-debug-glyph.cjs.map +1 -0
- package/dist/components/json-schema-form-debug-glyph.d.ts +6 -0
- package/dist/components/json-schema-form-debug-glyph.d.ts.map +1 -0
- package/dist/components/json-schema-form-debug-glyph.js +13 -0
- package/dist/components/json-schema-form-debug-glyph.js.map +1 -0
- package/dist/components/json-schema-form-debug-groups.cjs +56 -0
- package/dist/components/json-schema-form-debug-groups.cjs.map +1 -0
- package/dist/components/json-schema-form-debug-groups.d.ts +8 -0
- package/dist/components/json-schema-form-debug-groups.d.ts.map +1 -0
- package/dist/components/json-schema-form-debug-groups.js +56 -0
- package/dist/components/json-schema-form-debug-groups.js.map +1 -0
- package/dist/components/json-schema-form-debug-keywords.cjs +159 -0
- package/dist/components/json-schema-form-debug-keywords.cjs.map +1 -0
- package/dist/components/json-schema-form-debug-keywords.d.ts +6 -0
- package/dist/components/json-schema-form-debug-keywords.d.ts.map +1 -0
- package/dist/components/json-schema-form-debug-keywords.js +159 -0
- package/dist/components/json-schema-form-debug-keywords.js.map +1 -0
- package/dist/components/json-schema-form-debug-listeners.cjs +102 -0
- package/dist/components/json-schema-form-debug-listeners.cjs.map +1 -0
- package/dist/components/json-schema-form-debug-listeners.d.ts +6 -0
- package/dist/components/json-schema-form-debug-listeners.d.ts.map +1 -0
- package/dist/components/json-schema-form-debug-listeners.js +102 -0
- package/dist/components/json-schema-form-debug-listeners.js.map +1 -0
- package/dist/components/json-schema-form-debug.cjs +31 -0
- package/dist/components/json-schema-form-debug.cjs.map +1 -0
- package/dist/components/json-schema-form-debug.d.ts +11 -0
- package/dist/components/json-schema-form-debug.d.ts.map +1 -0
- package/dist/components/json-schema-form-debug.js +31 -0
- package/dist/components/json-schema-form-debug.js.map +1 -0
- package/dist/components/json-schema-form-defaults.cjs +68 -0
- package/dist/components/json-schema-form-defaults.cjs.map +1 -0
- package/dist/components/json-schema-form-defaults.d.ts +4 -0
- package/dist/components/json-schema-form-defaults.d.ts.map +1 -0
- package/dist/components/json-schema-form-defaults.js +68 -0
- package/dist/components/json-schema-form-defaults.js.map +1 -0
- package/dist/components/json-schema-form-enum-choice.cjs +114 -0
- package/dist/components/json-schema-form-enum-choice.cjs.map +1 -0
- package/dist/components/json-schema-form-enum-choice.d.ts +14 -0
- package/dist/components/json-schema-form-enum-choice.d.ts.map +1 -0
- package/dist/components/json-schema-form-enum-choice.js +114 -0
- package/dist/components/json-schema-form-enum-choice.js.map +1 -0
- package/dist/components/json-schema-form-errors.cjs +49 -31
- package/dist/components/json-schema-form-errors.cjs.map +1 -1
- package/dist/components/json-schema-form-errors.d.ts +4 -2
- package/dist/components/json-schema-form-errors.d.ts.map +1 -1
- package/dist/components/json-schema-form-errors.js +51 -33
- package/dist/components/json-schema-form-errors.js.map +1 -1
- package/dist/components/json-schema-form-fields.cjs +3 -93
- package/dist/components/json-schema-form-fields.cjs.map +1 -1
- package/dist/components/json-schema-form-fields.d.ts.map +1 -1
- package/dist/components/json-schema-form-fields.js +1 -91
- package/dist/components/json-schema-form-fields.js.map +1 -1
- package/dist/components/json-schema-form-filter.cjs +2 -1
- package/dist/components/json-schema-form-filter.cjs.map +1 -1
- package/dist/components/json-schema-form-filter.js +2 -1
- package/dist/components/json-schema-form-filter.js.map +1 -1
- package/dist/components/json-schema-form-item-summary.cjs +6 -2
- package/dist/components/json-schema-form-item-summary.cjs.map +1 -1
- package/dist/components/json-schema-form-item-summary.d.ts.map +1 -1
- package/dist/components/json-schema-form-item-summary.js +6 -2
- package/dist/components/json-schema-form-item-summary.js.map +1 -1
- package/dist/components/json-schema-form-layout.cjs +28 -19
- package/dist/components/json-schema-form-layout.cjs.map +1 -1
- package/dist/components/json-schema-form-layout.d.ts +8 -6
- package/dist/components/json-schema-form-layout.d.ts.map +1 -1
- package/dist/components/json-schema-form-layout.js +29 -20
- package/dist/components/json-schema-form-layout.js.map +1 -1
- package/dist/components/json-schema-form-listener-paths.cjs +52 -0
- package/dist/components/json-schema-form-listener-paths.cjs.map +1 -0
- package/dist/components/json-schema-form-listener-paths.d.ts +10 -0
- package/dist/components/json-schema-form-listener-paths.d.ts.map +1 -0
- package/dist/components/json-schema-form-listener-paths.js +52 -0
- package/dist/components/json-schema-form-listener-paths.js.map +1 -0
- package/dist/components/json-schema-form-listener-types.d.ts +22 -0
- package/dist/components/json-schema-form-listener-types.d.ts.map +1 -0
- package/dist/components/json-schema-form-listeners.cjs +256 -0
- package/dist/components/json-schema-form-listeners.cjs.map +1 -0
- package/dist/components/json-schema-form-listeners.d.ts +13 -0
- package/dist/components/json-schema-form-listeners.d.ts.map +1 -0
- package/dist/components/json-schema-form-listeners.js +256 -0
- package/dist/components/json-schema-form-listeners.js.map +1 -0
- package/dist/components/json-schema-form-object-array-view.cjs +62 -0
- package/dist/components/json-schema-form-object-array-view.cjs.map +1 -0
- package/dist/components/json-schema-form-object-array-view.d.ts +14 -0
- package/dist/components/json-schema-form-object-array-view.d.ts.map +1 -0
- package/dist/components/json-schema-form-object-array-view.js +62 -0
- package/dist/components/json-schema-form-object-array-view.js.map +1 -0
- package/dist/components/json-schema-form-object.cjs +3 -0
- package/dist/components/json-schema-form-object.cjs.map +1 -1
- package/dist/components/json-schema-form-object.d.ts.map +1 -1
- package/dist/components/json-schema-form-object.js +3 -0
- package/dist/components/json-schema-form-object.js.map +1 -1
- package/dist/components/json-schema-form-preferences.cjs +1 -0
- package/dist/components/json-schema-form-preferences.cjs.map +1 -1
- package/dist/components/json-schema-form-preferences.d.ts +1 -0
- package/dist/components/json-schema-form-preferences.d.ts.map +1 -1
- package/dist/components/json-schema-form-preferences.js +1 -0
- package/dist/components/json-schema-form-preferences.js.map +1 -1
- package/dist/components/json-schema-form-render.cjs +36 -12
- package/dist/components/json-schema-form-render.cjs.map +1 -1
- package/dist/components/json-schema-form-render.d.ts.map +1 -1
- package/dist/components/json-schema-form-render.js +38 -14
- package/dist/components/json-schema-form-render.js.map +1 -1
- package/dist/components/json-schema-form-resolve.cjs +6 -99
- package/dist/components/json-schema-form-resolve.cjs.map +1 -1
- package/dist/components/json-schema-form-resolve.d.ts +1 -8
- package/dist/components/json-schema-form-resolve.d.ts.map +1 -1
- package/dist/components/json-schema-form-resolve.js +5 -98
- package/dist/components/json-schema-form-resolve.js.map +1 -1
- package/dist/components/json-schema-form-runtime-types.d.ts +16 -0
- package/dist/components/json-schema-form-runtime-types.d.ts.map +1 -1
- package/dist/components/json-schema-form-table-array.cjs +67 -16
- package/dist/components/json-schema-form-table-array.cjs.map +1 -1
- package/dist/components/json-schema-form-table-array.d.ts +4 -1
- package/dist/components/json-schema-form-table-array.d.ts.map +1 -1
- package/dist/components/json-schema-form-table-array.js +70 -19
- package/dist/components/json-schema-form-table-array.js.map +1 -1
- package/dist/components/json-schema-form-tone.cjs +12 -0
- package/dist/components/json-schema-form-tone.cjs.map +1 -1
- package/dist/components/json-schema-form-tone.js +12 -0
- package/dist/components/json-schema-form-tone.js.map +1 -1
- package/dist/components/json-schema-form-types.d.ts +17 -0
- package/dist/components/json-schema-form-types.d.ts.map +1 -1
- package/dist/components/json-schema-form-utils.cjs +7 -1
- package/dist/components/json-schema-form-utils.cjs.map +1 -1
- package/dist/components/json-schema-form-utils.d.ts +2 -1
- package/dist/components/json-schema-form-utils.d.ts.map +1 -1
- package/dist/components/json-schema-form-utils.js +7 -1
- package/dist/components/json-schema-form-utils.js.map +1 -1
- package/dist/components.cjs +3 -2
- package/dist/components.cjs.map +1 -1
- package/dist/components.d.ts +3 -2
- package/dist/components.d.ts.map +1 -1
- package/dist/components.js +2 -1
- package/dist/components.js.map +1 -1
- package/dist/data/DataTable.cjs +9 -3
- package/dist/data/DataTable.cjs.map +1 -1
- package/dist/data/DataTable.d.ts +6 -0
- package/dist/data/DataTable.d.ts.map +1 -1
- package/dist/data/DataTable.js +9 -3
- package/dist/data/DataTable.js.map +1 -1
- package/dist/data/FixtureEditor/FixtureEditor.cjs +43 -24
- package/dist/data/FixtureEditor/FixtureEditor.cjs.map +1 -1
- package/dist/data/FixtureEditor/FixtureEditor.d.ts.map +1 -1
- package/dist/data/FixtureEditor/FixtureEditor.js +43 -24
- package/dist/data/FixtureEditor/FixtureEditor.js.map +1 -1
- package/dist/data/GraphDiagram.cjs +125 -138
- package/dist/data/GraphDiagram.cjs.map +1 -1
- package/dist/data/GraphDiagram.d.ts +30 -23
- package/dist/data/GraphDiagram.d.ts.map +1 -1
- package/dist/data/GraphDiagram.js +128 -141
- package/dist/data/GraphDiagram.js.map +1 -1
- package/dist/data/GraphDiagramEdges.cjs +208 -0
- package/dist/data/GraphDiagramEdges.cjs.map +1 -0
- package/dist/data/GraphDiagramEdges.d.ts +40 -0
- package/dist/data/GraphDiagramEdges.d.ts.map +1 -0
- package/dist/data/GraphDiagramEdges.js +208 -0
- package/dist/data/GraphDiagramEdges.js.map +1 -0
- package/dist/data/GraphDiagramNodes.cjs +142 -0
- package/dist/data/GraphDiagramNodes.cjs.map +1 -0
- package/dist/data/GraphDiagramNodes.d.ts +22 -0
- package/dist/data/GraphDiagramNodes.d.ts.map +1 -0
- package/dist/data/GraphDiagramNodes.js +142 -0
- package/dist/data/GraphDiagramNodes.js.map +1 -0
- package/dist/data/Tree.cjs +10 -2
- package/dist/data/Tree.cjs.map +1 -1
- package/dist/data/Tree.d.ts +6 -1
- package/dist/data/Tree.d.ts.map +1 -1
- package/dist/data/Tree.js +10 -2
- package/dist/data/Tree.js.map +1 -1
- package/dist/data/ai/PromptRunEditor/RuntimeRows.cjs +8 -3
- package/dist/data/ai/PromptRunEditor/RuntimeRows.cjs.map +1 -1
- package/dist/data/ai/PromptRunEditor/RuntimeRows.d.ts.map +1 -1
- package/dist/data/ai/PromptRunEditor/RuntimeRows.js +8 -3
- package/dist/data/ai/PromptRunEditor/RuntimeRows.js.map +1 -1
- package/dist/data/ai/PromptRunEditor/index.cjs +37 -43
- package/dist/data/ai/PromptRunEditor/index.cjs.map +1 -1
- package/dist/data/ai/PromptRunEditor/index.d.ts +3 -1
- package/dist/data/ai/PromptRunEditor/index.d.ts.map +1 -1
- package/dist/data/ai/PromptRunEditor/index.js +38 -44
- package/dist/data/ai/PromptRunEditor/index.js.map +1 -1
- package/dist/data/ai/PromptRunEditor/runtimeActions.cjs +16 -5
- package/dist/data/ai/PromptRunEditor/runtimeActions.cjs.map +1 -1
- package/dist/data/ai/PromptRunEditor/runtimeActions.d.ts +4 -1
- package/dist/data/ai/PromptRunEditor/runtimeActions.d.ts.map +1 -1
- package/dist/data/ai/PromptRunEditor/runtimeActions.js +17 -6
- package/dist/data/ai/PromptRunEditor/runtimeActions.js.map +1 -1
- package/dist/data/ai/SessionInspector.approvals-model.cjs +12 -0
- package/dist/data/ai/SessionInspector.approvals-model.cjs.map +1 -1
- package/dist/data/ai/SessionInspector.approvals-model.d.ts +11 -2
- package/dist/data/ai/SessionInspector.approvals-model.d.ts.map +1 -1
- package/dist/data/ai/SessionInspector.approvals-model.js +12 -0
- package/dist/data/ai/SessionInspector.approvals-model.js.map +1 -1
- package/dist/data/ai/SessionInspector.approvals.cjs +25 -1
- package/dist/data/ai/SessionInspector.approvals.cjs.map +1 -1
- package/dist/data/ai/SessionInspector.approvals.d.ts.map +1 -1
- package/dist/data/ai/SessionInspector.approvals.js +26 -2
- package/dist/data/ai/SessionInspector.approvals.js.map +1 -1
- package/dist/data/ai/SessionInspector.cjs +143 -167
- package/dist/data/ai/SessionInspector.cjs.map +1 -1
- package/dist/data/ai/SessionInspector.collection-types.d.ts +5 -0
- package/dist/data/ai/SessionInspector.collection-types.d.ts.map +1 -1
- package/dist/data/ai/SessionInspector.collection.cjs +18 -5
- package/dist/data/ai/SessionInspector.collection.cjs.map +1 -1
- package/dist/data/ai/SessionInspector.collection.d.ts +2 -0
- package/dist/data/ai/SessionInspector.collection.d.ts.map +1 -1
- package/dist/data/ai/SessionInspector.collection.fixtures.d.ts +6 -0
- package/dist/data/ai/SessionInspector.collection.fixtures.d.ts.map +1 -0
- package/dist/data/ai/SessionInspector.collection.js +18 -5
- package/dist/data/ai/SessionInspector.collection.js.map +1 -1
- package/dist/data/ai/SessionInspector.d.ts +24 -2
- package/dist/data/ai/SessionInspector.d.ts.map +1 -1
- package/dist/data/ai/SessionInspector.hierarchy-state.cjs +105 -7
- package/dist/data/ai/SessionInspector.hierarchy-state.cjs.map +1 -1
- package/dist/data/ai/SessionInspector.hierarchy-state.d.ts +12 -1
- package/dist/data/ai/SessionInspector.hierarchy-state.d.ts.map +1 -1
- package/dist/data/ai/SessionInspector.hierarchy-state.js +107 -9
- package/dist/data/ai/SessionInspector.hierarchy-state.js.map +1 -1
- package/dist/data/ai/SessionInspector.hierarchy.cjs +1 -1
- package/dist/data/ai/SessionInspector.hierarchy.cjs.map +1 -1
- package/dist/data/ai/SessionInspector.hierarchy.js +1 -1
- package/dist/data/ai/SessionInspector.hierarchy.js.map +1 -1
- package/dist/data/ai/SessionInspector.js +144 -168
- package/dist/data/ai/SessionInspector.js.map +1 -1
- package/dist/data/ai/SessionInspector.legacy.cjs +116 -0
- package/dist/data/ai/SessionInspector.legacy.cjs.map +1 -0
- package/dist/data/ai/SessionInspector.legacy.d.ts +19 -0
- package/dist/data/ai/SessionInspector.legacy.d.ts.map +1 -0
- package/dist/data/ai/SessionInspector.legacy.js +116 -0
- package/dist/data/ai/SessionInspector.legacy.js.map +1 -0
- package/dist/data/ai/SessionInspector.panels.cjs +3 -0
- package/dist/data/ai/SessionInspector.panels.cjs.map +1 -1
- package/dist/data/ai/SessionInspector.panels.d.ts.map +1 -1
- package/dist/data/ai/SessionInspector.panels.js +3 -0
- package/dist/data/ai/SessionInspector.panels.js.map +1 -1
- package/dist/data/ai/SessionInspector.plan.cjs +29 -12
- package/dist/data/ai/SessionInspector.plan.cjs.map +1 -1
- package/dist/data/ai/SessionInspector.plan.d.ts.map +1 -1
- package/dist/data/ai/SessionInspector.plan.js +30 -13
- package/dist/data/ai/SessionInspector.plan.js.map +1 -1
- package/dist/data/ai/SessionInspector.remote-view.cjs +44 -0
- package/dist/data/ai/SessionInspector.remote-view.cjs.map +1 -0
- package/dist/data/ai/SessionInspector.remote-view.d.ts +11 -0
- package/dist/data/ai/SessionInspector.remote-view.d.ts.map +1 -0
- package/dist/data/ai/SessionInspector.remote-view.js +44 -0
- package/dist/data/ai/SessionInspector.remote-view.js.map +1 -0
- package/dist/data/ai/SessionInspector.remote.cjs +275 -0
- package/dist/data/ai/SessionInspector.remote.cjs.map +1 -0
- package/dist/data/ai/SessionInspector.remote.d.ts +57 -0
- package/dist/data/ai/SessionInspector.remote.d.ts.map +1 -0
- package/dist/data/ai/SessionInspector.remote.js +275 -0
- package/dist/data/ai/SessionInspector.remote.js.map +1 -0
- package/dist/data/ai/SessionInspector.summary.cjs +9 -159
- package/dist/data/ai/SessionInspector.summary.cjs.map +1 -1
- package/dist/data/ai/SessionInspector.summary.d.ts +0 -3
- package/dist/data/ai/SessionInspector.summary.d.ts.map +1 -1
- package/dist/data/ai/SessionInspector.summary.js +11 -161
- package/dist/data/ai/SessionInspector.summary.js.map +1 -1
- package/dist/data/ai/SessionInspector.tab-state.cjs +15 -0
- package/dist/data/ai/SessionInspector.tab-state.cjs.map +1 -0
- package/dist/data/ai/SessionInspector.tab-state.d.ts +3 -0
- package/dist/data/ai/SessionInspector.tab-state.d.ts.map +1 -0
- package/dist/data/ai/SessionInspector.tab-state.js +15 -0
- package/dist/data/ai/SessionInspector.tab-state.js.map +1 -0
- package/dist/data/ai/SessionInspector.tabs.model.cjs +31 -18
- package/dist/data/ai/SessionInspector.tabs.model.cjs.map +1 -1
- package/dist/data/ai/SessionInspector.tabs.model.d.ts +3 -1
- package/dist/data/ai/SessionInspector.tabs.model.d.ts.map +1 -1
- package/dist/data/ai/SessionInspector.tabs.model.js +32 -19
- package/dist/data/ai/SessionInspector.tabs.model.js.map +1 -1
- package/dist/data/ai/SessionInspector.transcript.cjs +4 -0
- package/dist/data/ai/SessionInspector.transcript.cjs.map +1 -1
- package/dist/data/ai/SessionInspector.transcript.d.ts.map +1 -1
- package/dist/data/ai/SessionInspector.transcript.js +4 -0
- package/dist/data/ai/SessionInspector.transcript.js.map +1 -1
- package/dist/data/ai/SessionInspector.verification.cjs +53 -0
- package/dist/data/ai/SessionInspector.verification.cjs.map +1 -0
- package/dist/data/ai/SessionInspector.verification.d.ts +7 -0
- package/dist/data/ai/SessionInspector.verification.d.ts.map +1 -0
- package/dist/data/ai/SessionInspector.verification.js +53 -0
- package/dist/data/ai/SessionInspector.verification.js.map +1 -0
- package/dist/data/ai/SessionViewer.approval-body.cjs +146 -0
- package/dist/data/ai/SessionViewer.approval-body.cjs.map +1 -0
- package/dist/data/ai/SessionViewer.approval-body.d.ts +11 -0
- package/dist/data/ai/SessionViewer.approval-body.d.ts.map +1 -0
- package/dist/data/ai/SessionViewer.approval-body.js +146 -0
- package/dist/data/ai/SessionViewer.approval-body.js.map +1 -0
- package/dist/data/ai/SessionViewer.approval-forms.cjs +150 -0
- package/dist/data/ai/SessionViewer.approval-forms.cjs.map +1 -0
- package/dist/data/ai/SessionViewer.approval-forms.d.ts +23 -0
- package/dist/data/ai/SessionViewer.approval-forms.d.ts.map +1 -0
- package/dist/data/ai/SessionViewer.approval-forms.js +150 -0
- package/dist/data/ai/SessionViewer.approval-forms.js.map +1 -0
- package/dist/data/ai/SessionViewer.cjs +57 -20
- package/dist/data/ai/SessionViewer.cjs.map +1 -1
- package/dist/data/ai/SessionViewer.d.ts +13 -3
- package/dist/data/ai/SessionViewer.d.ts.map +1 -1
- package/dist/data/ai/SessionViewer.decision-controls.cjs +313 -0
- package/dist/data/ai/SessionViewer.decision-controls.cjs.map +1 -0
- package/dist/data/ai/SessionViewer.decision-controls.d.ts +43 -0
- package/dist/data/ai/SessionViewer.decision-controls.d.ts.map +1 -0
- package/dist/data/ai/SessionViewer.decision-controls.js +313 -0
- package/dist/data/ai/SessionViewer.decision-controls.js.map +1 -0
- package/dist/data/ai/SessionViewer.decision.cjs +21 -0
- package/dist/data/ai/SessionViewer.decision.cjs.map +1 -0
- package/dist/data/ai/SessionViewer.decision.d.ts +12 -0
- package/dist/data/ai/SessionViewer.decision.d.ts.map +1 -0
- package/dist/data/ai/SessionViewer.decision.js +21 -0
- package/dist/data/ai/SessionViewer.decision.js.map +1 -0
- package/dist/data/ai/SessionViewer.input.cjs +14 -0
- package/dist/data/ai/SessionViewer.input.cjs.map +1 -1
- package/dist/data/ai/SessionViewer.input.d.ts +5 -0
- package/dist/data/ai/SessionViewer.input.d.ts.map +1 -1
- package/dist/data/ai/SessionViewer.input.js +14 -0
- package/dist/data/ai/SessionViewer.input.js.map +1 -1
- package/dist/data/ai/SessionViewer.js +58 -21
- package/dist/data/ai/SessionViewer.js.map +1 -1
- package/dist/data/ai/SessionViewer.model.cjs +7 -1
- package/dist/data/ai/SessionViewer.model.cjs.map +1 -1
- package/dist/data/ai/SessionViewer.model.d.ts +25 -3
- package/dist/data/ai/SessionViewer.model.d.ts.map +1 -1
- package/dist/data/ai/SessionViewer.model.js +7 -1
- package/dist/data/ai/SessionViewer.model.js.map +1 -1
- package/dist/data/ai/SessionViewer.rows.cjs +6 -3
- package/dist/data/ai/SessionViewer.rows.cjs.map +1 -1
- package/dist/data/ai/SessionViewer.rows.d.ts +2 -1
- package/dist/data/ai/SessionViewer.rows.d.ts.map +1 -1
- package/dist/data/ai/SessionViewer.rows.js +6 -3
- package/dist/data/ai/SessionViewer.rows.js.map +1 -1
- package/dist/data/ai/SessionViewer.tool-row.cjs +29 -237
- package/dist/data/ai/SessionViewer.tool-row.cjs.map +1 -1
- package/dist/data/ai/SessionViewer.tool-row.d.ts.map +1 -1
- package/dist/data/ai/SessionViewer.tool-row.js +27 -235
- package/dist/data/ai/SessionViewer.tool-row.js.map +1 -1
- package/dist/data/ai/SessionViewer.unified.d.ts +17 -0
- package/dist/data/ai/SessionViewer.unified.d.ts.map +1 -1
- package/dist/data/ai/SessionViewerMenu.cjs +8 -2
- package/dist/data/ai/SessionViewerMenu.cjs.map +1 -1
- package/dist/data/ai/SessionViewerMenu.d.ts +4 -1
- package/dist/data/ai/SessionViewerMenu.d.ts.map +1 -1
- package/dist/data/ai/SessionViewerMenu.js +8 -2
- package/dist/data/ai/SessionViewerMenu.js.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/CommitSection.cjs +28 -17
- package/dist/data/ai/SpecRuntimeEditor/CommitSection.cjs.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/CommitSection.d.ts +10 -2
- package/dist/data/ai/SpecRuntimeEditor/CommitSection.d.ts.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/CommitSection.js +29 -18
- package/dist/data/ai/SpecRuntimeEditor/CommitSection.js.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/index.cjs +9 -1
- package/dist/data/ai/SpecRuntimeEditor/index.cjs.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/index.d.ts +9 -2
- package/dist/data/ai/SpecRuntimeEditor/index.d.ts.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/index.js +9 -1
- package/dist/data/ai/SpecRuntimeEditor/index.js.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/permission-mode-visuals.cjs +1 -1
- package/dist/data/ai/SpecRuntimeEditor/permission-mode-visuals.js +1 -1
- package/dist/data/ai/SpecRuntimeEditor/summaries.cjs.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/summaries.d.ts +8 -2
- package/dist/data/ai/SpecRuntimeEditor/summaries.d.ts.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/summaries.js.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/update.cjs +14 -6
- package/dist/data/ai/SpecRuntimeEditor/update.cjs.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/update.d.ts +1 -0
- package/dist/data/ai/SpecRuntimeEditor/update.d.ts.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/update.js +14 -6
- package/dist/data/ai/SpecRuntimeEditor/update.js.map +1 -1
- package/dist/data/ai/approval-request.cjs +75 -0
- package/dist/data/ai/approval-request.cjs.map +1 -0
- package/dist/data/ai/approval-request.d.ts +155 -0
- package/dist/data/ai/approval-request.d.ts.map +1 -0
- package/dist/data/ai/approval-request.js +75 -0
- package/dist/data/ai/approval-request.js.map +1 -0
- package/dist/data/ai/index.d.ts +6 -1
- package/dist/data/ai/index.d.ts.map +1 -1
- package/dist/data/ai/runtime-preset-menu/SavePresetDialog.cjs +125 -0
- package/dist/data/ai/runtime-preset-menu/SavePresetDialog.cjs.map +1 -0
- package/dist/data/ai/runtime-preset-menu/SavePresetDialog.d.ts +11 -0
- package/dist/data/ai/runtime-preset-menu/SavePresetDialog.d.ts.map +1 -0
- package/dist/data/ai/runtime-preset-menu/SavePresetDialog.js +125 -0
- package/dist/data/ai/runtime-preset-menu/SavePresetDialog.js.map +1 -0
- package/dist/data/ai/runtime-preset-menu/index.d.ts +3 -0
- package/dist/data/ai/runtime-preset-menu/index.d.ts.map +1 -0
- package/dist/data/ai/runtime-preset-menu/model.cjs +73 -0
- package/dist/data/ai/runtime-preset-menu/model.cjs.map +1 -0
- package/dist/data/ai/runtime-preset-menu/model.d.ts +13 -0
- package/dist/data/ai/runtime-preset-menu/model.d.ts.map +1 -0
- package/dist/data/ai/runtime-preset-menu/model.js +73 -0
- package/dist/data/ai/runtime-preset-menu/model.js.map +1 -0
- package/dist/data/ai/runtime-preset-menu/use-runtime-preset-menu.cjs +149 -0
- package/dist/data/ai/runtime-preset-menu/use-runtime-preset-menu.cjs.map +1 -0
- package/dist/data/ai/runtime-preset-menu/use-runtime-preset-menu.d.ts +15 -0
- package/dist/data/ai/runtime-preset-menu/use-runtime-preset-menu.d.ts.map +1 -0
- package/dist/data/ai/runtime-preset-menu/use-runtime-preset-menu.js +149 -0
- package/dist/data/ai/runtime-preset-menu/use-runtime-preset-menu.js.map +1 -0
- package/dist/data/ai/runtime-spec-fields.cjs +166 -0
- package/dist/data/ai/runtime-spec-fields.cjs.map +1 -0
- package/dist/data/ai/runtime-spec-fields.d.ts +13 -0
- package/dist/data/ai/runtime-spec-fields.d.ts.map +1 -0
- package/dist/data/ai/runtime-spec-fields.js +166 -0
- package/dist/data/ai/runtime-spec-fields.js.map +1 -0
- package/dist/data/ai/session-categories.cjs +4 -0
- package/dist/data/ai/session-categories.cjs.map +1 -1
- package/dist/data/ai/session-categories.d.ts +1 -0
- package/dist/data/ai/session-categories.d.ts.map +1 -1
- package/dist/data/ai/session-categories.js +4 -0
- package/dist/data/ai/session-categories.js.map +1 -1
- package/dist/data/ai/use-session-scroll.cjs +49 -21
- package/dist/data/ai/use-session-scroll.cjs.map +1 -1
- package/dist/data/ai/use-session-scroll.d.ts +2 -0
- package/dist/data/ai/use-session-scroll.d.ts.map +1 -1
- package/dist/data/ai/use-session-scroll.js +49 -21
- package/dist/data/ai/use-session-scroll.js.map +1 -1
- package/dist/data/chat/Chat.runtime.cjs +1 -1
- package/dist/data/chat/Chat.runtime.cjs.map +1 -1
- package/dist/data/chat/Chat.runtime.d.ts.map +1 -1
- package/dist/data/chat/Chat.runtime.js +1 -1
- package/dist/data/chat/Chat.runtime.js.map +1 -1
- package/dist/data/graph-columns-layout.cjs +216 -0
- package/dist/data/graph-columns-layout.cjs.map +1 -0
- package/dist/data/graph-columns-layout.d.ts +56 -0
- package/dist/data/graph-columns-layout.d.ts.map +1 -0
- package/dist/data/graph-columns-layout.js +216 -0
- package/dist/data/graph-columns-layout.js.map +1 -0
- package/dist/data/graph-diagram-model.cjs +73 -0
- package/dist/data/graph-diagram-model.cjs.map +1 -0
- package/dist/data/graph-diagram-model.d.ts +90 -0
- package/dist/data/graph-diagram-model.d.ts.map +1 -0
- package/dist/data/graph-diagram-model.js +73 -0
- package/dist/data/graph-diagram-model.js.map +1 -0
- package/dist/data/graph-edge-routing.cjs +235 -0
- package/dist/data/graph-edge-routing.cjs.map +1 -0
- package/dist/data/graph-edge-routing.d.ts +73 -0
- package/dist/data/graph-edge-routing.d.ts.map +1 -0
- package/dist/data/graph-edge-routing.js +235 -0
- package/dist/data/graph-edge-routing.js.map +1 -0
- package/dist/data/graph-layout.cjs +0 -82
- package/dist/data/graph-layout.cjs.map +1 -1
- package/dist/data/graph-layout.d.ts +1 -28
- package/dist/data/graph-layout.d.ts.map +1 -1
- package/dist/data/graph-layout.js +1 -83
- package/dist/data/graph-layout.js.map +1 -1
- package/dist/data/har/HarPanel.cjs +129 -33
- package/dist/data/har/HarPanel.cjs.map +1 -1
- package/dist/data/har/HarPanel.d.ts +13 -1
- package/dist/data/har/HarPanel.d.ts.map +1 -1
- package/dist/data/har/HarPanel.js +130 -34
- package/dist/data/har/HarPanel.js.map +1 -1
- package/dist/data/har/fixtures.d.ts +12 -0
- package/dist/data/har/fixtures.d.ts.map +1 -1
- package/dist/data/har/types.d.ts +12 -0
- package/dist/data/har/types.d.ts.map +1 -1
- package/dist/data/runtime/RuntimeBar.cjs +67 -84
- package/dist/data/runtime/RuntimeBar.cjs.map +1 -1
- package/dist/data/runtime/RuntimeBar.d.ts +4 -5
- package/dist/data/runtime/RuntimeBar.d.ts.map +1 -1
- package/dist/data/runtime/RuntimeBar.fields.cjs +170 -0
- package/dist/data/runtime/RuntimeBar.fields.cjs.map +1 -0
- package/dist/data/runtime/RuntimeBar.fields.d.ts +16 -0
- package/dist/data/runtime/RuntimeBar.fields.d.ts.map +1 -0
- package/dist/data/runtime/RuntimeBar.fields.js +170 -0
- package/dist/data/runtime/RuntimeBar.fields.js.map +1 -0
- package/dist/data/runtime/RuntimeBar.js +70 -87
- package/dist/data/runtime/RuntimeBar.js.map +1 -1
- package/dist/data/runtime/RuntimeBar.selection.cjs +56 -0
- package/dist/data/runtime/RuntimeBar.selection.cjs.map +1 -0
- package/dist/data/runtime/RuntimeBar.selection.d.ts +20 -0
- package/dist/data/runtime/RuntimeBar.selection.d.ts.map +1 -0
- package/dist/data/runtime/RuntimeBar.selection.js +56 -0
- package/dist/data/runtime/RuntimeBar.selection.js.map +1 -0
- package/dist/data/runtime/RuntimeBarActions.cjs +10 -6
- package/dist/data/runtime/RuntimeBarActions.cjs.map +1 -1
- package/dist/data/runtime/RuntimeBarActions.d.ts +8 -1
- package/dist/data/runtime/RuntimeBarActions.d.ts.map +1 -1
- package/dist/data/runtime/RuntimeBarActions.js +10 -6
- package/dist/data/runtime/RuntimeBarActions.js.map +1 -1
- package/dist/data/runtime/RuntimeBarIdentity.cjs +166 -0
- package/dist/data/runtime/RuntimeBarIdentity.cjs.map +1 -0
- package/dist/data/runtime/RuntimeBarIdentity.d.ts +25 -0
- package/dist/data/runtime/RuntimeBarIdentity.d.ts.map +1 -0
- package/dist/data/runtime/RuntimeBarIdentity.js +166 -0
- package/dist/data/runtime/RuntimeBarIdentity.js.map +1 -0
- package/dist/data/runtime/RuntimeBarLayout.cjs +95 -0
- package/dist/data/runtime/RuntimeBarLayout.cjs.map +1 -0
- package/dist/data/runtime/RuntimeBarLayout.d.ts +9 -0
- package/dist/data/runtime/RuntimeBarLayout.d.ts.map +1 -0
- package/dist/data/runtime/RuntimeBarLayout.js +95 -0
- package/dist/data/runtime/RuntimeBarLayout.js.map +1 -0
- package/dist/data/runtime/RuntimeBarSegment.cjs +25 -14
- package/dist/data/runtime/RuntimeBarSegment.cjs.map +1 -1
- package/dist/data/runtime/RuntimeBarSegment.d.ts +4 -0
- package/dist/data/runtime/RuntimeBarSegment.d.ts.map +1 -1
- package/dist/data/runtime/RuntimeBarSegment.js +25 -14
- package/dist/data/runtime/RuntimeBarSegment.js.map +1 -1
- package/dist/data/runtime/RuntimeLimitInput.cjs +41 -0
- package/dist/data/runtime/RuntimeLimitInput.cjs.map +1 -0
- package/dist/data/runtime/RuntimeLimitInput.d.ts +9 -0
- package/dist/data/runtime/RuntimeLimitInput.d.ts.map +1 -0
- package/dist/data/runtime/RuntimeLimitInput.js +41 -0
- package/dist/data/runtime/RuntimeLimitInput.js.map +1 -0
- package/dist/data/runtime/use-runtime-bar-overflow.cjs +70 -0
- package/dist/data/runtime/use-runtime-bar-overflow.cjs.map +1 -0
- package/dist/data/runtime/use-runtime-bar-overflow.d.ts +13 -0
- package/dist/data/runtime/use-runtime-bar-overflow.d.ts.map +1 -0
- package/dist/data/runtime/use-runtime-bar-overflow.js +70 -0
- package/dist/data/runtime/use-runtime-bar-overflow.js.map +1 -0
- package/dist/data/use-edge-focus.cjs +20 -0
- package/dist/data/use-edge-focus.cjs.map +1 -0
- package/dist/data/use-edge-focus.d.ts +23 -0
- package/dist/data/use-edge-focus.d.ts.map +1 -0
- package/dist/data/use-edge-focus.js +20 -0
- package/dist/data/use-edge-focus.js.map +1 -0
- package/dist/data/use-pan-zoom.cjs +159 -0
- package/dist/data/use-pan-zoom.cjs.map +1 -0
- package/dist/data/use-pan-zoom.d.ts +79 -0
- package/dist/data/use-pan-zoom.d.ts.map +1 -0
- package/dist/data/use-pan-zoom.js +159 -0
- package/dist/data/use-pan-zoom.js.map +1 -0
- package/dist/data/version-info.cjs +3 -3
- package/dist/data/version-info.js +3 -3
- package/dist/data.cjs +5 -1
- package/dist/data.cjs.map +1 -1
- package/dist/data.d.ts +4 -3
- package/dist/data.d.ts.map +1 -1
- package/dist/data.js +6 -2
- package/dist/data.js.map +1 -1
- package/dist/devtools/useDebugStream.cjs +5 -1
- package/dist/devtools/useDebugStream.cjs.map +1 -1
- package/dist/devtools/useDebugStream.d.ts.map +1 -1
- package/dist/devtools/useDebugStream.js +6 -2
- package/dist/devtools/useDebugStream.js.map +1 -1
- package/dist/hooks/event-source-provider.cjs +9 -0
- package/dist/hooks/event-source-provider.cjs.map +1 -0
- package/dist/hooks/event-source-provider.d.ts +15 -0
- package/dist/hooks/event-source-provider.d.ts.map +1 -0
- package/dist/hooks/event-source-provider.js +9 -0
- package/dist/hooks/event-source-provider.js.map +1 -0
- package/dist/hooks/event-source.cjs +11 -0
- package/dist/hooks/event-source.cjs.map +1 -0
- package/dist/hooks/event-source.d.ts +22 -0
- package/dist/hooks/event-source.d.ts.map +1 -0
- package/dist/hooks/event-source.js +11 -0
- package/dist/hooks/event-source.js.map +1 -0
- package/dist/hooks/use-log-tail.cjs +5 -1
- package/dist/hooks/use-log-tail.cjs.map +1 -1
- package/dist/hooks/use-log-tail.d.ts.map +1 -1
- package/dist/hooks/use-log-tail.js +5 -1
- package/dist/hooks/use-log-tail.js.map +1 -1
- package/dist/hooks/use-prompts.cjs +5 -1
- package/dist/hooks/use-prompts.cjs.map +1 -1
- package/dist/hooks/use-prompts.d.ts.map +1 -1
- package/dist/hooks/use-prompts.js +6 -2
- package/dist/hooks/use-prompts.js.map +1 -1
- package/dist/hooks/use-task-run.cjs +9 -2
- package/dist/hooks/use-task-run.cjs.map +1 -1
- package/dist/hooks/use-task-run.d.ts.map +1 -1
- package/dist/hooks/use-task-run.js +10 -3
- package/dist/hooks/use-task-run.js.map +1 -1
- package/dist/hooks.cjs +4 -0
- package/dist/hooks.cjs.map +1 -1
- package/dist/hooks.d.ts +2 -0
- package/dist/hooks.d.ts.map +1 -1
- package/dist/hooks.js +4 -0
- package/dist/hooks.js.map +1 -1
- package/dist/icons/programmingCatalog.cjs +34 -34
- package/dist/icons/programmingCatalog.cjs.map +1 -1
- package/dist/icons/programmingCatalog.js +34 -34
- package/dist/icons/programmingCatalog.js.map +1 -1
- package/dist/index.cjs +14 -3
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +14 -3
- package/dist/index.js.map +1 -1
- package/dist/monaco/MonacoEditor.cjs +4 -1
- package/dist/monaco/MonacoEditor.cjs.map +1 -1
- package/dist/monaco/MonacoEditor.d.ts +1 -1
- package/dist/monaco/MonacoEditor.d.ts.map +1 -1
- package/dist/monaco/MonacoEditor.js +4 -1
- package/dist/monaco/MonacoEditor.js.map +1 -1
- package/dist/monaco/types.d.ts +2 -1
- package/dist/monaco/types.d.ts.map +1 -1
- package/dist/overlay/CommandPalette.cjs +14 -4
- package/dist/overlay/CommandPalette.cjs.map +1 -1
- package/dist/overlay/CommandPalette.d.ts +5 -1
- package/dist/overlay/CommandPalette.d.ts.map +1 -1
- package/dist/overlay/CommandPalette.js +14 -4
- package/dist/overlay/CommandPalette.js.map +1 -1
- package/dist/overlay/CommandPaletteList.cjs +5 -0
- package/dist/overlay/CommandPaletteList.cjs.map +1 -1
- package/dist/overlay/CommandPaletteList.d.ts +4 -2
- package/dist/overlay/CommandPaletteList.d.ts.map +1 -1
- package/dist/overlay/CommandPaletteList.js +5 -0
- package/dist/overlay/CommandPaletteList.js.map +1 -1
- package/dist/overlay/DropdownMenu.cjs +2 -0
- package/dist/overlay/DropdownMenu.cjs.map +1 -1
- package/dist/overlay/DropdownMenu.d.ts +4 -0
- package/dist/overlay/DropdownMenu.d.ts.map +1 -1
- package/dist/overlay/DropdownMenu.js +2 -0
- package/dist/overlay/DropdownMenu.js.map +1 -1
- package/dist/overlay/DropdownMenuSubmenu.cjs +31 -15
- package/dist/overlay/DropdownMenuSubmenu.cjs.map +1 -1
- package/dist/overlay/DropdownMenuSubmenu.d.ts.map +1 -1
- package/dist/overlay/DropdownMenuSubmenu.js +31 -15
- package/dist/overlay/DropdownMenuSubmenu.js.map +1 -1
- package/dist/rpc/OperationCatalog.cjs +32 -27
- package/dist/rpc/OperationCatalog.cjs.map +1 -1
- package/dist/rpc/OperationCatalog.d.ts +11 -1
- package/dist/rpc/OperationCatalog.d.ts.map +1 -1
- package/dist/rpc/OperationCatalog.js +32 -27
- package/dist/rpc/OperationCatalog.js.map +1 -1
- package/dist/rpc/OperationEntityContextPicker.cjs +62 -256
- package/dist/rpc/OperationEntityContextPicker.cjs.map +1 -1
- package/dist/rpc/OperationEntityContextPicker.d.ts.map +1 -1
- package/dist/rpc/OperationEntityContextPicker.js +64 -258
- package/dist/rpc/OperationEntityContextPicker.js.map +1 -1
- package/dist/rpc/OperationEntityPicker.cjs +185 -0
- package/dist/rpc/OperationEntityPicker.cjs.map +1 -0
- package/dist/rpc/OperationEntityPicker.d.ts +51 -0
- package/dist/rpc/OperationEntityPicker.d.ts.map +1 -0
- package/dist/rpc/OperationEntityPicker.js +185 -0
- package/dist/rpc/OperationEntityPicker.js.map +1 -0
- package/dist/rpc/OperationEntityPicker.model.cjs +39 -0
- package/dist/rpc/OperationEntityPicker.model.cjs.map +1 -0
- package/dist/rpc/OperationEntityPicker.model.d.ts +27 -0
- package/dist/rpc/OperationEntityPicker.model.d.ts.map +1 -0
- package/dist/rpc/OperationEntityPicker.model.js +39 -0
- package/dist/rpc/OperationEntityPicker.model.js.map +1 -0
- package/dist/rpc/operationCatalogRowSelection.cjs +85 -0
- package/dist/rpc/operationCatalogRowSelection.cjs.map +1 -0
- package/dist/rpc/operationCatalogRowSelection.d.ts +57 -0
- package/dist/rpc/operationCatalogRowSelection.d.ts.map +1 -0
- package/dist/rpc/operationCatalogRowSelection.js +85 -0
- package/dist/rpc/operationCatalogRowSelection.js.map +1 -0
- package/dist/rpc/operationEntityPicker.fixtures.d.ts +13 -0
- package/dist/rpc/operationEntityPicker.fixtures.d.ts.map +1 -0
- package/dist/rpc/useOperationPages.cjs +6 -1
- package/dist/rpc/useOperationPages.cjs.map +1 -1
- package/dist/rpc/useOperationPages.d.ts +3 -1
- package/dist/rpc/useOperationPages.d.ts.map +1 -1
- package/dist/rpc/useOperationPages.js +6 -1
- package/dist/rpc/useOperationPages.js.map +1 -1
- package/dist/rpc.cjs +2 -0
- package/dist/rpc.cjs.map +1 -1
- package/dist/rpc.d.ts +2 -0
- package/dist/rpc.d.ts.map +1 -1
- package/dist/rpc.js +2 -0
- package/dist/rpc.js.map +1 -1
- package/dist/styles.css +1 -1
- package/package.json +4 -1
- package/schemas/json-schema-form.schema.json +571 -0
- package/dist/data/runtime/RuntimeBarCombo.cjs +0 -423
- package/dist/data/runtime/RuntimeBarCombo.cjs.map +0 -1
- package/dist/data/runtime/RuntimeBarCombo.d.ts +0 -33
- package/dist/data/runtime/RuntimeBarCombo.d.ts.map +0 -1
- package/dist/data/runtime/RuntimeBarCombo.js +0 -423
- package/dist/data/runtime/RuntimeBarCombo.js.map +0 -1
- package/dist/data/runtime/RuntimeBarLimits.cjs +0 -262
- package/dist/data/runtime/RuntimeBarLimits.cjs.map +0 -1
- package/dist/data/runtime/RuntimeBarLimits.d.ts +0 -17
- package/dist/data/runtime/RuntimeBarLimits.d.ts.map +0 -1
- package/dist/data/runtime/RuntimeBarLimits.js +0 -262
- package/dist/data/runtime/RuntimeBarLimits.js.map +0 -1
- package/dist/data/runtime/RuntimeBarSegments.cjs +0 -346
- package/dist/data/runtime/RuntimeBarSegments.cjs.map +0 -1
- package/dist/data/runtime/RuntimeBarSegments.d.ts +0 -37
- package/dist/data/runtime/RuntimeBarSegments.d.ts.map +0 -1
- package/dist/data/runtime/RuntimeBarSegments.js +0 -346
- package/dist/data/runtime/RuntimeBarSegments.js.map +0 -1
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const jsxRuntime = require("react/jsx-runtime");
|
|
4
|
+
const InputField = require("../../components/InputField.cjs");
|
|
5
|
+
const Icon = require("../Icon.cjs");
|
|
6
|
+
const RuntimeBarSegment = require("../runtime/RuntimeBarSegment.cjs");
|
|
7
|
+
const unspecified = require("../runtime/unspecified.cjs");
|
|
8
|
+
const runtimeActions = require("./PromptRunEditor/runtimeActions.cjs");
|
|
9
|
+
const update = require("./SpecRuntimeEditor/update.cjs");
|
|
10
|
+
const UiGitBranch = require("../../icons/components/UiGitBranch.cjs");
|
|
11
|
+
const UiGitCommit = require("../../icons/components/UiGitCommit.cjs");
|
|
12
|
+
const SOURCE_OPTIONS = [
|
|
13
|
+
{ value: "new", label: "New worktree" },
|
|
14
|
+
{ value: "existing", label: "Existing worktree" },
|
|
15
|
+
{ value: "none", label: "HEAD" }
|
|
16
|
+
];
|
|
17
|
+
const COMMIT_OPTIONS = [
|
|
18
|
+
{ value: "none", label: "Never" },
|
|
19
|
+
{ value: "turn", label: "Every turn" },
|
|
20
|
+
{ value: "agent", label: "After the loop" },
|
|
21
|
+
{ value: "run", label: "End of run" }
|
|
22
|
+
];
|
|
23
|
+
function runtimeSpecFields({
|
|
24
|
+
value,
|
|
25
|
+
onChange,
|
|
26
|
+
families,
|
|
27
|
+
models = [],
|
|
28
|
+
effectiveMode,
|
|
29
|
+
effectiveModel
|
|
30
|
+
}) {
|
|
31
|
+
const permission = runtimeActions.permissionField({
|
|
32
|
+
spec: value,
|
|
33
|
+
families,
|
|
34
|
+
models,
|
|
35
|
+
effectiveMode,
|
|
36
|
+
effectiveModel,
|
|
37
|
+
onChange
|
|
38
|
+
});
|
|
39
|
+
return [
|
|
40
|
+
...permission ? [{ ...permission, label: "Permission mode" }] : [],
|
|
41
|
+
sourceField({ value, onChange }),
|
|
42
|
+
commitField({ value, onChange })
|
|
43
|
+
];
|
|
44
|
+
}
|
|
45
|
+
function sourceField({
|
|
46
|
+
value,
|
|
47
|
+
onChange
|
|
48
|
+
}) {
|
|
49
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k;
|
|
50
|
+
const mode = (_c = (_b = (_a = value.setup) == null ? void 0 : _a.checkout) == null ? void 0 : _b.worktree) == null ? void 0 : _c.mode;
|
|
51
|
+
const label = ((_d = SOURCE_OPTIONS.find((option) => option.value === mode)) == null ? void 0 : _d.label) ?? unspecified.UNSPECIFIED_LABEL;
|
|
52
|
+
return {
|
|
53
|
+
id: "setup.checkout.worktree.mode",
|
|
54
|
+
label: "Source",
|
|
55
|
+
title: `Source — ${label}`,
|
|
56
|
+
icon: UiGitBranch.UiGitBranch,
|
|
57
|
+
isSet: Boolean(mode),
|
|
58
|
+
caption: /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
59
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: RuntimeBarSegment.SEGMENT_KEY_CLASS, children: "Source" }),
|
|
60
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
61
|
+
Icon.Icon,
|
|
62
|
+
{
|
|
63
|
+
icon: UiGitBranch.UiGitBranch,
|
|
64
|
+
className: "size-4 shrink-0 text-muted-foreground"
|
|
65
|
+
}
|
|
66
|
+
),
|
|
67
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: RuntimeBarSegment.SEGMENT_CAPTION_CLASS, children: label })
|
|
68
|
+
] }),
|
|
69
|
+
...mode === "existing" || mode === "new" ? {
|
|
70
|
+
header: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid gap-1", children: [
|
|
71
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: RuntimeBarSegment.SEGMENT_KEY_CLASS, children: "Worktree path" }),
|
|
72
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
73
|
+
InputField.InputField,
|
|
74
|
+
{
|
|
75
|
+
"aria-label": "Worktree path",
|
|
76
|
+
value: ((_g = (_f = (_e = value.setup) == null ? void 0 : _e.checkout) == null ? void 0 : _f.worktree) == null ? void 0 : _g.path) ?? "",
|
|
77
|
+
invalid: mode === "existing" && !((_k = (_j = (_i = (_h = value.setup) == null ? void 0 : _h.checkout) == null ? void 0 : _i.worktree) == null ? void 0 : _j.path) == null ? void 0 : _k.trim()),
|
|
78
|
+
onChange: (path) => onChange(update.withWorktree(value, { path })),
|
|
79
|
+
inputClassName: "font-mono text-xs"
|
|
80
|
+
}
|
|
81
|
+
)
|
|
82
|
+
] })
|
|
83
|
+
} : {},
|
|
84
|
+
items: [
|
|
85
|
+
{
|
|
86
|
+
label: /* @__PURE__ */ jsxRuntime.jsx(
|
|
87
|
+
RuntimeBarSegment.SegmentItemLabel,
|
|
88
|
+
{
|
|
89
|
+
text: unspecified.UNSPECIFIED_LABEL,
|
|
90
|
+
hint: unspecified.unspecifiedHint(),
|
|
91
|
+
selected: !mode
|
|
92
|
+
}
|
|
93
|
+
),
|
|
94
|
+
onSelect: () => onChange(update.withWorktree(value, { mode: "" }))
|
|
95
|
+
},
|
|
96
|
+
...SOURCE_OPTIONS.map((option) => ({
|
|
97
|
+
label: /* @__PURE__ */ jsxRuntime.jsx(
|
|
98
|
+
RuntimeBarSegment.SegmentItemLabel,
|
|
99
|
+
{
|
|
100
|
+
text: option.label,
|
|
101
|
+
selected: mode === option.value
|
|
102
|
+
}
|
|
103
|
+
),
|
|
104
|
+
onSelect: () => onChange(update.withWorktreeMode(value, option.value))
|
|
105
|
+
}))
|
|
106
|
+
]
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
function commitField({
|
|
110
|
+
value,
|
|
111
|
+
onChange
|
|
112
|
+
}) {
|
|
113
|
+
var _a;
|
|
114
|
+
const isSet = ((_a = value.workflow) == null ? void 0 : _a.commits) !== void 0;
|
|
115
|
+
const phase = update.commitPhase(value);
|
|
116
|
+
const label = isSet ? COMMIT_OPTIONS.find((option) => option.value === phase).label : unspecified.UNSPECIFIED_LABEL;
|
|
117
|
+
return {
|
|
118
|
+
id: "workflow.commits",
|
|
119
|
+
label: "Commit",
|
|
120
|
+
title: `Commit — ${label}`,
|
|
121
|
+
icon: UiGitCommit.UiGitCommit,
|
|
122
|
+
isSet,
|
|
123
|
+
caption: /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
124
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: RuntimeBarSegment.SEGMENT_KEY_CLASS, children: "Commit" }),
|
|
125
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
126
|
+
Icon.Icon,
|
|
127
|
+
{
|
|
128
|
+
icon: UiGitCommit.UiGitCommit,
|
|
129
|
+
className: "size-4 shrink-0 text-muted-foreground"
|
|
130
|
+
}
|
|
131
|
+
),
|
|
132
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: RuntimeBarSegment.SEGMENT_CAPTION_CLASS, children: label })
|
|
133
|
+
] }),
|
|
134
|
+
items: [
|
|
135
|
+
{
|
|
136
|
+
label: /* @__PURE__ */ jsxRuntime.jsx(
|
|
137
|
+
RuntimeBarSegment.SegmentItemLabel,
|
|
138
|
+
{
|
|
139
|
+
text: unspecified.UNSPECIFIED_LABEL,
|
|
140
|
+
hint: unspecified.unspecifiedHint(),
|
|
141
|
+
selected: !isSet
|
|
142
|
+
}
|
|
143
|
+
),
|
|
144
|
+
onSelect: () => {
|
|
145
|
+
const workflow = { ...value.workflow };
|
|
146
|
+
delete workflow.commits;
|
|
147
|
+
const next = { ...value, workflow };
|
|
148
|
+
if (Object.keys(workflow).length === 0) delete next.workflow;
|
|
149
|
+
onChange(next);
|
|
150
|
+
}
|
|
151
|
+
},
|
|
152
|
+
...COMMIT_OPTIONS.map((option) => ({
|
|
153
|
+
label: /* @__PURE__ */ jsxRuntime.jsx(
|
|
154
|
+
RuntimeBarSegment.SegmentItemLabel,
|
|
155
|
+
{
|
|
156
|
+
text: option.label,
|
|
157
|
+
selected: isSet && phase === option.value
|
|
158
|
+
}
|
|
159
|
+
),
|
|
160
|
+
onSelect: () => onChange(update.withCommitPhase(value, option.value))
|
|
161
|
+
}))
|
|
162
|
+
]
|
|
163
|
+
};
|
|
164
|
+
}
|
|
165
|
+
exports.runtimeSpecFields = runtimeSpecFields;
|
|
166
|
+
//# sourceMappingURL=runtime-spec-fields.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime-spec-fields.cjs","sources":["../../../src/data/ai/runtime-spec-fields.tsx"],"sourcesContent":["import { InputField } from \"../../components/InputField\";\nimport { UiGitBranch, UiGitCommit } from \"../../icons\";\nimport { Icon } from \"../Icon\";\nimport type { ChatModel } from \"../chat/types\";\nimport type { RuntimeBarAction } from \"../runtime/RuntimeBarActions\";\nimport {\n SEGMENT_CAPTION_CLASS,\n SEGMENT_KEY_CLASS,\n SegmentItemLabel,\n} from \"../runtime/RuntimeBarSegment\";\nimport type { SpecRuntimeFamily } from \"../runtime/runtime-mode\";\nimport { UNSPECIFIED_LABEL, unspecifiedHint } from \"../runtime/unspecified\";\nimport { permissionField } from \"./PromptRunEditor/runtimeActions\";\nimport type {\n AISpecRuntimeValue,\n SpecCommitPhase,\n SpecWorktreeMode,\n} from \"./SpecRuntimeEditor.model\";\nimport {\n commitPhase,\n withCommitPhase,\n withWorktree,\n withWorktreeMode,\n} from \"./SpecRuntimeEditor/update\";\n\nconst SOURCE_OPTIONS: { value: SpecWorktreeMode; label: string }[] = [\n { value: \"new\", label: \"New worktree\" },\n { value: \"existing\", label: \"Existing worktree\" },\n { value: \"none\", label: \"HEAD\" },\n];\nconst COMMIT_OPTIONS: { value: SpecCommitPhase | \"none\"; label: string }[] = [\n { value: \"none\", label: \"Never\" },\n { value: \"turn\", label: \"Every turn\" },\n { value: \"agent\", label: \"After the loop\" },\n { value: \"run\", label: \"End of run\" },\n];\n\nexport function runtimeSpecFields({\n value,\n onChange,\n families,\n models = [],\n effectiveMode,\n effectiveModel,\n}: {\n value: AISpecRuntimeValue;\n onChange: (next: AISpecRuntimeValue) => void;\n families: SpecRuntimeFamily[];\n models?: ChatModel[];\n effectiveMode?: string | undefined;\n effectiveModel?: string | undefined;\n}): RuntimeBarAction[] {\n const permission = permissionField({\n spec: value,\n families,\n models,\n effectiveMode,\n effectiveModel,\n onChange,\n });\n return [\n ...(permission ? [{ ...permission, label: \"Permission mode\" }] : []),\n sourceField({ value, onChange }),\n commitField({ value, onChange }),\n ];\n}\n\nfunction sourceField({\n value,\n onChange,\n}: {\n value: AISpecRuntimeValue;\n onChange: (next: AISpecRuntimeValue) => void;\n}): RuntimeBarAction {\n const mode = value.setup?.checkout?.worktree?.mode;\n const label =\n SOURCE_OPTIONS.find((option) => option.value === mode)?.label ??\n UNSPECIFIED_LABEL;\n return {\n id: \"setup.checkout.worktree.mode\",\n label: \"Source\",\n title: `Source — ${label}`,\n icon: UiGitBranch,\n isSet: Boolean(mode),\n caption: (\n <>\n <span className={SEGMENT_KEY_CLASS}>Source</span>\n <Icon\n icon={UiGitBranch}\n className=\"size-4 shrink-0 text-muted-foreground\"\n />\n <span className={SEGMENT_CAPTION_CLASS}>{label}</span>\n </>\n ),\n ...(mode === \"existing\" || mode === \"new\"\n ? {\n header: (\n <div className=\"grid gap-1\">\n <span className={SEGMENT_KEY_CLASS}>Worktree path</span>\n <InputField\n aria-label=\"Worktree path\"\n value={value.setup?.checkout?.worktree?.path ?? \"\"}\n invalid={\n mode === \"existing\" &&\n !value.setup?.checkout?.worktree?.path?.trim()\n }\n onChange={(path) => onChange(withWorktree(value, { path }))}\n inputClassName=\"font-mono text-xs\"\n />\n </div>\n ),\n }\n : {}),\n items: [\n {\n label: (\n <SegmentItemLabel\n text={UNSPECIFIED_LABEL}\n hint={unspecifiedHint()}\n selected={!mode}\n />\n ),\n onSelect: () => onChange(withWorktree(value, { mode: \"\" })),\n },\n ...SOURCE_OPTIONS.map((option) => ({\n label: (\n <SegmentItemLabel\n text={option.label}\n selected={mode === option.value}\n />\n ),\n onSelect: () => onChange(withWorktreeMode(value, option.value)),\n })),\n ],\n };\n}\n\nfunction commitField({\n value,\n onChange,\n}: {\n value: AISpecRuntimeValue;\n onChange: (next: AISpecRuntimeValue) => void;\n}): RuntimeBarAction {\n const isSet = value.workflow?.commits !== undefined;\n const phase = commitPhase(value);\n const label = isSet\n ? COMMIT_OPTIONS.find((option) => option.value === phase)!.label\n : UNSPECIFIED_LABEL;\n return {\n id: \"workflow.commits\",\n label: \"Commit\",\n title: `Commit — ${label}`,\n icon: UiGitCommit,\n isSet,\n caption: (\n <>\n <span className={SEGMENT_KEY_CLASS}>Commit</span>\n <Icon\n icon={UiGitCommit}\n className=\"size-4 shrink-0 text-muted-foreground\"\n />\n <span className={SEGMENT_CAPTION_CLASS}>{label}</span>\n </>\n ),\n items: [\n {\n label: (\n <SegmentItemLabel\n text={UNSPECIFIED_LABEL}\n hint={unspecifiedHint()}\n selected={!isSet}\n />\n ),\n onSelect: () => {\n const workflow = { ...value.workflow };\n delete workflow.commits;\n const next: AISpecRuntimeValue = { ...value, workflow };\n if (Object.keys(workflow).length === 0) delete next.workflow;\n onChange(next);\n },\n },\n ...COMMIT_OPTIONS.map((option) => ({\n label: (\n <SegmentItemLabel\n text={option.label}\n selected={isSet && phase === option.value}\n />\n ),\n onSelect: () => onChange(withCommitPhase(value, option.value)),\n })),\n ],\n };\n}\n"],"names":["permissionField","UNSPECIFIED_LABEL","UiGitBranch","jsxs","Fragment","jsx","SEGMENT_KEY_CLASS","Icon","SEGMENT_CAPTION_CLASS","InputField","withWorktree","SegmentItemLabel","unspecifiedHint","withWorktreeMode","commitPhase","UiGitCommit","withCommitPhase"],"mappings":";;;;;;;;;;;AAyBA,MAAM,iBAA+D;AAAA,EACnE,EAAE,OAAO,OAAO,OAAO,eAAA;AAAA,EACvB,EAAE,OAAO,YAAY,OAAO,oBAAA;AAAA,EAC5B,EAAE,OAAO,QAAQ,OAAO,OAAA;AAC1B;AACA,MAAM,iBAAuE;AAAA,EAC3E,EAAE,OAAO,QAAQ,OAAO,QAAA;AAAA,EACxB,EAAE,OAAO,QAAQ,OAAO,aAAA;AAAA,EACxB,EAAE,OAAO,SAAS,OAAO,iBAAA;AAAA,EACzB,EAAE,OAAO,OAAO,OAAO,aAAA;AACzB;AAEO,SAAS,kBAAkB;AAAA,EAChC;AAAA,EACA;AAAA,EACA;AAAA,EACA,SAAS,CAAA;AAAA,EACT;AAAA,EACA;AACF,GAOuB;AACrB,QAAM,aAAaA,eAAAA,gBAAgB;AAAA,IACjC,MAAM;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,CACD;AACD,SAAO;AAAA,IACL,GAAI,aAAa,CAAC,EAAE,GAAG,YAAY,OAAO,kBAAA,CAAmB,IAAI,CAAA;AAAA,IACjE,YAAY,EAAE,OAAO,UAAU;AAAA,IAC/B,YAAY,EAAE,OAAO,SAAA,CAAU;AAAA,EAAA;AAEnC;AAEA,SAAS,YAAY;AAAA,EACnB;AAAA,EACA;AACF,GAGqB;;AACnB,QAAM,QAAO,uBAAM,UAAN,mBAAa,aAAb,mBAAuB,aAAvB,mBAAiC;AAC9C,QAAM,UACJ,oBAAe,KAAK,CAAC,WAAW,OAAO,UAAU,IAAI,MAArD,mBAAwD,UACxDC,YAAAA;AACF,SAAO;AAAA,IACL,IAAI;AAAA,IACJ,OAAO;AAAA,IACP,OAAO,YAAY,KAAK;AAAA,IACxB,MAAMC,YAAAA;AAAAA,IACN,OAAO,QAAQ,IAAI;AAAA,IACnB,SACEC,2BAAAA,KAAAC,qBAAA,EACE,UAAA;AAAA,MAAAC,2BAAAA,IAAC,QAAA,EAAK,WAAWC,kBAAAA,mBAAmB,UAAA,UAAM;AAAA,MAC1CD,2BAAAA;AAAAA,QAACE,KAAAA;AAAAA,QAAA;AAAA,UACC,MAAML,YAAAA;AAAAA,UACN,WAAU;AAAA,QAAA;AAAA,MAAA;AAAA,MAEZG,2BAAAA,IAAC,QAAA,EAAK,WAAWG,kBAAAA,uBAAwB,UAAA,MAAA,CAAM;AAAA,IAAA,GACjD;AAAA,IAEF,GAAI,SAAS,cAAc,SAAS,QAChC;AAAA,MACE,QACEL,2BAAAA,KAAC,OAAA,EAAI,WAAU,cACb,UAAA;AAAA,QAAAE,2BAAAA,IAAC,QAAA,EAAK,WAAWC,kBAAAA,mBAAmB,UAAA,iBAAa;AAAA,QACjDD,2BAAAA;AAAAA,UAACI,WAAAA;AAAAA,UAAA;AAAA,YACC,cAAW;AAAA,YACX,SAAO,uBAAM,UAAN,mBAAa,aAAb,mBAAuB,aAAvB,mBAAiC,SAAQ;AAAA,YAChD,SACE,SAAS,cACT,GAAC,6BAAM,UAAN,mBAAa,aAAb,mBAAuB,aAAvB,mBAAiC,SAAjC,mBAAuC;AAAA,YAE1C,UAAU,CAAC,SAAS,SAASC,OAAAA,aAAa,OAAO,EAAE,KAAA,CAAM,CAAC;AAAA,YAC1D,gBAAe;AAAA,UAAA;AAAA,QAAA;AAAA,MACjB,EAAA,CACF;AAAA,IAAA,IAGJ,CAAA;AAAA,IACJ,OAAO;AAAA,MACL;AAAA,QACE,OACEL,2BAAAA;AAAAA,UAACM,kBAAAA;AAAAA,UAAA;AAAA,YACC,MAAMV,YAAAA;AAAAA,YACN,MAAMW,YAAAA,gBAAA;AAAA,YACN,UAAU,CAAC;AAAA,UAAA;AAAA,QAAA;AAAA,QAGf,UAAU,MAAM,SAASF,OAAAA,aAAa,OAAO,EAAE,MAAM,IAAI,CAAC;AAAA,MAAA;AAAA,MAE5D,GAAG,eAAe,IAAI,CAAC,YAAY;AAAA,QACjC,OACEL,2BAAAA;AAAAA,UAACM,kBAAAA;AAAAA,UAAA;AAAA,YACC,MAAM,OAAO;AAAA,YACb,UAAU,SAAS,OAAO;AAAA,UAAA;AAAA,QAAA;AAAA,QAG9B,UAAU,MAAM,SAASE,OAAAA,iBAAiB,OAAO,OAAO,KAAK,CAAC;AAAA,MAAA,EAC9D;AAAA,IAAA;AAAA,EACJ;AAEJ;AAEA,SAAS,YAAY;AAAA,EACnB;AAAA,EACA;AACF,GAGqB;;AACnB,QAAM,UAAQ,WAAM,aAAN,mBAAgB,aAAY;AAC1C,QAAM,QAAQC,OAAAA,YAAY,KAAK;AAC/B,QAAM,QAAQ,QACV,eAAe,KAAK,CAAC,WAAW,OAAO,UAAU,KAAK,EAAG,QACzDb,YAAAA;AACJ,SAAO;AAAA,IACL,IAAI;AAAA,IACJ,OAAO;AAAA,IACP,OAAO,YAAY,KAAK;AAAA,IACxB,MAAMc,YAAAA;AAAAA,IACN;AAAA,IACA,SACEZ,2BAAAA,KAAAC,qBAAA,EACE,UAAA;AAAA,MAAAC,2BAAAA,IAAC,QAAA,EAAK,WAAWC,kBAAAA,mBAAmB,UAAA,UAAM;AAAA,MAC1CD,2BAAAA;AAAAA,QAACE,KAAAA;AAAAA,QAAA;AAAA,UACC,MAAMQ,YAAAA;AAAAA,UACN,WAAU;AAAA,QAAA;AAAA,MAAA;AAAA,MAEZV,2BAAAA,IAAC,QAAA,EAAK,WAAWG,kBAAAA,uBAAwB,UAAA,MAAA,CAAM;AAAA,IAAA,GACjD;AAAA,IAEF,OAAO;AAAA,MACL;AAAA,QACE,OACEH,2BAAAA;AAAAA,UAACM,kBAAAA;AAAAA,UAAA;AAAA,YACC,MAAMV,YAAAA;AAAAA,YACN,MAAMW,YAAAA,gBAAA;AAAA,YACN,UAAU,CAAC;AAAA,UAAA;AAAA,QAAA;AAAA,QAGf,UAAU,MAAM;AACd,gBAAM,WAAW,EAAE,GAAG,MAAM,SAAA;AAC5B,iBAAO,SAAS;AAChB,gBAAM,OAA2B,EAAE,GAAG,OAAO,SAAA;AAC7C,cAAI,OAAO,KAAK,QAAQ,EAAE,WAAW,UAAU,KAAK;AACpD,mBAAS,IAAI;AAAA,QACf;AAAA,MAAA;AAAA,MAEF,GAAG,eAAe,IAAI,CAAC,YAAY;AAAA,QACjC,OACEP,2BAAAA;AAAAA,UAACM,kBAAAA;AAAAA,UAAA;AAAA,YACC,MAAM,OAAO;AAAA,YACb,UAAU,SAAS,UAAU,OAAO;AAAA,UAAA;AAAA,QAAA;AAAA,QAGxC,UAAU,MAAM,SAASK,OAAAA,gBAAgB,OAAO,OAAO,KAAK,CAAC;AAAA,MAAA,EAC7D;AAAA,IAAA;AAAA,EACJ;AAEJ;;"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { ChatModel } from '../chat/types.js';
|
|
2
|
+
import { RuntimeBarAction } from '../runtime/RuntimeBarActions.js';
|
|
3
|
+
import { SpecRuntimeFamily } from '../runtime/runtime-mode.js';
|
|
4
|
+
import { AISpecRuntimeValue } from './SpecRuntimeEditor.model.js';
|
|
5
|
+
export declare function runtimeSpecFields({ value, onChange, families, models, effectiveMode, effectiveModel, }: {
|
|
6
|
+
value: AISpecRuntimeValue;
|
|
7
|
+
onChange: (next: AISpecRuntimeValue) => void;
|
|
8
|
+
families: SpecRuntimeFamily[];
|
|
9
|
+
models?: ChatModel[];
|
|
10
|
+
effectiveMode?: string | undefined;
|
|
11
|
+
effectiveModel?: string | undefined;
|
|
12
|
+
}): RuntimeBarAction[];
|
|
13
|
+
//# sourceMappingURL=runtime-spec-fields.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime-spec-fields.d.ts","sourceRoot":"","sources":["../../../src/data/ai/runtime-spec-fields.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAMrE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAGjE,OAAO,KAAK,EACV,kBAAkB,EAGnB,MAAM,2BAA2B,CAAC;AAoBnC,wBAAgB,iBAAiB,CAAC,EAChC,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,MAAW,EACX,aAAa,EACb,cAAc,GACf,EAAE;IACD,KAAK,EAAE,kBAAkB,CAAC;IAC1B,QAAQ,EAAE,CAAC,IAAI,EAAE,kBAAkB,KAAK,IAAI,CAAC;IAC7C,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAC9B,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACrC,GAAG,gBAAgB,EAAE,CAcrB"}
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
import { jsx, jsxs, Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { InputField } from "../../components/InputField.js";
|
|
3
|
+
import { Icon } from "../Icon.js";
|
|
4
|
+
import { SegmentItemLabel, SEGMENT_KEY_CLASS, SEGMENT_CAPTION_CLASS } from "../runtime/RuntimeBarSegment.js";
|
|
5
|
+
import { UNSPECIFIED_LABEL, unspecifiedHint } from "../runtime/unspecified.js";
|
|
6
|
+
import { permissionField } from "./PromptRunEditor/runtimeActions.js";
|
|
7
|
+
import { withWorktree, withWorktreeMode, commitPhase, withCommitPhase } from "./SpecRuntimeEditor/update.js";
|
|
8
|
+
import { UiGitBranch } from "../../icons/components/UiGitBranch.js";
|
|
9
|
+
import { UiGitCommit } from "../../icons/components/UiGitCommit.js";
|
|
10
|
+
const SOURCE_OPTIONS = [
|
|
11
|
+
{ value: "new", label: "New worktree" },
|
|
12
|
+
{ value: "existing", label: "Existing worktree" },
|
|
13
|
+
{ value: "none", label: "HEAD" }
|
|
14
|
+
];
|
|
15
|
+
const COMMIT_OPTIONS = [
|
|
16
|
+
{ value: "none", label: "Never" },
|
|
17
|
+
{ value: "turn", label: "Every turn" },
|
|
18
|
+
{ value: "agent", label: "After the loop" },
|
|
19
|
+
{ value: "run", label: "End of run" }
|
|
20
|
+
];
|
|
21
|
+
function runtimeSpecFields({
|
|
22
|
+
value,
|
|
23
|
+
onChange,
|
|
24
|
+
families,
|
|
25
|
+
models = [],
|
|
26
|
+
effectiveMode,
|
|
27
|
+
effectiveModel
|
|
28
|
+
}) {
|
|
29
|
+
const permission = permissionField({
|
|
30
|
+
spec: value,
|
|
31
|
+
families,
|
|
32
|
+
models,
|
|
33
|
+
effectiveMode,
|
|
34
|
+
effectiveModel,
|
|
35
|
+
onChange
|
|
36
|
+
});
|
|
37
|
+
return [
|
|
38
|
+
...permission ? [{ ...permission, label: "Permission mode" }] : [],
|
|
39
|
+
sourceField({ value, onChange }),
|
|
40
|
+
commitField({ value, onChange })
|
|
41
|
+
];
|
|
42
|
+
}
|
|
43
|
+
function sourceField({
|
|
44
|
+
value,
|
|
45
|
+
onChange
|
|
46
|
+
}) {
|
|
47
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k;
|
|
48
|
+
const mode = (_c = (_b = (_a = value.setup) == null ? void 0 : _a.checkout) == null ? void 0 : _b.worktree) == null ? void 0 : _c.mode;
|
|
49
|
+
const label = ((_d = SOURCE_OPTIONS.find((option) => option.value === mode)) == null ? void 0 : _d.label) ?? UNSPECIFIED_LABEL;
|
|
50
|
+
return {
|
|
51
|
+
id: "setup.checkout.worktree.mode",
|
|
52
|
+
label: "Source",
|
|
53
|
+
title: `Source — ${label}`,
|
|
54
|
+
icon: UiGitBranch,
|
|
55
|
+
isSet: Boolean(mode),
|
|
56
|
+
caption: /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
57
|
+
/* @__PURE__ */ jsx("span", { className: SEGMENT_KEY_CLASS, children: "Source" }),
|
|
58
|
+
/* @__PURE__ */ jsx(
|
|
59
|
+
Icon,
|
|
60
|
+
{
|
|
61
|
+
icon: UiGitBranch,
|
|
62
|
+
className: "size-4 shrink-0 text-muted-foreground"
|
|
63
|
+
}
|
|
64
|
+
),
|
|
65
|
+
/* @__PURE__ */ jsx("span", { className: SEGMENT_CAPTION_CLASS, children: label })
|
|
66
|
+
] }),
|
|
67
|
+
...mode === "existing" || mode === "new" ? {
|
|
68
|
+
header: /* @__PURE__ */ jsxs("div", { className: "grid gap-1", children: [
|
|
69
|
+
/* @__PURE__ */ jsx("span", { className: SEGMENT_KEY_CLASS, children: "Worktree path" }),
|
|
70
|
+
/* @__PURE__ */ jsx(
|
|
71
|
+
InputField,
|
|
72
|
+
{
|
|
73
|
+
"aria-label": "Worktree path",
|
|
74
|
+
value: ((_g = (_f = (_e = value.setup) == null ? void 0 : _e.checkout) == null ? void 0 : _f.worktree) == null ? void 0 : _g.path) ?? "",
|
|
75
|
+
invalid: mode === "existing" && !((_k = (_j = (_i = (_h = value.setup) == null ? void 0 : _h.checkout) == null ? void 0 : _i.worktree) == null ? void 0 : _j.path) == null ? void 0 : _k.trim()),
|
|
76
|
+
onChange: (path) => onChange(withWorktree(value, { path })),
|
|
77
|
+
inputClassName: "font-mono text-xs"
|
|
78
|
+
}
|
|
79
|
+
)
|
|
80
|
+
] })
|
|
81
|
+
} : {},
|
|
82
|
+
items: [
|
|
83
|
+
{
|
|
84
|
+
label: /* @__PURE__ */ jsx(
|
|
85
|
+
SegmentItemLabel,
|
|
86
|
+
{
|
|
87
|
+
text: UNSPECIFIED_LABEL,
|
|
88
|
+
hint: unspecifiedHint(),
|
|
89
|
+
selected: !mode
|
|
90
|
+
}
|
|
91
|
+
),
|
|
92
|
+
onSelect: () => onChange(withWorktree(value, { mode: "" }))
|
|
93
|
+
},
|
|
94
|
+
...SOURCE_OPTIONS.map((option) => ({
|
|
95
|
+
label: /* @__PURE__ */ jsx(
|
|
96
|
+
SegmentItemLabel,
|
|
97
|
+
{
|
|
98
|
+
text: option.label,
|
|
99
|
+
selected: mode === option.value
|
|
100
|
+
}
|
|
101
|
+
),
|
|
102
|
+
onSelect: () => onChange(withWorktreeMode(value, option.value))
|
|
103
|
+
}))
|
|
104
|
+
]
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
function commitField({
|
|
108
|
+
value,
|
|
109
|
+
onChange
|
|
110
|
+
}) {
|
|
111
|
+
var _a;
|
|
112
|
+
const isSet = ((_a = value.workflow) == null ? void 0 : _a.commits) !== void 0;
|
|
113
|
+
const phase = commitPhase(value);
|
|
114
|
+
const label = isSet ? COMMIT_OPTIONS.find((option) => option.value === phase).label : UNSPECIFIED_LABEL;
|
|
115
|
+
return {
|
|
116
|
+
id: "workflow.commits",
|
|
117
|
+
label: "Commit",
|
|
118
|
+
title: `Commit — ${label}`,
|
|
119
|
+
icon: UiGitCommit,
|
|
120
|
+
isSet,
|
|
121
|
+
caption: /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
122
|
+
/* @__PURE__ */ jsx("span", { className: SEGMENT_KEY_CLASS, children: "Commit" }),
|
|
123
|
+
/* @__PURE__ */ jsx(
|
|
124
|
+
Icon,
|
|
125
|
+
{
|
|
126
|
+
icon: UiGitCommit,
|
|
127
|
+
className: "size-4 shrink-0 text-muted-foreground"
|
|
128
|
+
}
|
|
129
|
+
),
|
|
130
|
+
/* @__PURE__ */ jsx("span", { className: SEGMENT_CAPTION_CLASS, children: label })
|
|
131
|
+
] }),
|
|
132
|
+
items: [
|
|
133
|
+
{
|
|
134
|
+
label: /* @__PURE__ */ jsx(
|
|
135
|
+
SegmentItemLabel,
|
|
136
|
+
{
|
|
137
|
+
text: UNSPECIFIED_LABEL,
|
|
138
|
+
hint: unspecifiedHint(),
|
|
139
|
+
selected: !isSet
|
|
140
|
+
}
|
|
141
|
+
),
|
|
142
|
+
onSelect: () => {
|
|
143
|
+
const workflow = { ...value.workflow };
|
|
144
|
+
delete workflow.commits;
|
|
145
|
+
const next = { ...value, workflow };
|
|
146
|
+
if (Object.keys(workflow).length === 0) delete next.workflow;
|
|
147
|
+
onChange(next);
|
|
148
|
+
}
|
|
149
|
+
},
|
|
150
|
+
...COMMIT_OPTIONS.map((option) => ({
|
|
151
|
+
label: /* @__PURE__ */ jsx(
|
|
152
|
+
SegmentItemLabel,
|
|
153
|
+
{
|
|
154
|
+
text: option.label,
|
|
155
|
+
selected: isSet && phase === option.value
|
|
156
|
+
}
|
|
157
|
+
),
|
|
158
|
+
onSelect: () => onChange(withCommitPhase(value, option.value))
|
|
159
|
+
}))
|
|
160
|
+
]
|
|
161
|
+
};
|
|
162
|
+
}
|
|
163
|
+
export {
|
|
164
|
+
runtimeSpecFields
|
|
165
|
+
};
|
|
166
|
+
//# sourceMappingURL=runtime-spec-fields.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime-spec-fields.js","sources":["../../../src/data/ai/runtime-spec-fields.tsx"],"sourcesContent":["import { InputField } from \"../../components/InputField\";\nimport { UiGitBranch, UiGitCommit } from \"../../icons\";\nimport { Icon } from \"../Icon\";\nimport type { ChatModel } from \"../chat/types\";\nimport type { RuntimeBarAction } from \"../runtime/RuntimeBarActions\";\nimport {\n SEGMENT_CAPTION_CLASS,\n SEGMENT_KEY_CLASS,\n SegmentItemLabel,\n} from \"../runtime/RuntimeBarSegment\";\nimport type { SpecRuntimeFamily } from \"../runtime/runtime-mode\";\nimport { UNSPECIFIED_LABEL, unspecifiedHint } from \"../runtime/unspecified\";\nimport { permissionField } from \"./PromptRunEditor/runtimeActions\";\nimport type {\n AISpecRuntimeValue,\n SpecCommitPhase,\n SpecWorktreeMode,\n} from \"./SpecRuntimeEditor.model\";\nimport {\n commitPhase,\n withCommitPhase,\n withWorktree,\n withWorktreeMode,\n} from \"./SpecRuntimeEditor/update\";\n\nconst SOURCE_OPTIONS: { value: SpecWorktreeMode; label: string }[] = [\n { value: \"new\", label: \"New worktree\" },\n { value: \"existing\", label: \"Existing worktree\" },\n { value: \"none\", label: \"HEAD\" },\n];\nconst COMMIT_OPTIONS: { value: SpecCommitPhase | \"none\"; label: string }[] = [\n { value: \"none\", label: \"Never\" },\n { value: \"turn\", label: \"Every turn\" },\n { value: \"agent\", label: \"After the loop\" },\n { value: \"run\", label: \"End of run\" },\n];\n\nexport function runtimeSpecFields({\n value,\n onChange,\n families,\n models = [],\n effectiveMode,\n effectiveModel,\n}: {\n value: AISpecRuntimeValue;\n onChange: (next: AISpecRuntimeValue) => void;\n families: SpecRuntimeFamily[];\n models?: ChatModel[];\n effectiveMode?: string | undefined;\n effectiveModel?: string | undefined;\n}): RuntimeBarAction[] {\n const permission = permissionField({\n spec: value,\n families,\n models,\n effectiveMode,\n effectiveModel,\n onChange,\n });\n return [\n ...(permission ? [{ ...permission, label: \"Permission mode\" }] : []),\n sourceField({ value, onChange }),\n commitField({ value, onChange }),\n ];\n}\n\nfunction sourceField({\n value,\n onChange,\n}: {\n value: AISpecRuntimeValue;\n onChange: (next: AISpecRuntimeValue) => void;\n}): RuntimeBarAction {\n const mode = value.setup?.checkout?.worktree?.mode;\n const label =\n SOURCE_OPTIONS.find((option) => option.value === mode)?.label ??\n UNSPECIFIED_LABEL;\n return {\n id: \"setup.checkout.worktree.mode\",\n label: \"Source\",\n title: `Source — ${label}`,\n icon: UiGitBranch,\n isSet: Boolean(mode),\n caption: (\n <>\n <span className={SEGMENT_KEY_CLASS}>Source</span>\n <Icon\n icon={UiGitBranch}\n className=\"size-4 shrink-0 text-muted-foreground\"\n />\n <span className={SEGMENT_CAPTION_CLASS}>{label}</span>\n </>\n ),\n ...(mode === \"existing\" || mode === \"new\"\n ? {\n header: (\n <div className=\"grid gap-1\">\n <span className={SEGMENT_KEY_CLASS}>Worktree path</span>\n <InputField\n aria-label=\"Worktree path\"\n value={value.setup?.checkout?.worktree?.path ?? \"\"}\n invalid={\n mode === \"existing\" &&\n !value.setup?.checkout?.worktree?.path?.trim()\n }\n onChange={(path) => onChange(withWorktree(value, { path }))}\n inputClassName=\"font-mono text-xs\"\n />\n </div>\n ),\n }\n : {}),\n items: [\n {\n label: (\n <SegmentItemLabel\n text={UNSPECIFIED_LABEL}\n hint={unspecifiedHint()}\n selected={!mode}\n />\n ),\n onSelect: () => onChange(withWorktree(value, { mode: \"\" })),\n },\n ...SOURCE_OPTIONS.map((option) => ({\n label: (\n <SegmentItemLabel\n text={option.label}\n selected={mode === option.value}\n />\n ),\n onSelect: () => onChange(withWorktreeMode(value, option.value)),\n })),\n ],\n };\n}\n\nfunction commitField({\n value,\n onChange,\n}: {\n value: AISpecRuntimeValue;\n onChange: (next: AISpecRuntimeValue) => void;\n}): RuntimeBarAction {\n const isSet = value.workflow?.commits !== undefined;\n const phase = commitPhase(value);\n const label = isSet\n ? COMMIT_OPTIONS.find((option) => option.value === phase)!.label\n : UNSPECIFIED_LABEL;\n return {\n id: \"workflow.commits\",\n label: \"Commit\",\n title: `Commit — ${label}`,\n icon: UiGitCommit,\n isSet,\n caption: (\n <>\n <span className={SEGMENT_KEY_CLASS}>Commit</span>\n <Icon\n icon={UiGitCommit}\n className=\"size-4 shrink-0 text-muted-foreground\"\n />\n <span className={SEGMENT_CAPTION_CLASS}>{label}</span>\n </>\n ),\n items: [\n {\n label: (\n <SegmentItemLabel\n text={UNSPECIFIED_LABEL}\n hint={unspecifiedHint()}\n selected={!isSet}\n />\n ),\n onSelect: () => {\n const workflow = { ...value.workflow };\n delete workflow.commits;\n const next: AISpecRuntimeValue = { ...value, workflow };\n if (Object.keys(workflow).length === 0) delete next.workflow;\n onChange(next);\n },\n },\n ...COMMIT_OPTIONS.map((option) => ({\n label: (\n <SegmentItemLabel\n text={option.label}\n selected={isSet && phase === option.value}\n />\n ),\n onSelect: () => onChange(withCommitPhase(value, option.value)),\n })),\n ],\n };\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -214,6 +214,9 @@ function eventCategory(event) {
|
|
|
214
214
|
if (event.kind !== "tool") return null;
|
|
215
215
|
return classifyToolCategory(event.tool ?? "", event.toolInput);
|
|
216
216
|
}
|
|
217
|
+
function isEncryptedReasoning(event) {
|
|
218
|
+
return event.kind === "thinking" && /^\d+ encrypted reasoning records? (?:at|over) \S/.test(event.text ?? "");
|
|
219
|
+
}
|
|
217
220
|
function isEventVisible(event, v) {
|
|
218
221
|
if (event.pending) return true;
|
|
219
222
|
if (event.kind === "thinking") return v.showThinking;
|
|
@@ -249,5 +252,6 @@ exports.classifyCommand = classifyCommand;
|
|
|
249
252
|
exports.classifyToolCategory = classifyToolCategory;
|
|
250
253
|
exports.collectSessionFilters = collectSessionFilters;
|
|
251
254
|
exports.eventCategory = eventCategory;
|
|
255
|
+
exports.isEncryptedReasoning = isEncryptedReasoning;
|
|
252
256
|
exports.isEventVisible = isEventVisible;
|
|
253
257
|
//# sourceMappingURL=session-categories.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-categories.cjs","sources":["../../../src/data/ai/session-categories.ts"],"sourcesContent":["import type { StaticIconComponent } from \"../Icon\";\nimport {\n UiBeaker,\n UiBox,\n UiBoxes,\n UiCloudDownload,\n UiEye,\n UiGitBranch,\n UiPackage,\n UiPencilSimpleLine,\n UiPlayCircle,\n UiQuestion,\n UiSearch,\n UiShieldCheck,\n UiStrategy,\n UiTrash,\n UiWrench,\n} from \"../../icons\";\nimport { getSessionAction, type SessionEvent } from \"./SessionViewer.model\";\n\n// ── Captain category taxonomy ───────────────────────────────────────────────\n// A faithful TypeScript port of captain's `pkg/bash` category classifier\n// (`category.go` + `category_config.yaml`) so the SessionViewer's filter mirrors\n// what `captain history --category` / `--tool` expose. A tool maps to a category\n// either directly (Read → explore, Edit → edit, …) or, for Bash, by classifying\n// the command string.\n\nexport type SessionCategory =\n | \"build\"\n | \"test\"\n | \"install\"\n | \"explore\"\n | \"lint\"\n | \"cleanup\"\n | \"git\"\n | \"docker\"\n | \"k8s\"\n | \"run\"\n | \"plan\"\n | \"edit\"\n | \"clarify\"\n | \"read\"\n | \"other\";\n\nexport const CATEGORY_LABELS: Record<SessionCategory, string> = {\n build: \"Build\",\n test: \"Test\",\n install: \"Install\",\n explore: \"Explore\",\n lint: \"Lint\",\n cleanup: \"Cleanup\",\n git: \"Git\",\n docker: \"Docker\",\n k8s: \"Kubernetes\",\n run: \"Run\",\n plan: \"Plan\",\n edit: \"Edit\",\n clarify: \"Clarify\",\n read: \"Read\",\n other: \"Other\",\n};\n\n// Per-category glyph, following the \"Agent Action Icons\" workflow palette — run\n// plays, plan strategizes, verify-adjacent categories (test/lint) carry their\n// own marks so the filter menu reads at a glance.\nexport const CATEGORY_ICONS: Record<SessionCategory, StaticIconComponent> = {\n build: UiPackage,\n test: UiBeaker,\n install: UiCloudDownload,\n explore: UiSearch,\n lint: UiShieldCheck,\n cleanup: UiTrash,\n git: UiGitBranch,\n docker: UiBox,\n k8s: UiBoxes,\n run: UiPlayCircle,\n plan: UiStrategy,\n edit: UiPencilSimpleLine,\n clarify: UiQuestion,\n read: UiEye,\n other: UiWrench,\n};\n\nconst CATEGORY_PRIORITY: Record<SessionCategory, number> = {\n install: 100,\n edit: 90,\n run: 80,\n test: 70,\n build: 60,\n cleanup: 50,\n docker: 40,\n k8s: 40,\n git: 30,\n explore: 20,\n lint: 20,\n plan: 20,\n read: 15,\n clarify: 10,\n other: 0,\n};\n\ninterface CategoryRule {\n tools?: string[];\n commands?: string[];\n patterns?: string[];\n}\n\n// Mirrors pkg/bash/category_config.yaml. Order is irrelevant — ties resolve by\n// match specificity, then priority, then category name (see chooseBetterMatch).\nconst CATEGORY_CONFIG: Array<[SessionCategory, CategoryRule]> = [\n [\n \"build\",\n {\n commands: [\"go build\", \"make build\", \"make all\", \"cargo build\", \"npm run build\", \"yarn build\", \"task build\", \"gradle build\", \"mvn compile\", \"mvn package\", \"dotnet build\", \"pnpm build\", \"bun build\", \"mage\", \"bazel build\", \"nx build\", \"turbo build\", \"javac\"],\n patterns: [\".*gradle.*(build|compile|bootJar|jar).*\", \".*mvn.*(compile|package)\", \"^go build\", \"^make\\\\s*$\", \"^make\\\\s+(build|all)\\\\b\", \"^cargo build\", \"^task build\"],\n },\n ],\n [\n \"test\",\n {\n commands: [\"go test\", \"pytest\", \"npm test\", \"yarn test\", \"task test\", \"make test\", \"cargo test\", \"mvn test\", \"gradle test\", \"vitest\", \"jest\", \"bun test\", \"dotnet test\", \"ginkgo\", \"gotestsum\", \"zig test\"],\n patterns: [\".*gradle.*test\", \".*mvn.*test\", \"^go test\", \"^pytest\", \"^npm (run )?test\", \"^make\\\\s+test\", \"^vitest\", \"^jest\", \"^bun test\", \"^ginkgo\", \"^gotestsum\"],\n },\n ],\n [\n \"install\",\n {\n commands: [\"npm install\", \"npm i\", \"yarn install\", \"yarn add\", \"go mod tidy\", \"go mod download\", \"go get\", \"pip install\", \"pip3 install\", \"cargo add\", \"brew install\", \"apt install\", \"apt-get install\", \"pnpm install\", \"pnpm add\", \"bun install\", \"bun add\", \"poetry install\", \"poetry add\", \"uv pip install\", \"pdm install\", \"pdm add\"],\n patterns: [\"^npm (install|i)\\\\b\", \"^yarn (install|add)\\\\b\", \"^pip3? install\", \"^go (mod tidy|mod download|get)\", \"^pnpm (install|add)\\\\b\", \"^bun (install|add)\\\\b\", \"^poetry (install|add)\\\\b\", \"^uv pip install\", \"^pdm (install|add)\\\\b\"],\n },\n ],\n [\n \"explore\",\n {\n tools: [\"Read\", \"Grep\", \"Glob\", \"LSP\", \"WebFetch\", \"WebSearch\"],\n commands: [\"ls\", \"md5\", \"echo\", \"find\", \"grep\", \"rg\", \"ag\", \"cat\", \"head\", \"tail\", \"less\", \"more\", \"tree\", \"wc\", \"file\", \"stat\", \"du\", \"df\", \"pwd\", \"which\", \"whereis\", \"type\", \"fd\", \"bat\", \"exa\", \"eza\", \"fzf\", \"jq\", \"yq\", \"ripgrep\", \"sd\", \"diff\", \"go list\", \"git status\", \"git diff\", \"git log\", \"ps\", \"printenv\", \"sed\"],\n patterns: [\"^ls\\\\b\", \"^find\\\\b\", \"^grep\\\\b\", \"^rg\\\\b\", \"^cat\\\\b\", \"^head\\\\b\", \"^tail\\\\b\", \"^tree\\\\b\", \"^fd\\\\b\", \"^bat\\\\b\", \"^exa\\\\b\", \"^eza\\\\b\", \"^jq\\\\b\", \"^yq\\\\b\", \"^diff\\\\b\", \"^go list\\\\b\", \"^git\\\\s+(status|diff|log)\\\\b\"],\n },\n ],\n [\n \"lint\",\n {\n commands: [\"golangci-lint\", \"eslint\", \"gofmt\", \"go fmt\", \"prettier\", \"black\", \"flake8\", \"pylint\", \"rubocop\", \"shellcheck\", \"task fmt\", \"make fmt\", \"make lint\", \"biome\", \"ruff\", \"mypy\", \"staticcheck\", \"buf lint\", \"deno lint\", \"oxlint\"],\n patterns: [\"lint\", \"^go fmt\", \"^gofmt\", \"^prettier\", \"^black\\\\b\", \"^biome\\\\b\", \"^ruff\\\\b\", \"^mypy\\\\b\", \"^staticcheck\\\\b\"],\n },\n ],\n [\n \"cleanup\",\n {\n commands: [\"rm\", \"rmdir\", \"git clean\", \"make clean\", \"cargo clean\", \"go clean\", \"npm cache clean\", \"docker prune\", \"docker system prune\"],\n patterns: [\"^rm\\\\b\", \"^rmdir\\\\b\", \"clean\\\\b\", \"prune\\\\b\"],\n },\n ],\n [\n \"git\",\n {\n commands: [\"git show\", \"git branch\", \"git checkout\", \"git switch\", \"git commit\", \"git push\", \"git pull\", \"git fetch\", \"git merge\", \"git rebase\", \"git stash\", \"git add\", \"git reset\", \"git clone\", \"git remote\", \"git tag\"],\n patterns: [\"^git\\\\b\"],\n },\n ],\n [\n \"docker\",\n {\n commands: [\"docker run\", \"docker build\", \"docker push\", \"docker pull\", \"docker ps\", \"docker images\", \"docker logs\", \"docker exec\", \"docker stop\", \"docker start\", \"docker rm\", \"docker rmi\", \"docker-compose\", \"podman\"],\n patterns: [\"^docker\\\\b\", \"^docker-compose\\\\b\", \"^podman\\\\b\"],\n },\n ],\n [\n \"k8s\",\n {\n commands: [\"kubectl\", \"helm\", \"k9s\", \"kubectx\", \"kubens\", \"kustomize\", \"minikube\", \"kind\"],\n patterns: [\"^kubectl\\\\b\", \"^helm\\\\b\", \"^k9s\\\\b\", \"^kubectx\\\\b\", \"^kubens\\\\b\", \"^kustomize\\\\b\", \"^minikube\\\\b\", \"^kind\\\\b\"],\n },\n ],\n [\n \"run\",\n {\n tools: [\"KillShell\"],\n commands: [\"go run\", \"python\", \"python3\", \"node\", \"bun run\", \"deno run\", \"ruby\", \"perl\", \"php\", \"java\"],\n patterns: [\".*gradle.*run.*\", \"^go run\\\\b\", \"^python3?\\\\b\", \"^node\\\\b\", \"^bun run\\\\b\", \"^deno run\\\\b\", \"^ruby\\\\b\", \"^perl\\\\b\", \"^php\\\\b\", \"^java\\\\s+-jar\\\\b\", \"^\\\\./[\\\\w.-]+\\\\.(sh|bash|py|rb|pl)$\", \"^bash\\\\s+\\\\S+\\\\.sh\"],\n },\n ],\n [\n \"plan\",\n {\n tools: [\"Task\", \"TodoWrite\", \"EnterPlanMode\"],\n commands: [\"task\", \"make help\", \"task explore\", \"task plan\", \"task todos\", \"task todo\"],\n patterns: [\"^task\\\\s*$\", \"^task\\\\s+--list\", \"^make\\\\s+help\"],\n },\n ],\n [\n \"edit\",\n {\n tools: [\"Edit\", \"Write\", \"NotebookEdit\"],\n commands: [\"mkdir\"],\n patterns: [\"sed.* -i\"],\n },\n ],\n [\"clarify\", { tools: [\"AskUserQuestion\", \"ExitPlanMode\", \"TaskOutput\"] }],\n];\n\nconst COMPILED: Array<[SessionCategory, RegExp[]]> = CATEGORY_CONFIG.map(([cat, rule]) => [\n cat,\n (rule.patterns ?? []).map((p) => new RegExp(p)),\n]);\n\ninterface CategoryMatch {\n category: SessionCategory;\n specificity: number;\n matched: boolean;\n}\n\n// Port of betterCategoryMatch: prefer higher match specificity, then higher\n// category priority, then the lexicographically smaller name.\nfunction chooseBetterMatch(current: CategoryMatch, candidate: CategoryMatch): CategoryMatch {\n if (!candidate.matched || candidate.category === \"other\") return current;\n if (!current.matched || current.category === \"other\") return candidate;\n if (candidate.specificity > current.specificity) return candidate;\n if (candidate.specificity < current.specificity) return current;\n const cp = CATEGORY_PRIORITY[candidate.category];\n const kp = CATEGORY_PRIORITY[current.category];\n if (cp > kp) return candidate;\n if (cp < kp) return current;\n return candidate.category < current.category ? candidate : current;\n}\n\n/** Classify a raw shell command, mirroring captain's `Classify`. */\nexport function classifyCommand(command: string): SessionCategory {\n const cmd = command.trim();\n if (!cmd) return \"other\";\n let best: CategoryMatch = { category: \"other\", specificity: 0, matched: false };\n for (const [cat, rule] of CATEGORY_CONFIG) {\n for (const prefix of rule.commands ?? []) {\n if (cmd === prefix || cmd.startsWith(`${prefix} `)) {\n best = chooseBetterMatch(best, { category: cat, specificity: prefix.length, matched: true });\n }\n }\n }\n for (const [cat, regexps] of COMPILED) {\n for (const re of regexps) {\n if (re.test(cmd)) {\n best = chooseBetterMatch(best, { category: cat, specificity: re.source.length, matched: true });\n }\n }\n }\n return best.category;\n}\n\nfunction classifyTool(tool: string): SessionCategory {\n for (const [cat, rule] of CATEGORY_CONFIG) {\n if (rule.tools?.includes(tool)) return cat;\n }\n return \"other\";\n}\n\nfunction inputString(input: Record<string, unknown> | undefined, key: string): string {\n return typeof input?.[key] === \"string\" ? (input[key] as string) : \"\";\n}\n\n/** Category for a tool invocation, mirroring captain's classifyToolUse: a\n * `.claude/plans/` path is plan; a Bash command falls through to command\n * classification when the tool itself is uncategorized. */\nexport function classifyToolCategory(tool: string, input?: Record<string, unknown>): SessionCategory {\n const filePath =\n inputString(input, \"file_path\") || inputString(input, \"notebook_path\") || inputString(input, \"path\");\n if (filePath.includes(\"/.claude/plans/\")) return \"plan\";\n const cat = classifyTool(tool);\n if (cat === \"other\" && tool === \"Bash\") return classifyCommand(inputString(input, \"command\"));\n return cat;\n}\n\n/** The category of a normalized event, or null for non-tool events. */\nexport function eventCategory(event: SessionEvent): SessionCategory | null {\n if (event.kind !== \"tool\") return null;\n return classifyToolCategory(event.tool ?? \"\", event.toolInput);\n}\n\nexport interface SessionFilters {\n /** Distinct categories present, ordered by descending impact priority. */\n categories: SessionCategory[];\n /** Distinct tools present, with display labels, ordered by label. */\n tools: Array<{ key: string; label: string }>;\n /** Distinct sources present (e.g. \"claude\", \"codex\"). */\n sources: string[];\n}\n\nexport interface SessionVisibility {\n hiddenCategories: ReadonlySet<SessionCategory>;\n hiddenTools: ReadonlySet<string>;\n hiddenSources: ReadonlySet<string>;\n /** When false, reasoning (\"thinking\") events are hidden. */\n showThinking: boolean;\n}\n\n/** Whether an event survives the active filters. Tool events are gated by their\n * tool, category and source; reasoning by `showThinking`; everything else\n * (user/assistant/error) is always shown. */\nexport function isEventVisible(event: SessionEvent, v: SessionVisibility): boolean {\n if (event.pending) return true;\n if (event.kind === \"thinking\") return v.showThinking;\n if (event.kind !== \"tool\") return true;\n const tool = event.tool ?? \"\";\n if (v.hiddenTools.has(tool)) return false;\n if (v.hiddenCategories.has(classifyToolCategory(tool, event.toolInput))) return false;\n if (event.source && v.hiddenSources.has(event.source)) return false;\n return true;\n}\n\n/** Collect the filter facets (category / tool / source) present in a session. */\nexport function collectSessionFilters(events: SessionEvent[]): SessionFilters {\n const categories = new Set<SessionCategory>();\n const tools = new Map<string, string>();\n const sources = new Set<string>();\n for (const event of events) {\n if (event.kind !== \"tool\") continue;\n const tool = event.tool ?? \"\";\n categories.add(classifyToolCategory(tool, event.toolInput));\n if (!tools.has(tool)) tools.set(tool, getSessionAction(tool).label);\n if (event.source) sources.add(event.source);\n }\n return {\n categories: [...categories].sort(\n (a, b) => CATEGORY_PRIORITY[b] - CATEGORY_PRIORITY[a] || a.localeCompare(b),\n ),\n tools: [...tools].map(([key, label]) => ({ key, label })).sort((a, b) => a.label.localeCompare(b.label)),\n sources: [...sources].sort(),\n };\n}\n"],"names":["UiPackage","UiBeaker","UiCloudDownload","UiSearch","UiShieldCheck","UiTrash","UiGitBranch","UiBox","UiBoxes","UiPlayCircle","UiStrategy","UiPencilSimpleLine","UiQuestion","UiEye","UiWrench","getSessionAction"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"session-categories.cjs","sources":["../../../src/data/ai/session-categories.ts"],"sourcesContent":["import type { StaticIconComponent } from \"../Icon\";\nimport {\n UiBeaker,\n UiBox,\n UiBoxes,\n UiCloudDownload,\n UiEye,\n UiGitBranch,\n UiPackage,\n UiPencilSimpleLine,\n UiPlayCircle,\n UiQuestion,\n UiSearch,\n UiShieldCheck,\n UiStrategy,\n UiTrash,\n UiWrench,\n} from \"../../icons\";\nimport { getSessionAction, type SessionEvent } from \"./SessionViewer.model\";\n\n// ── Captain category taxonomy ───────────────────────────────────────────────\n// A faithful TypeScript port of captain's `pkg/bash` category classifier\n// (`category.go` + `category_config.yaml`) so the SessionViewer's filter mirrors\n// what `captain history --category` / `--tool` expose. A tool maps to a category\n// either directly (Read → explore, Edit → edit, …) or, for Bash, by classifying\n// the command string.\n\nexport type SessionCategory =\n | \"build\"\n | \"test\"\n | \"install\"\n | \"explore\"\n | \"lint\"\n | \"cleanup\"\n | \"git\"\n | \"docker\"\n | \"k8s\"\n | \"run\"\n | \"plan\"\n | \"edit\"\n | \"clarify\"\n | \"read\"\n | \"other\";\n\nexport const CATEGORY_LABELS: Record<SessionCategory, string> = {\n build: \"Build\",\n test: \"Test\",\n install: \"Install\",\n explore: \"Explore\",\n lint: \"Lint\",\n cleanup: \"Cleanup\",\n git: \"Git\",\n docker: \"Docker\",\n k8s: \"Kubernetes\",\n run: \"Run\",\n plan: \"Plan\",\n edit: \"Edit\",\n clarify: \"Clarify\",\n read: \"Read\",\n other: \"Other\",\n};\n\n// Per-category glyph, following the \"Agent Action Icons\" workflow palette — run\n// plays, plan strategizes, verify-adjacent categories (test/lint) carry their\n// own marks so the filter menu reads at a glance.\nexport const CATEGORY_ICONS: Record<SessionCategory, StaticIconComponent> = {\n build: UiPackage,\n test: UiBeaker,\n install: UiCloudDownload,\n explore: UiSearch,\n lint: UiShieldCheck,\n cleanup: UiTrash,\n git: UiGitBranch,\n docker: UiBox,\n k8s: UiBoxes,\n run: UiPlayCircle,\n plan: UiStrategy,\n edit: UiPencilSimpleLine,\n clarify: UiQuestion,\n read: UiEye,\n other: UiWrench,\n};\n\nconst CATEGORY_PRIORITY: Record<SessionCategory, number> = {\n install: 100,\n edit: 90,\n run: 80,\n test: 70,\n build: 60,\n cleanup: 50,\n docker: 40,\n k8s: 40,\n git: 30,\n explore: 20,\n lint: 20,\n plan: 20,\n read: 15,\n clarify: 10,\n other: 0,\n};\n\ninterface CategoryRule {\n tools?: string[];\n commands?: string[];\n patterns?: string[];\n}\n\n// Mirrors pkg/bash/category_config.yaml. Order is irrelevant — ties resolve by\n// match specificity, then priority, then category name (see chooseBetterMatch).\nconst CATEGORY_CONFIG: Array<[SessionCategory, CategoryRule]> = [\n [\n \"build\",\n {\n commands: [\"go build\", \"make build\", \"make all\", \"cargo build\", \"npm run build\", \"yarn build\", \"task build\", \"gradle build\", \"mvn compile\", \"mvn package\", \"dotnet build\", \"pnpm build\", \"bun build\", \"mage\", \"bazel build\", \"nx build\", \"turbo build\", \"javac\"],\n patterns: [\".*gradle.*(build|compile|bootJar|jar).*\", \".*mvn.*(compile|package)\", \"^go build\", \"^make\\\\s*$\", \"^make\\\\s+(build|all)\\\\b\", \"^cargo build\", \"^task build\"],\n },\n ],\n [\n \"test\",\n {\n commands: [\"go test\", \"pytest\", \"npm test\", \"yarn test\", \"task test\", \"make test\", \"cargo test\", \"mvn test\", \"gradle test\", \"vitest\", \"jest\", \"bun test\", \"dotnet test\", \"ginkgo\", \"gotestsum\", \"zig test\"],\n patterns: [\".*gradle.*test\", \".*mvn.*test\", \"^go test\", \"^pytest\", \"^npm (run )?test\", \"^make\\\\s+test\", \"^vitest\", \"^jest\", \"^bun test\", \"^ginkgo\", \"^gotestsum\"],\n },\n ],\n [\n \"install\",\n {\n commands: [\"npm install\", \"npm i\", \"yarn install\", \"yarn add\", \"go mod tidy\", \"go mod download\", \"go get\", \"pip install\", \"pip3 install\", \"cargo add\", \"brew install\", \"apt install\", \"apt-get install\", \"pnpm install\", \"pnpm add\", \"bun install\", \"bun add\", \"poetry install\", \"poetry add\", \"uv pip install\", \"pdm install\", \"pdm add\"],\n patterns: [\"^npm (install|i)\\\\b\", \"^yarn (install|add)\\\\b\", \"^pip3? install\", \"^go (mod tidy|mod download|get)\", \"^pnpm (install|add)\\\\b\", \"^bun (install|add)\\\\b\", \"^poetry (install|add)\\\\b\", \"^uv pip install\", \"^pdm (install|add)\\\\b\"],\n },\n ],\n [\n \"explore\",\n {\n tools: [\"Read\", \"Grep\", \"Glob\", \"LSP\", \"WebFetch\", \"WebSearch\"],\n commands: [\"ls\", \"md5\", \"echo\", \"find\", \"grep\", \"rg\", \"ag\", \"cat\", \"head\", \"tail\", \"less\", \"more\", \"tree\", \"wc\", \"file\", \"stat\", \"du\", \"df\", \"pwd\", \"which\", \"whereis\", \"type\", \"fd\", \"bat\", \"exa\", \"eza\", \"fzf\", \"jq\", \"yq\", \"ripgrep\", \"sd\", \"diff\", \"go list\", \"git status\", \"git diff\", \"git log\", \"ps\", \"printenv\", \"sed\"],\n patterns: [\"^ls\\\\b\", \"^find\\\\b\", \"^grep\\\\b\", \"^rg\\\\b\", \"^cat\\\\b\", \"^head\\\\b\", \"^tail\\\\b\", \"^tree\\\\b\", \"^fd\\\\b\", \"^bat\\\\b\", \"^exa\\\\b\", \"^eza\\\\b\", \"^jq\\\\b\", \"^yq\\\\b\", \"^diff\\\\b\", \"^go list\\\\b\", \"^git\\\\s+(status|diff|log)\\\\b\"],\n },\n ],\n [\n \"lint\",\n {\n commands: [\"golangci-lint\", \"eslint\", \"gofmt\", \"go fmt\", \"prettier\", \"black\", \"flake8\", \"pylint\", \"rubocop\", \"shellcheck\", \"task fmt\", \"make fmt\", \"make lint\", \"biome\", \"ruff\", \"mypy\", \"staticcheck\", \"buf lint\", \"deno lint\", \"oxlint\"],\n patterns: [\"lint\", \"^go fmt\", \"^gofmt\", \"^prettier\", \"^black\\\\b\", \"^biome\\\\b\", \"^ruff\\\\b\", \"^mypy\\\\b\", \"^staticcheck\\\\b\"],\n },\n ],\n [\n \"cleanup\",\n {\n commands: [\"rm\", \"rmdir\", \"git clean\", \"make clean\", \"cargo clean\", \"go clean\", \"npm cache clean\", \"docker prune\", \"docker system prune\"],\n patterns: [\"^rm\\\\b\", \"^rmdir\\\\b\", \"clean\\\\b\", \"prune\\\\b\"],\n },\n ],\n [\n \"git\",\n {\n commands: [\"git show\", \"git branch\", \"git checkout\", \"git switch\", \"git commit\", \"git push\", \"git pull\", \"git fetch\", \"git merge\", \"git rebase\", \"git stash\", \"git add\", \"git reset\", \"git clone\", \"git remote\", \"git tag\"],\n patterns: [\"^git\\\\b\"],\n },\n ],\n [\n \"docker\",\n {\n commands: [\"docker run\", \"docker build\", \"docker push\", \"docker pull\", \"docker ps\", \"docker images\", \"docker logs\", \"docker exec\", \"docker stop\", \"docker start\", \"docker rm\", \"docker rmi\", \"docker-compose\", \"podman\"],\n patterns: [\"^docker\\\\b\", \"^docker-compose\\\\b\", \"^podman\\\\b\"],\n },\n ],\n [\n \"k8s\",\n {\n commands: [\"kubectl\", \"helm\", \"k9s\", \"kubectx\", \"kubens\", \"kustomize\", \"minikube\", \"kind\"],\n patterns: [\"^kubectl\\\\b\", \"^helm\\\\b\", \"^k9s\\\\b\", \"^kubectx\\\\b\", \"^kubens\\\\b\", \"^kustomize\\\\b\", \"^minikube\\\\b\", \"^kind\\\\b\"],\n },\n ],\n [\n \"run\",\n {\n tools: [\"KillShell\"],\n commands: [\"go run\", \"python\", \"python3\", \"node\", \"bun run\", \"deno run\", \"ruby\", \"perl\", \"php\", \"java\"],\n patterns: [\".*gradle.*run.*\", \"^go run\\\\b\", \"^python3?\\\\b\", \"^node\\\\b\", \"^bun run\\\\b\", \"^deno run\\\\b\", \"^ruby\\\\b\", \"^perl\\\\b\", \"^php\\\\b\", \"^java\\\\s+-jar\\\\b\", \"^\\\\./[\\\\w.-]+\\\\.(sh|bash|py|rb|pl)$\", \"^bash\\\\s+\\\\S+\\\\.sh\"],\n },\n ],\n [\n \"plan\",\n {\n tools: [\"Task\", \"TodoWrite\", \"EnterPlanMode\"],\n commands: [\"task\", \"make help\", \"task explore\", \"task plan\", \"task todos\", \"task todo\"],\n patterns: [\"^task\\\\s*$\", \"^task\\\\s+--list\", \"^make\\\\s+help\"],\n },\n ],\n [\n \"edit\",\n {\n tools: [\"Edit\", \"Write\", \"NotebookEdit\"],\n commands: [\"mkdir\"],\n patterns: [\"sed.* -i\"],\n },\n ],\n [\"clarify\", { tools: [\"AskUserQuestion\", \"ExitPlanMode\", \"TaskOutput\"] }],\n];\n\nconst COMPILED: Array<[SessionCategory, RegExp[]]> = CATEGORY_CONFIG.map(([cat, rule]) => [\n cat,\n (rule.patterns ?? []).map((p) => new RegExp(p)),\n]);\n\ninterface CategoryMatch {\n category: SessionCategory;\n specificity: number;\n matched: boolean;\n}\n\n// Port of betterCategoryMatch: prefer higher match specificity, then higher\n// category priority, then the lexicographically smaller name.\nfunction chooseBetterMatch(current: CategoryMatch, candidate: CategoryMatch): CategoryMatch {\n if (!candidate.matched || candidate.category === \"other\") return current;\n if (!current.matched || current.category === \"other\") return candidate;\n if (candidate.specificity > current.specificity) return candidate;\n if (candidate.specificity < current.specificity) return current;\n const cp = CATEGORY_PRIORITY[candidate.category];\n const kp = CATEGORY_PRIORITY[current.category];\n if (cp > kp) return candidate;\n if (cp < kp) return current;\n return candidate.category < current.category ? candidate : current;\n}\n\n/** Classify a raw shell command, mirroring captain's `Classify`. */\nexport function classifyCommand(command: string): SessionCategory {\n const cmd = command.trim();\n if (!cmd) return \"other\";\n let best: CategoryMatch = { category: \"other\", specificity: 0, matched: false };\n for (const [cat, rule] of CATEGORY_CONFIG) {\n for (const prefix of rule.commands ?? []) {\n if (cmd === prefix || cmd.startsWith(`${prefix} `)) {\n best = chooseBetterMatch(best, { category: cat, specificity: prefix.length, matched: true });\n }\n }\n }\n for (const [cat, regexps] of COMPILED) {\n for (const re of regexps) {\n if (re.test(cmd)) {\n best = chooseBetterMatch(best, { category: cat, specificity: re.source.length, matched: true });\n }\n }\n }\n return best.category;\n}\n\nfunction classifyTool(tool: string): SessionCategory {\n for (const [cat, rule] of CATEGORY_CONFIG) {\n if (rule.tools?.includes(tool)) return cat;\n }\n return \"other\";\n}\n\nfunction inputString(input: Record<string, unknown> | undefined, key: string): string {\n return typeof input?.[key] === \"string\" ? (input[key] as string) : \"\";\n}\n\n/** Category for a tool invocation, mirroring captain's classifyToolUse: a\n * `.claude/plans/` path is plan; a Bash command falls through to command\n * classification when the tool itself is uncategorized. */\nexport function classifyToolCategory(tool: string, input?: Record<string, unknown>): SessionCategory {\n const filePath =\n inputString(input, \"file_path\") || inputString(input, \"notebook_path\") || inputString(input, \"path\");\n if (filePath.includes(\"/.claude/plans/\")) return \"plan\";\n const cat = classifyTool(tool);\n if (cat === \"other\" && tool === \"Bash\") return classifyCommand(inputString(input, \"command\"));\n return cat;\n}\n\n/** The category of a normalized event, or null for non-tool events. */\nexport function eventCategory(event: SessionEvent): SessionCategory | null {\n if (event.kind !== \"tool\") return null;\n return classifyToolCategory(event.tool ?? \"\", event.toolInput);\n}\n\nexport interface SessionFilters {\n /** Distinct categories present, ordered by descending impact priority. */\n categories: SessionCategory[];\n /** Distinct tools present, with display labels, ordered by label. */\n tools: Array<{ key: string; label: string }>;\n /** Distinct sources present (e.g. \"claude\", \"codex\"). */\n sources: string[];\n}\n\nexport interface SessionVisibility {\n hiddenCategories: ReadonlySet<SessionCategory>;\n hiddenTools: ReadonlySet<string>;\n hiddenSources: ReadonlySet<string>;\n /** When false, reasoning (\"thinking\") events are hidden. */\n showThinking: boolean;\n}\n\nexport function isEncryptedReasoning(event: SessionEvent): boolean {\n return event.kind === \"thinking\" && /^\\d+ encrypted reasoning records? (?:at|over) \\S/.test(event.text ?? \"\");\n}\n\n/** Whether an event survives the active filters. Tool events are gated by their\n * tool, category and source; reasoning by `showThinking`; everything else\n * (user/assistant/error) is always shown. */\nexport function isEventVisible(event: SessionEvent, v: SessionVisibility): boolean {\n if (event.pending) return true;\n if (event.kind === \"thinking\") return v.showThinking;\n if (event.kind !== \"tool\") return true;\n const tool = event.tool ?? \"\";\n if (v.hiddenTools.has(tool)) return false;\n if (v.hiddenCategories.has(classifyToolCategory(tool, event.toolInput))) return false;\n if (event.source && v.hiddenSources.has(event.source)) return false;\n return true;\n}\n\n/** Collect the filter facets (category / tool / source) present in a session. */\nexport function collectSessionFilters(events: SessionEvent[]): SessionFilters {\n const categories = new Set<SessionCategory>();\n const tools = new Map<string, string>();\n const sources = new Set<string>();\n for (const event of events) {\n if (event.kind !== \"tool\") continue;\n const tool = event.tool ?? \"\";\n categories.add(classifyToolCategory(tool, event.toolInput));\n if (!tools.has(tool)) tools.set(tool, getSessionAction(tool).label);\n if (event.source) sources.add(event.source);\n }\n return {\n categories: [...categories].sort(\n (a, b) => CATEGORY_PRIORITY[b] - CATEGORY_PRIORITY[a] || a.localeCompare(b),\n ),\n tools: [...tools].map(([key, label]) => ({ key, label })).sort((a, b) => a.label.localeCompare(b.label)),\n sources: [...sources].sort(),\n };\n}\n"],"names":["UiPackage","UiBeaker","UiCloudDownload","UiSearch","UiShieldCheck","UiTrash","UiGitBranch","UiBox","UiBoxes","UiPlayCircle","UiStrategy","UiPencilSimpleLine","UiQuestion","UiEye","UiWrench","getSessionAction"],"mappings":"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"}
|
|
@@ -29,6 +29,7 @@ export interface SessionVisibility {
|
|
|
29
29
|
/** When false, reasoning ("thinking") events are hidden. */
|
|
30
30
|
showThinking: boolean;
|
|
31
31
|
}
|
|
32
|
+
export declare function isEncryptedReasoning(event: SessionEvent): boolean;
|
|
32
33
|
/** Whether an event survives the active filters. Tool events are gated by their
|
|
33
34
|
* tool, category and source; reasoning by `showThinking`; everything else
|
|
34
35
|
* (user/assistant/error) is always shown. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-categories.d.ts","sourceRoot":"","sources":["../../../src/data/ai/session-categories.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAkBnD,OAAO,EAAoB,KAAK,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAS5E,MAAM,MAAM,eAAe,GACvB,OAAO,GACP,MAAM,GACN,SAAS,GACT,SAAS,GACT,MAAM,GACN,SAAS,GACT,KAAK,GACL,QAAQ,GACR,KAAK,GACL,KAAK,GACL,MAAM,GACN,MAAM,GACN,SAAS,GACT,MAAM,GACN,OAAO,CAAC;AAEZ,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,eAAe,EAAE,MAAM,CAgB3D,CAAC;AAKF,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,eAAe,EAAE,mBAAmB,CAgBvE,CAAC;AAiJF,oEAAoE;AACpE,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe,CAmBhE;AAaD;;4DAE4D;AAC5D,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,eAAe,CAOnG;AAED,uEAAuE;AACvE,wBAAgB,aAAa,CAAC,KAAK,EAAE,YAAY,GAAG,eAAe,GAAG,IAAI,CAGzE;AAED,MAAM,WAAW,cAAc;IAC7B,0EAA0E;IAC1E,UAAU,EAAE,eAAe,EAAE,CAAC;IAC9B,qEAAqE;IACrE,KAAK,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC7C,yDAAyD;IACzD,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,gBAAgB,EAAE,WAAW,CAAC,eAAe,CAAC,CAAC;IAC/C,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACjC,aAAa,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACnC,4DAA4D;IAC5D,YAAY,EAAE,OAAO,CAAC;CACvB;AAED;;8CAE8C;AAC9C,wBAAgB,cAAc,CAAC,KAAK,EAAE,YAAY,EAAE,CAAC,EAAE,iBAAiB,GAAG,OAAO,CASjF;AAED,iFAAiF;AACjF,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,cAAc,CAkB5E"}
|
|
1
|
+
{"version":3,"file":"session-categories.d.ts","sourceRoot":"","sources":["../../../src/data/ai/session-categories.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAkBnD,OAAO,EAAoB,KAAK,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAS5E,MAAM,MAAM,eAAe,GACvB,OAAO,GACP,MAAM,GACN,SAAS,GACT,SAAS,GACT,MAAM,GACN,SAAS,GACT,KAAK,GACL,QAAQ,GACR,KAAK,GACL,KAAK,GACL,MAAM,GACN,MAAM,GACN,SAAS,GACT,MAAM,GACN,OAAO,CAAC;AAEZ,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,eAAe,EAAE,MAAM,CAgB3D,CAAC;AAKF,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,eAAe,EAAE,mBAAmB,CAgBvE,CAAC;AAiJF,oEAAoE;AACpE,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe,CAmBhE;AAaD;;4DAE4D;AAC5D,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,eAAe,CAOnG;AAED,uEAAuE;AACvE,wBAAgB,aAAa,CAAC,KAAK,EAAE,YAAY,GAAG,eAAe,GAAG,IAAI,CAGzE;AAED,MAAM,WAAW,cAAc;IAC7B,0EAA0E;IAC1E,UAAU,EAAE,eAAe,EAAE,CAAC;IAC9B,qEAAqE;IACrE,KAAK,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC7C,yDAAyD;IACzD,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,gBAAgB,EAAE,WAAW,CAAC,eAAe,CAAC,CAAC;IAC/C,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACjC,aAAa,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACnC,4DAA4D;IAC5D,YAAY,EAAE,OAAO,CAAC;CACvB;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAEjE;AAED;;8CAE8C;AAC9C,wBAAgB,cAAc,CAAC,KAAK,EAAE,YAAY,EAAE,CAAC,EAAE,iBAAiB,GAAG,OAAO,CASjF;AAED,iFAAiF;AACjF,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,cAAc,CAkB5E"}
|
|
@@ -212,6 +212,9 @@ function eventCategory(event) {
|
|
|
212
212
|
if (event.kind !== "tool") return null;
|
|
213
213
|
return classifyToolCategory(event.tool ?? "", event.toolInput);
|
|
214
214
|
}
|
|
215
|
+
function isEncryptedReasoning(event) {
|
|
216
|
+
return event.kind === "thinking" && /^\d+ encrypted reasoning records? (?:at|over) \S/.test(event.text ?? "");
|
|
217
|
+
}
|
|
215
218
|
function isEventVisible(event, v) {
|
|
216
219
|
if (event.pending) return true;
|
|
217
220
|
if (event.kind === "thinking") return v.showThinking;
|
|
@@ -248,6 +251,7 @@ export {
|
|
|
248
251
|
classifyToolCategory,
|
|
249
252
|
collectSessionFilters,
|
|
250
253
|
eventCategory,
|
|
254
|
+
isEncryptedReasoning,
|
|
251
255
|
isEventVisible
|
|
252
256
|
};
|
|
253
257
|
//# sourceMappingURL=session-categories.js.map
|