@hazem3500/komo 0.0.0-stage → 0.9.0
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/LICENSE +21 -0
- package/NODE.md +80 -0
- package/NOTICE.md +45 -0
- package/README.md +411 -2
- package/cli/agent.mjs +615 -0
- package/cli/config.mjs +34 -0
- package/cli/index.mjs +405 -0
- package/cli/project.mjs +136 -0
- package/cli/workflow.mjs +42 -0
- package/dist/MorphingMenu.d.ts +30 -0
- package/dist/PointerIcon.d.ts +2 -0
- package/dist/SmileIcon.d.ts +2 -0
- package/dist/THIRD_PARTY_NOTICES.txt +387 -0
- package/dist/accent-picker-F5UI2NP7.js +1 -0
- package/dist/accent-picker.d.ts +4 -0
- package/dist/accent.d.ts +2 -0
- package/dist/account-usage.d.ts +2 -0
- package/dist/action-menu.d.ts +10 -0
- package/dist/agent-prompt.d.ts +6 -0
- package/dist/agent-prompt.js +1 -0
- package/dist/anchors.d.ts +48 -0
- package/dist/api.d.ts +39 -0
- package/dist/approved-sites.d.ts +9 -0
- package/dist/card-motion.d.ts +8 -0
- package/dist/chunk-7YUXYVQA.js +1 -0
- package/dist/chunk-I7AUKTXE.js +1 -0
- package/dist/chunk-JQVBZ2BB.js +1 -0
- package/dist/chunk-Q7WSWLMV.js +1 -0
- package/dist/chunk-Y2GRLW4Q.js +1 -0
- package/dist/chunk-YZP3KX4Y.js +1 -0
- package/dist/chunk-Z2ABBESO.js +1 -0
- package/dist/config.d.ts +11 -0
- package/dist/connect-project.d.ts +14 -0
- package/dist/connection-issue.d.ts +7 -0
- package/dist/design-comment-QPTW66JO.js +1 -0
- package/dist/design-comment.d.ts +42 -0
- package/dist/design-export-BRBI7S3V.js +1 -0
- package/dist/design-export.d.ts +8 -0
- package/dist/design-mode-styles.d.ts +1 -0
- package/dist/design-mode.d.ts +19 -0
- package/dist/design-mode.js +1 -0
- package/dist/design-panel-BPVXFERR.js +1 -0
- package/dist/design-panel-styles.d.ts +1 -0
- package/dist/design-panel.d.ts +33 -0
- package/dist/design-tokens.d.ts +76 -0
- package/dist/dom.d.ts +20 -0
- package/dist/drawer-expand-motion.d.ts +46 -0
- package/dist/drawer-presence.d.ts +4 -0
- package/dist/edge-sidebar.d.ts +39 -0
- package/dist/emoji-history.d.ts +8 -0
- package/dist/emoji.d.ts +1 -0
- package/dist/floating-drag.d.ts +9 -0
- package/dist/icon-markup.d.ts +4 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.js +1 -0
- package/dist/inline-text-editor-F7B6FQQ3.js +1 -0
- package/dist/inline-text-editor.d.ts +70 -0
- package/dist/lazy-accent-picker.d.ts +4 -0
- package/dist/lazy-toolbar.d.ts +19 -0
- package/dist/message-links.d.ts +2 -0
- package/dist/morphing-menu-styles.d.ts +1 -0
- package/dist/node.mjs +2607 -0
- package/dist/onboarding-NO3RQWR7.js +1 -0
- package/dist/onboarding.d.ts +6 -0
- package/dist/optimistic.d.ts +26 -0
- package/dist/page.d.ts +2 -0
- package/dist/picker-WQN53YJ5.js +1 -0
- package/dist/pin-direction.d.ts +12 -0
- package/dist/pin-stacks.d.ts +3 -0
- package/dist/polling.d.ts +10 -0
- package/dist/postgres/001_initial.sql +128 -0
- package/dist/postgres/002_thread_tags.sql +1 -0
- package/dist/postgres/003_project_webhooks.sql +4 -0
- package/dist/project-management.d.ts +2 -0
- package/dist/react-inspector.d.ts +43 -0
- package/dist/react-props-panel-XSMDR2CY.js +1 -0
- package/dist/react-props-panel.d.ts +39 -0
- package/dist/react.d.ts +38 -0
- package/dist/react.js +1 -0
- package/dist/reaction-picker.d.ts +1 -0
- package/dist/review-layout.d.ts +23 -0
- package/dist/setup-browser.d.ts +1 -0
- package/dist/setup.d.ts +4 -0
- package/dist/setup.js +1 -0
- package/dist/shortcuts.d.ts +15 -0
- package/dist/static-svg.d.ts +3 -0
- package/dist/styles.d.ts +1 -0
- package/dist/tag-editor-VDPZ6CO3.js +1 -0
- package/dist/tag-editor.d.ts +12 -0
- package/dist/toolbar-runtime-2SIUE6SQ.js +1 -0
- package/dist/toolbar-runtime.d.ts +5 -0
- package/dist/types.d.ts +163 -0
- package/package.json +114 -4
- package/server/digest.ts +8 -0
- package/server/import-project.ts +164 -0
- package/server/index.ts +1656 -0
- package/server/migrations/0001_comments.sql +54 -0
- package/server/migrations/0002_identity.sql +2 -0
- package/server/migrations/0003_accent_color.sql +1 -0
- package/server/migrations/0004_workspaces.sql +46 -0
- package/server/migrations/0005_domains.sql +6 -0
- package/server/migrations/0006_member_budget.sql +16 -0
- package/server/migrations/0007_revisions.sql +17 -0
- package/server/migrations/0008_starter_comments.sql +1 -0
- package/server/migrations/0009_retention.sql +19 -0
- package/server/migrations/0010_reviewer_history.sql +1 -0
- package/server/migrations/0011_project_management.sql +52 -0
- package/server/migrations/0012_setup_sites.sql +3 -0
- package/server/migrations/0013_project_sites.sql +8 -0
- package/server/migrations/0014_project_site_removals.sql +3 -0
- package/server/migrations/0015_query_efficiency.sql +6 -0
- package/server/migrations/0016_thread_tags.sql +1 -0
- package/server/migrations/0017_project_webhooks.sql +4 -0
- package/server/node-webhooks.ts +126 -0
- package/server/project-management.ts +387 -0
- package/server/project-sites.ts +117 -0
- package/server/secrets.d.ts +24 -0
- package/server/setup-client.txt +2932 -0
- package/server/setup-page.ts +14 -0
- package/server/tsconfig.json +12 -0
- package/server/validation.ts +220 -0
- package/server/webhooks.ts +206 -0
- package/server/workspaces.ts +168 -0
- package/src/emoji.ts +7 -0
- package/src/page.ts +4 -0
- package/src/types.ts +166 -0
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { MenuItem, MorphingMenuProps } from "./MorphingMenu.js";
|
|
2
|
+
import { type icons } from "./dom.js";
|
|
3
|
+
import type { Identity } from "./types.js";
|
|
4
|
+
export type ToolbarIcon = {
|
|
5
|
+
glyph: keyof typeof icons;
|
|
6
|
+
} | {
|
|
7
|
+
user: Identity | null;
|
|
8
|
+
};
|
|
9
|
+
export type ToolbarItem = Omit<MenuItem, "icon" | "activeIcon" | "children"> & {
|
|
10
|
+
icon: ToolbarIcon;
|
|
11
|
+
};
|
|
12
|
+
export type ToolbarProps = Omit<MorphingMenuProps, "items"> & {
|
|
13
|
+
items: readonly ToolbarItem[];
|
|
14
|
+
};
|
|
15
|
+
/** Pins and the compact drawer work immediately; React's menu loads on intent. */
|
|
16
|
+
export declare function createToolbar(element: HTMLElement, glyph: (id: string) => Node): {
|
|
17
|
+
render(next: ToolbarProps): void;
|
|
18
|
+
unmount(): void;
|
|
19
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const morphingMenuStyles = "/* Self-contained: inherit the host's color-scheme and font; customize --mm-*.\n The inverted surface matches the original menu in both light and dark mode. */\n.morphing-menu {\n --mm-surface: light-dark(#0d0d0d, #fff);\n --mm-ink: light-dark(rgb(255 255 255 / 90%), rgb(13 13 13 / 90%));\n --mm-hover: light-dark(rgb(255 255 255 / 6%), rgb(0 0 0 / 4%));\n --mm-button: 44px;\n --mm-inset: 4px;\n --mm-bar-height: calc(var(--mm-button) + 2 * var(--mm-inset));\n --mm-bar-width: min(calc(var(--mm-count) * var(--mm-button) + 2 * var(--mm-inset)), calc(100vw - 32px));\n --mm-panel-width: min(268px, calc(100vw - 32px));\n --mm-panel-padding: 8px;\n --mm-radius: calc(var(--mm-bar-height) / 2);\n position: relative;\n width: var(--mm-bar-width);\n height: var(--mm-bar-height);\n flex: none;\n font-family: inherit;\n -webkit-tap-highlight-color: transparent;\n}\n\n.morphing-menu *, .morphing-menu *::before, .morphing-menu *::after { box-sizing: border-box; }\n\n.morphing-menu__shell {\n position: absolute;\n bottom: 0;\n left: 50%;\n translate: -50% 0;\n width: var(--mm-bar-width);\n height: var(--mm-bar-height);\n border-radius: var(--mm-radius);\n background: var(--mm-surface, #0d0d0d);\n color: var(--mm-ink, #fff);\n box-shadow:\n inset 0 1px 1px light-dark(rgb(255 255 255 / 8%), rgb(255 255 255 / 40%)),\n inset 0 -1px 2px light-dark(rgb(0 0 0 / 50%), rgb(0 0 0 / 20%)),\n 0 1px 2px rgb(0 0 0 / 12%);\n overflow: hidden;\n isolation: isolate;\n}\n\n.morphing-menu__bar {\n position: absolute;\n bottom: 0;\n left: 50%;\n translate: -50% 0;\n display: flex;\n align-items: center;\n padding: var(--mm-inset);\n width: var(--mm-bar-width);\n height: var(--mm-bar-height);\n}\n\n.morphing-menu__shortcut, .morphing-menu__row {\n appearance: none;\n display: flex;\n align-items: center;\n flex: none;\n border: 0;\n margin: 0;\n background: transparent;\n color: inherit;\n font: inherit;\n font-size: 15px;\n font-weight: 500;\n line-height: 20px;\n text-decoration: none;\n cursor: pointer;\n touch-action: manipulation;\n scale: 1;\n transition: background 150ms ease, scale 180ms cubic-bezier(0.22, 1, 0.36, 1);\n}\n\n.morphing-menu__shortcut {\n justify-content: center;\n width: 0;\n flex: 1;\n height: var(--mm-button);\n padding: 0;\n border-radius: 999px;\n}\n\n.morphing-menu__panel {\n position: absolute;\n top: 0;\n left: 50%;\n translate: -50% 0;\n width: var(--mm-panel-width);\n padding: var(--mm-panel-padding);\n max-height: calc(100dvh - 64px);\n overflow-y: auto;\n overscroll-behavior: contain;\n scrollbar-width: thin;\n}\n\n.morphing-menu [aria-hidden=\"true\"] { pointer-events: none; }\n.morphing-menu__row {\n gap: 8px;\n width: 100%;\n min-height: 40px;\n padding: 10px 12px;\n border-radius: calc(var(--mm-radius) - var(--mm-panel-padding));\n text-align: left;\n}\n.morphing-menu__panel[aria-hidden=\"true\"] .morphing-menu__row { opacity: 0; }\n.morphing-menu__label { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }\n.morphing-menu__icon { display: flex; flex: none; }\n.morphing-menu svg { width: 20px; height: 20px; flex-shrink: 0; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }\n.morphing-menu__chevron { margin-left: auto; opacity: 0.6; }\n.morphing-menu__shortcut:focus-visible, .morphing-menu__row:focus-visible { outline: 2px solid currentColor; outline-offset: -3px; }\n\n.morphing-menu__tooltip {\n position: absolute;\n bottom: calc(100% + 8px);\n translate: -50% 0;\n padding: 6px 10px;\n border-radius: 14px;\n background: light-dark(#fff, #171717);\n color: light-dark(#111, #fefefe);\n box-shadow: 0 0 0 1px light-dark(rgb(0 0 0 / 6%), rgb(255 255 255 / 10%)), 0 1px 2px -1px rgb(0 0 0 / 6%), 0 2px 4px rgb(0 0 0 / 4%);\n font-size: 14px;\n font-weight: 500;\n line-height: 20px;\n white-space: nowrap;\n pointer-events: none;\n}\n\n@media (hover: hover) {\n .morphing-menu__shortcut:hover, .morphing-menu__row:hover { background: var(--mm-hover); }\n}\n@media (pointer: coarse) {\n .morphing-menu { --mm-button: 48px; --mm-bar-width: min(296px, calc(100vw - 32px)); --mm-panel-width: min(296px, calc(100vw - 32px)); --mm-panel-padding: 12px; }\n .morphing-menu__row { min-height: 44px; padding-block: 12px; }\n}\n@media (prefers-reduced-motion: no-preference) {\n .morphing-menu__shortcut:active, .morphing-menu__row:active { transition-duration: 100ms; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); }\n .morphing-menu__shortcut:active { scale: 0.95; }\n .morphing-menu__row:active { scale: 0.96; }\n}\n@media (prefers-reduced-motion: reduce) {\n .morphing-menu__shortcut, .morphing-menu__row { transition: none; scale: 1; }\n}\n";
|