@aexol/opencode-wizard 0.3.3 → 0.3.5

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.
Files changed (106) hide show
  1. package/README.md +9 -7
  2. package/dist/graphql-operations.d.ts +7 -0
  3. package/dist/graphql-operations.js +230 -0
  4. package/dist/graphql-operations.js.map +1 -0
  5. package/dist/plugin-tools.d.ts +90 -0
  6. package/dist/plugin-tools.js +93 -0
  7. package/dist/plugin-tools.js.map +1 -0
  8. package/dist/published-skills-system-note.d.ts +9 -0
  9. package/dist/published-skills-system-note.js +30 -0
  10. package/dist/published-skills-system-note.js.map +1 -0
  11. package/dist/published-skills-terminology.d.ts +21 -0
  12. package/dist/published-skills-terminology.js +38 -0
  13. package/dist/published-skills-terminology.js.map +1 -0
  14. package/dist/published-skills-transform.d.ts +258 -0
  15. package/dist/published-skills-transform.js +310 -0
  16. package/dist/published-skills-transform.js.map +1 -0
  17. package/dist/server/auth-bootstrap.d.ts +7 -0
  18. package/dist/server/auth-bootstrap.js +89 -0
  19. package/dist/server/auth-bootstrap.js.map +1 -0
  20. package/dist/server/auth-flow.d.ts +10 -0
  21. package/dist/server/auth-flow.js +215 -0
  22. package/dist/server/auth-flow.js.map +1 -0
  23. package/dist/server/auth-store.d.ts +19 -0
  24. package/dist/server/auth-store.js +177 -0
  25. package/dist/server/auth-store.js.map +1 -0
  26. package/dist/server/client.d.ts +80 -0
  27. package/dist/server/client.js +324 -0
  28. package/dist/server/client.js.map +1 -0
  29. package/dist/server/config.d.ts +2 -0
  30. package/dist/server/config.js +82 -0
  31. package/dist/server/config.js.map +1 -0
  32. package/dist/server/constants.d.ts +26 -0
  33. package/dist/server/constants.js +32 -0
  34. package/dist/server/constants.js.map +1 -0
  35. package/dist/server/path-utils.d.ts +2 -0
  36. package/dist/server/path-utils.js +8 -0
  37. package/dist/server/path-utils.js.map +1 -0
  38. package/dist/server/preferences.d.ts +22 -0
  39. package/dist/server/preferences.js +121 -0
  40. package/dist/server/preferences.js.map +1 -0
  41. package/dist/server/presence.d.ts +14 -0
  42. package/dist/server/presence.js +68 -0
  43. package/dist/server/presence.js.map +1 -0
  44. package/dist/server/runtime.d.ts +13 -0
  45. package/dist/server/runtime.js +1315 -0
  46. package/dist/server/runtime.js.map +1 -0
  47. package/dist/server/status.d.ts +27 -0
  48. package/dist/server/status.js +224 -0
  49. package/dist/server/status.js.map +1 -0
  50. package/dist/server/types.d.ts +396 -0
  51. package/dist/server/types.js +2 -0
  52. package/dist/server/types.js.map +1 -0
  53. package/dist/server/workspace.d.ts +15 -0
  54. package/dist/server/workspace.js +126 -0
  55. package/dist/server/workspace.js.map +1 -0
  56. package/dist/server.d.ts +4 -309
  57. package/dist/server.js +4 -2611
  58. package/dist/server.js.map +1 -1
  59. package/dist/smoke-published-skills.js +11 -9
  60. package/dist/smoke-published-skills.js.map +1 -1
  61. package/dist/tui/components/common.d.ts +15 -0
  62. package/dist/tui/components/common.js +81 -0
  63. package/dist/tui/components/common.js.map +1 -0
  64. package/dist/tui/components/preference-action-notice-row.d.ts +5 -0
  65. package/dist/tui/components/preference-action-notice-row.js +17 -0
  66. package/dist/tui/components/preference-action-notice-row.js.map +1 -0
  67. package/dist/tui/components/skill-catalog-row.d.ts +8 -0
  68. package/dist/tui/components/skill-catalog-row.js +125 -0
  69. package/dist/tui/components/skill-catalog-row.js.map +1 -0
  70. package/dist/tui/components/status-content.d.ts +14 -0
  71. package/dist/tui/components/status-content.js +131 -0
  72. package/dist/tui/components/status-content.js.map +1 -0
  73. package/dist/tui/components/wizard-skills-dialog-content.d.ts +9 -0
  74. package/dist/tui/components/wizard-skills-dialog-content.js +229 -0
  75. package/dist/tui/components/wizard-skills-dialog-content.js.map +1 -0
  76. package/dist/tui/components/wizard-skills-dialog.d.ts +7 -0
  77. package/dist/tui/components/wizard-skills-dialog.js +156 -0
  78. package/dist/tui/components/wizard-skills-dialog.js.map +1 -0
  79. package/dist/tui/constants.d.ts +8 -0
  80. package/dist/tui/constants.js +9 -0
  81. package/dist/tui/constants.js.map +1 -0
  82. package/dist/tui/formatting.d.ts +8 -0
  83. package/dist/tui/formatting.js +45 -0
  84. package/dist/tui/formatting.js.map +1 -0
  85. package/dist/tui/plugin.d.ts +2 -0
  86. package/dist/tui/plugin.js +26 -0
  87. package/dist/tui/plugin.js.map +1 -0
  88. package/dist/tui/rendering.d.ts +2 -0
  89. package/dist/tui/rendering.js +8 -0
  90. package/dist/tui/rendering.js.map +1 -0
  91. package/dist/tui/skill-helpers.d.ts +13 -0
  92. package/dist/tui/skill-helpers.js +50 -0
  93. package/dist/tui/skill-helpers.js.map +1 -0
  94. package/dist/tui/slots.d.ts +2 -0
  95. package/dist/tui/slots.js +56 -0
  96. package/dist/tui/slots.js.map +1 -0
  97. package/dist/tui/status.d.ts +2 -0
  98. package/dist/tui/status.js +21 -0
  99. package/dist/tui/status.js.map +1 -0
  100. package/dist/tui/types.d.ts +75 -0
  101. package/dist/tui/types.js +2 -0
  102. package/dist/tui/types.js.map +1 -0
  103. package/dist/tui.d.ts +1 -44
  104. package/dist/tui.js +2 -870
  105. package/dist/tui.js.map +1 -1
  106. package/package.json +1 -1
package/dist/tui.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["createEffect","createMemo","createSignal","PLUGIN_ID","resolvePluginStatusSnapshotWithAuthBootstrap","setPublishedSkillInstalled","setPublishedSkillIgnored","STATUS_TIMEOUT_MS","STATUS_REFRESH_INTERVAL_MS","MAX_STATUS_MESSAGE_LENGTH","MAX_SKILL_DESCRIPTION_LENGTH","MAX_SKILL_NAME_LENGTH","MAX_SKILL_META_LENGTH","MAX_SKILL_TAGS","SKILLS_PAGE_SIZE","compactStatusMessage","message","length","slice","compactSkillDescription","compactSkillName","name","compactSkillMeta","meta","formatSkillsCatalogUnavailableMessage","snapshot","catalog","status","formatAuthStatus","authState","email","formatBackendOriginLabel","backendOrigin","hostname","URL","includes","requestRender","api","renderer","Row","props","_el$","_$createElement","_el$2","_el$3","_$createTextNode","_el$4","_$insertNode","_$setProp","_$insert","label","value","_$effect","_p$","_v$","labelColor","_v$2","valueColor","e","t","undefined","Panel","_el$5","_el$6","_el$7","_el$8","_el$9","_el$0","_el$1","title","children","_v$3","onOpen","_v$4","theme","text","_v$5","textMuted","a","StatusContent","kind","_el$11","_$p","_el$13","_el$14","warning","_$createComponent","ReadyRows","SkillsRows","current","statusContent","currentStatus","_el$15","getSkillDisplayName","skill","artifactName","skillName","skillSlug","getSkillDescription","whenToUse","artifactDescription","getSkillTags","tagLabels","tags","map","tag","slug","filter","Boolean","join","isUserScopeAssignment","assignmentSource","getSkillScopeLabel","state","contextKind","getSkillPreferenceScope","getSkillMeta","assignmentLabel","policyLabel","getRowStateLabel","row","scopeLabel","ignored","getSkillRowState","getInstallableNotInstalledSkills","installableSkills","installableCatalog","skills","activeSkillSlugs","Set","ignoredSkillSlugs","ignoredPublishedSkills","has","getErrorMessage","error","Error","SkillCatalogRow","description","canUninstall","_el$16","_el$17","_el$18","_el$19","_el$20","_el$22","_el$23","_el$24","_c$","_$memo","_el$25","_el$26","onInstall","_el$28","_el$30","_el$31","_el$33","_el$34","onIgnore","_el$35","_el$37","_el$38","onUninstall","_el$40","_v$6","_v$7","WizardSkillsDialogContent","page","setPage","content","_el$41","_el$43","_el$44","_el$45","_el$46","installableNotInstalledSkills","rows","totalPages","Math","max","ceil","currentPage","min","startIndex","endIndex","visibleRows","canGoBack","canGoForward","goBack","goForward","_el$47","_el$48","_el$49","_el$50","_el$51","_el$52","_el$53","_el$54","_el$55","_el$56","_el$57","_el$58","_el$59","_el$60","_el$61","_el$62","_el$63","_el$64","_el$66","_el$67","_el$68","_el$69","publishedSkillCount","assignmentCounts","global","project","user","count","onIgnoreSkill","onInstallSkill","onUninstallSkill","_v$8","_v$9","_v$0","_v$1","_v$10","o","i","_el$71","PreferenceActionNoticeRow","notice","actionNotice","_el$72","statusRows","_el$73","installableNotInstalledCount","catalogStatus","_el$74","WizardSkillsDialog","setActionNotice","refreshAfterPreferenceChange","refreshStatus","showLoading","showPreferenceFailure","ignoreSkill","scopeKey","worktree","path","directory","preferenceScope","then","catch","installSkill","toUpperCase","installed","uninstallSkill","ui","dialog","setSize","_el$75","_el$76","_el$77","_el$78","_el$80","_el$81","_el$83","_v$11","_v$12","onClose","_v$13","openWizardSkillsDialog","replace","clear","createWizardStatusSlot","order","slots","home_bottom","sidebar_content","_ctx","_value","loadStatus","signal","AbortSignal","timeout","tui","setStatus","options","nextStatus","register","setInterval","id"],"sources":["../src/tui.tsx"],"sourcesContent":["/** @jsxImportSource @opentui/solid */\nimport type { RGBA } from '@opentui/core';\nimport { createEffect, createMemo, createSignal } from 'solid-js';\nimport type { JSX } from 'solid-js';\nimport {\n PLUGIN_ID,\n resolvePluginStatusSnapshotWithAuthBootstrap,\n setPublishedSkillInstalled,\n setPublishedSkillIgnored,\n type PluginStatusSnapshot,\n} from './server.js';\n\ntype StatusState =\n | {\n kind: 'loading';\n }\n | {\n kind: 'ready';\n snapshot: PluginStatusSnapshot;\n }\n | {\n kind: 'error';\n message: string;\n };\n\ntype WizardTheme = {\n text: string | RGBA | undefined;\n textMuted: string | RGBA | undefined;\n warning: string | RGBA | undefined;\n};\n\ntype TuiPluginApi = {\n theme: {\n current: WizardTheme;\n };\n ui?: {\n dialog?: {\n replace?: (render: () => JSX.Element, onClose?: () => void) => void;\n clear?: () => void;\n setSize?: (size: 'medium' | 'large' | 'xlarge') => void;\n };\n };\n renderer?: {\n requestRender?: () => void;\n };\n slots: {\n register: (slot: TuiSlotPlugin) => void;\n };\n state: {\n path: {\n worktree: string;\n directory: string;\n };\n };\n};\n\ntype TuiSlotContext = unknown;\n\ntype TuiSlotPlugin = {\n order: number;\n slots: {\n home_bottom: () => JSX.Element;\n sidebar_content: (ctx: TuiSlotContext, value: { session_id: string }) => JSX.Element;\n };\n};\n\ntype TuiPlugin = (api: TuiPluginApi) => void | Promise<void>;\n\nconst STATUS_TIMEOUT_MS = 5_000;\nconst STATUS_REFRESH_INTERVAL_MS = 5_000;\nconst MAX_STATUS_MESSAGE_LENGTH = 80;\nconst MAX_SKILL_DESCRIPTION_LENGTH = 96;\nconst MAX_SKILL_NAME_LENGTH = 48;\nconst MAX_SKILL_META_LENGTH = 72;\nconst MAX_SKILL_TAGS = 4;\nconst SKILLS_PAGE_SIZE = 5;\n\nconst compactStatusMessage = (message: string): string => {\n if (message.length <= MAX_STATUS_MESSAGE_LENGTH) return message;\n\n return `${message.slice(0, MAX_STATUS_MESSAGE_LENGTH - 1)}…`;\n};\n\nconst compactSkillDescription = (message: string): string => {\n if (message.length <= MAX_SKILL_DESCRIPTION_LENGTH) return message;\n\n return `${message.slice(0, MAX_SKILL_DESCRIPTION_LENGTH - 1)}…`;\n};\n\nconst compactSkillName = (name: string): string => {\n if (name.length <= MAX_SKILL_NAME_LENGTH) return name;\n\n return `${name.slice(0, MAX_SKILL_NAME_LENGTH - 1)}…`;\n};\n\nconst compactSkillMeta = (meta: string): string => {\n if (meta.length <= MAX_SKILL_META_LENGTH) return meta;\n\n return `${meta.slice(0, MAX_SKILL_META_LENGTH - 1)}…`;\n};\n\nconst formatSkillsCatalogUnavailableMessage = (snapshot: PluginStatusSnapshot): string => {\n if (!snapshot.catalog && snapshot.status === 'missing_auth') {\n if (snapshot.message) return compactStatusMessage(snapshot.message);\n\n return 'locked (browser auth pending)';\n }\n\n if (!snapshot.catalog && snapshot.message) return compactStatusMessage(snapshot.message);\n if (!snapshot.catalog) return `unavailable (${snapshot.status})`;\n\n return 'unavailable';\n};\n\nconst formatAuthStatus = (snapshot: PluginStatusSnapshot): string => {\n if (snapshot.authState.status !== 'authenticated') return snapshot.authState.status;\n if (!snapshot.authState.email) return 'authenticated';\n\n return snapshot.authState.email;\n};\n\nconst formatBackendOriginLabel = (backendOrigin: string): string => {\n try {\n const { hostname } = new URL(backendOrigin);\n if (hostname === 'localhost' || hostname === '127.0.0.1') return 'localhost';\n\n return 'opencode-wizard';\n } catch {\n if (backendOrigin.includes('localhost') || backendOrigin.includes('127.0.0.1')) return 'localhost';\n\n return 'opencode-wizard';\n }\n};\n\nconst requestRender = (api: TuiPluginApi): void => {\n try {\n api.renderer?.requestRender?.();\n } catch {\n // Ignore render request failures; state is still updated.\n }\n};\n\nconst Row = (props: {\n label: string;\n value: string;\n labelColor: string | RGBA | undefined;\n valueColor: string | RGBA | undefined;\n}) => (\n <box width=\"100%\" flexDirection=\"row\" overflow=\"hidden\">\n <text fg={props.labelColor} flexShrink={0} wrapMode=\"none\">\n {props.label}:&nbsp;\n </text>\n <text fg={props.valueColor} flexGrow={1} overflow=\"hidden\" wrapMode=\"none\">\n {props.value}\n </text>\n </box>\n);\n\nconst Panel = (props: {\n title: string;\n theme: TuiPluginApi['theme']['current'];\n onOpen: () => void;\n children: JSX.Element;\n}) => (\n <box width=\"100%\" flexDirection=\"column\" paddingRight={1} onMouseUp={props.onOpen}>\n <box width=\"100%\" flexDirection=\"row\" justifyContent=\"space-between\" overflow=\"hidden\">\n <box flexShrink={0}>\n <text fg={props.theme.text} wrapMode=\"none\" overflow=\"hidden\">\n <b>{props.title}</b>\n </text>\n </box>\n <box flexShrink={0}>\n <text fg={props.theme.textMuted} wrapMode=\"none\">\n open\n </text>\n </box>\n </box>\n {props.children}\n </box>\n);\n\nconst StatusContent = (props: { status: StatusState; theme: TuiPluginApi['theme']['current'] }) => {\n if (props.status.kind === 'loading') {\n return (\n <text fg={props.theme.textMuted} wrapMode=\"none\" overflow=\"hidden\">\n loading…\n </text>\n );\n }\n\n if (props.status.kind === 'error') {\n return (\n <text fg={props.theme.warning} wrapMode=\"none\" overflow=\"hidden\">\n unavailable: {compactStatusMessage(props.status.message)}\n </text>\n );\n }\n\n return <ReadyRows snapshot={props.status.snapshot} theme={props.theme} />;\n};\n\nconst SkillsRows = (props: { api: TuiPluginApi; status: () => StatusState }) => {\n const theme = createMemo(() => props.api.theme.current);\n const statusContent = () => {\n const currentStatus = props.status();\n\n return <StatusContent status={currentStatus} theme={theme()} />;\n };\n\n return (\n <box width=\"100%\" flexDirection=\"column\" overflow=\"hidden\">\n {statusContent()}\n </box>\n );\n};\n\ntype PublishedSkillSummary = NonNullable<PluginStatusSnapshot['catalog']>['skills'][number];\ntype SkillRowState = 'global-scope' | 'project-scope' | 'user-scope' | 'installable';\ntype SkillDialogRow = {\n skill: PublishedSkillSummary;\n ignored: boolean;\n state: SkillRowState;\n};\ntype RefreshStatus = (options?: { showLoading?: boolean }) => void;\ntype PreferenceActionNotice =\n | {\n kind: 'idle';\n }\n | {\n kind: 'pending';\n message: string;\n }\n | {\n kind: 'success';\n message: string;\n }\n | {\n kind: 'error';\n message: string;\n };\n\nconst getSkillDisplayName = (skill: PublishedSkillSummary): string => skill.artifactName || skill.skillName || skill.skillSlug;\n\nconst getSkillDescription = (skill: PublishedSkillSummary): string | null => {\n if (skill.whenToUse) return skill.whenToUse;\n if (skill.artifactDescription) return skill.artifactDescription;\n\n return null;\n};\n\nconst getSkillTags = (skill: PublishedSkillSummary): string => {\n const tagLabels = skill.tags.map((tag) => tag.label || tag.slug).filter(Boolean).slice(0, MAX_SKILL_TAGS);\n if (tagLabels.length === 0) return 'no tags';\n\n return tagLabels.join(', ');\n};\n\nconst isUserScopeAssignment = (assignmentSource: string): boolean =>\n assignmentSource === 'USER' || assignmentSource === 'USER_GLOBAL' || assignmentSource === 'USER_WORKSPACE';\n\nconst getSkillScopeLabel = (skill: PublishedSkillSummary, state: SkillRowState): string => {\n if (state === 'installable') return 'AVAILABLE';\n if (isUserScopeAssignment(skill.assignmentSource) || state === 'user-scope') return 'USER SCOPE';\n if (state === 'global-scope' || skill.contextKind === 'global') return 'GLOBAL SCOPE';\n\n return 'PROJECT SCOPE';\n};\n\nconst getSkillPreferenceScope = (skill: PublishedSkillSummary): 'global' | 'project' => {\n if (skill.assignmentSource === 'USER_GLOBAL') return 'global';\n if (skill.assignmentSource === 'USER_WORKSPACE') return 'project';\n if (skill.contextKind === 'global') return 'global';\n\n return 'project';\n};\n\nconst getSkillMeta = (skill: PublishedSkillSummary, state: SkillRowState): string =>\n `${getSkillScopeLabel(skill, state)} · ${skill.assignmentLabel} · ${skill.policyLabel} · ${getSkillTags(skill)}`;\n\nconst getRowStateLabel = (row: SkillDialogRow): string => {\n const scopeLabel = getSkillScopeLabel(row.skill, row.state);\n if (row.ignored) return `ignored · ${scopeLabel}`;\n if (row.state === 'installable') return 'not installed';\n return `active · ${scopeLabel}`;\n};\n\nconst getSkillRowState = (skill: PublishedSkillSummary): SkillRowState => {\n if (isUserScopeAssignment(skill.assignmentSource)) return 'user-scope';\n if (skill.contextKind === 'global') return 'global-scope';\n\n return 'project-scope';\n};\n\nconst getInstallableNotInstalledSkills = (snapshot: PluginStatusSnapshot): PublishedSkillSummary[] => {\n const installableSkills = snapshot.installableCatalog?.skills ?? [];\n if (installableSkills.length === 0) return [];\n\n const activeSkillSlugs = new Set(snapshot.catalog?.skills.map((skill) => skill.skillSlug) ?? []);\n const ignoredSkillSlugs = new Set(snapshot.ignoredPublishedSkills.skills.map((skill) => skill.skillSlug));\n\n return installableSkills.filter(\n (skill) => !activeSkillSlugs.has(skill.skillSlug) && !ignoredSkillSlugs.has(skill.skillSlug),\n );\n};\n\nconst getErrorMessage = (error: unknown): string => {\n if (error instanceof Error && error.message) return error.message;\n return 'Preference update failed. Check plugin auth/backend status and try again.';\n};\n\nconst SkillCatalogRow = (props: {\n row: SkillDialogRow;\n theme: TuiPluginApi['theme']['current'];\n onIgnore: (row: SkillDialogRow) => void;\n onInstall: (row: SkillDialogRow, preferenceScope: 'global' | 'project') => void;\n onUninstall: (row: SkillDialogRow) => void;\n}) => {\n const skill = props.row.skill;\n const description = getSkillDescription(skill);\n const canUninstall = skill.assignmentSource === 'USER_GLOBAL' || skill.assignmentSource === 'USER_WORKSPACE';\n\n return (\n <box width=\"100%\" flexDirection=\"column\" overflow=\"hidden\" marginBottom={1}>\n <box width=\"100%\" flexDirection=\"row\" justifyContent=\"space-between\" overflow=\"hidden\">\n <text fg={props.row.ignored ? props.theme.textMuted : props.theme.text} wrapMode=\"none\" overflow=\"hidden\">\n <b>{compactSkillName(getSkillDisplayName(skill))}</b>\n {' '}({getRowStateLabel(props.row)})\n </text>\n <box flexDirection=\"row\" flexShrink={0}>\n {props.row.state === 'installable' ? (\n <>\n <box onMouseUp={() => props.onInstall(props.row, 'global')} flexShrink={0}>\n <text fg={props.theme.textMuted} wrapMode=\"none\">GLOBAL SCOPE</text>\n </box>\n <text fg={props.theme.textMuted} wrapMode=\"none\"> / </text>\n <box onMouseUp={() => props.onInstall(props.row, 'project')} flexShrink={0}>\n <text fg={props.theme.textMuted} wrapMode=\"none\">PROJECT SCOPE</text>\n </box>\n </>\n ) : (\n <>\n <box onMouseUp={() => props.onIgnore(props.row)} flexShrink={0}>\n <text fg={props.theme.textMuted} wrapMode=\"none\">\n {props.row.ignored ? 'Unignore' : 'Ignore'}\n </text>\n </box>\n {canUninstall ? (\n <>\n <text fg={props.theme.textMuted} wrapMode=\"none\"> / </text>\n <box onMouseUp={() => props.onUninstall(props.row)} flexShrink={0}>\n <text fg={props.theme.textMuted} wrapMode=\"none\">Uninstall</text>\n </box>\n </>\n ) : null}\n </>\n )}\n </box>\n </box>\n <text fg={props.theme.textMuted} wrapMode=\"none\" overflow=\"hidden\">\n {compactSkillMeta(getSkillMeta(skill, props.row.state))}\n </text>\n {description ? (\n <text fg={props.theme.text} wrapMode=\"none\" overflow=\"hidden\">\n {compactSkillDescription(description)}\n </text>\n ) : null}\n </box>\n );\n};\n\nconst WizardSkillsDialogContent = (props: {\n status: () => StatusState;\n actionNotice: () => PreferenceActionNotice;\n theme: TuiPluginApi['theme']['current'];\n onIgnoreSkill: (row: SkillDialogRow) => void;\n onInstallSkill: (row: SkillDialogRow, preferenceScope: 'global' | 'project') => void;\n onUninstallSkill: (row: SkillDialogRow) => void;\n}) => {\n const [page, setPage] = createSignal(0);\n const content = () => {\n const currentStatus = props.status();\n\n if (currentStatus.kind === 'loading') {\n return (\n <text fg={props.theme.textMuted} wrapMode=\"none\" overflow=\"hidden\">\n Refreshing published skills…\n </text>\n );\n }\n\n if (currentStatus.kind === 'error') {\n return (\n <text fg={props.theme.warning} wrapMode=\"none\" overflow=\"hidden\">\n unavailable: {compactStatusMessage(currentStatus.message)}\n </text>\n );\n }\n\n if (!currentStatus.snapshot.catalog) {\n return (\n <text fg={props.theme.textMuted} wrapMode=\"none\" overflow=\"hidden\">\n catalog {formatSkillsCatalogUnavailableMessage(currentStatus.snapshot)}\n </text>\n );\n }\n\n const { catalog } = currentStatus.snapshot;\n const installableNotInstalledSkills = getInstallableNotInstalledSkills(currentStatus.snapshot);\n const rows: SkillDialogRow[] = [\n ...catalog.skills.map((skill) => ({\n skill,\n ignored: false,\n state: getSkillRowState(skill),\n })),\n ...currentStatus.snapshot.ignoredPublishedSkills.skills.map((skill) => ({\n skill,\n ignored: true,\n state: getSkillRowState(skill),\n })),\n ...installableNotInstalledSkills.map((skill) => ({ skill, ignored: false, state: 'installable' as const })),\n ];\n const totalPages = Math.max(1, Math.ceil(rows.length / SKILLS_PAGE_SIZE));\n const currentPage = Math.min(page(), totalPages - 1);\n const startIndex = currentPage * SKILLS_PAGE_SIZE;\n const endIndex = Math.min(startIndex + SKILLS_PAGE_SIZE, rows.length);\n const visibleRows = rows.slice(startIndex, endIndex);\n const canGoBack = currentPage > 0;\n const canGoForward = currentPage < totalPages - 1;\n const goBack = () => {\n if (!canGoBack) return;\n\n setPage(currentPage - 1);\n };\n const goForward = () => {\n if (!canGoForward) return;\n\n setPage(currentPage + 1);\n };\n\n return (\n <box width=\"100%\" flexDirection=\"column\" overflow=\"hidden\">\n <box width=\"100%\" flexDirection=\"row\" justifyContent=\"space-between\" overflow=\"hidden\">\n <text fg={props.theme.text} wrapMode=\"none\" overflow=\"hidden\">\n <b>{catalog.publishedSkillCount} skills</b>\n &nbsp;· {catalog.assignmentCounts.global} GLOBAL SCOPE · {catalog.assignmentCounts.project} PROJECT SCOPE\n &nbsp;· {catalog.assignmentCounts.user} USER SCOPE\n &nbsp;· {currentStatus.snapshot.ignoredPublishedSkills.count} ignored\n &nbsp;· {installableNotInstalledSkills.length} installable/not installed\n </text>\n <text fg={props.theme.textMuted} wrapMode=\"none\">\n page {currentPage + 1}/{totalPages}\n </text>\n </box>\n <box width=\"100%\" flexDirection=\"column\" marginTop={1} overflow=\"hidden\">\n {visibleRows.map((row) => (\n <SkillCatalogRow\n row={row}\n theme={props.theme}\n onIgnore={props.onIgnoreSkill}\n onInstall={props.onInstallSkill}\n onUninstall={props.onUninstallSkill}\n />\n ))}\n </box>\n <box width=\"100%\" flexDirection=\"row\" justifyContent=\"space-between\" overflow=\"hidden\">\n <box onMouseUp={goBack} flexShrink={0}>\n <text fg={canGoBack ? props.theme.text : props.theme.textMuted} wrapMode=\"none\">\n ← Prev\n </text>\n </box>\n <text fg={props.theme.textMuted} wrapMode=\"none\" overflow=\"hidden\">\n {visibleRows.length} shown\n </text>\n <box onMouseUp={goForward} flexShrink={0}>\n <text fg={canGoForward ? props.theme.text : props.theme.textMuted} wrapMode=\"none\">\n Next →\n </text>\n </box>\n </box>\n </box>\n );\n };\n\n return (\n <box width=\"100%\" flexDirection=\"column\" overflow=\"hidden\">\n <PreferenceActionNoticeRow notice={props.actionNotice()} theme={props.theme} />\n {content()}\n </box>\n );\n};\n\nconst PreferenceActionNoticeRow = (props: {\n notice: PreferenceActionNotice;\n theme: TuiPluginApi['theme']['current'];\n}) => {\n if (props.notice.kind === 'idle') return null;\n\n return (\n <text\n fg={props.notice.kind === 'error' ? props.theme.warning : props.theme.textMuted}\n wrapMode=\"none\"\n overflow=\"hidden\"\n >\n {compactStatusMessage(props.notice.message)}\n </text>\n );\n};\n\nconst ReadyRows = (props: { snapshot: PluginStatusSnapshot; theme: TuiPluginApi['theme']['current'] }) => {\n const statusRows = (\n <>\n <Row label=\"url\" value={formatBackendOriginLabel(props.snapshot.backendOrigin)} labelColor={props.theme.textMuted} valueColor={props.theme.text} />\n <Row label=\"auth\" value={formatAuthStatus(props.snapshot)} labelColor={props.theme.textMuted} valueColor={props.theme.text} />\n </>\n );\n\n if (!props.snapshot.catalog) {\n return (\n <box width=\"100%\" flexDirection=\"column\" overflow=\"hidden\">\n {statusRows}\n <Row label=\"catalog\" value={formatSkillsCatalogUnavailableMessage(props.snapshot)} labelColor={props.theme.textMuted} valueColor={props.theme.text} />\n </box>\n );\n }\n\n const installableNotInstalledCount = getInstallableNotInstalledSkills(props.snapshot).length;\n const catalogStatus = `${props.snapshot.catalog.publishedSkillCount} loaded · ${installableNotInstalledCount} installable · ${props.snapshot.ignoredPublishedSkills.count} ignored · open for details`;\n\n return (\n <box width=\"100%\" flexDirection=\"column\" overflow=\"hidden\">\n {statusRows}\n <Row label=\"catalog\" value={catalogStatus} labelColor={props.theme.textMuted} valueColor={props.theme.text} />\n </box>\n );\n};\n\nconst WizardSkillsDialog = (props: {\n api: TuiPluginApi;\n status: () => StatusState;\n refreshStatus: RefreshStatus;\n onClose: () => void;\n}) => {\n const theme = createMemo(() => props.api.theme.current);\n const [actionNotice, setActionNotice] = createSignal<PreferenceActionNotice>({ kind: 'idle' });\n\n const refreshAfterPreferenceChange = (message: string): void => {\n setActionNotice({ kind: 'success', message });\n props.refreshStatus({ showLoading: false });\n requestRender(props.api);\n };\n\n const showPreferenceFailure = (error: unknown): void => {\n setActionNotice({ kind: 'error', message: getErrorMessage(error) });\n props.refreshStatus({ showLoading: false });\n requestRender(props.api);\n };\n\n const ignoreSkill = (row: SkillDialogRow): void => {\n const currentStatus = props.status();\n if (currentStatus.kind !== 'ready') return;\n\n const scopeKey = currentStatus.snapshot.ignoredPublishedSkills.scopeKey;\n setActionNotice({ kind: 'pending', message: row.ignored ? 'Removing ignore preference…' : 'Ignoring skill…' });\n requestRender(props.api);\n void setPublishedSkillIgnored({\n worktree: props.api.state.path.worktree,\n directory: props.api.state.path.directory,\n scopeKey,\n skillSlug: row.skill.skillSlug,\n ignored: !row.ignored,\n preferenceScope: getSkillPreferenceScope(row.skill),\n })\n .then(() => refreshAfterPreferenceChange(row.ignored ? 'Skill is no longer ignored.' : 'Skill ignored.'))\n .catch(showPreferenceFailure);\n };\n\n const installSkill = (row: SkillDialogRow, preferenceScope: 'global' | 'project'): void => {\n const currentStatus = props.status();\n if (currentStatus.kind !== 'ready') return;\n\n const scopeKey = currentStatus.snapshot.ignoredPublishedSkills.scopeKey;\n setActionNotice({ kind: 'pending', message: `Installing skill for ${preferenceScope.toUpperCase()} SCOPE…` });\n requestRender(props.api);\n void setPublishedSkillInstalled({\n worktree: props.api.state.path.worktree,\n directory: props.api.state.path.directory,\n scopeKey,\n skillSlug: row.skill.skillSlug,\n installed: true,\n preferenceScope,\n })\n .then(() => refreshAfterPreferenceChange(`Skill installed for ${preferenceScope.toUpperCase()} SCOPE.`))\n .catch(showPreferenceFailure);\n };\n\n const uninstallSkill = (row: SkillDialogRow): void => {\n const currentStatus = props.status();\n if (currentStatus.kind !== 'ready') return;\n\n const scopeKey = currentStatus.snapshot.ignoredPublishedSkills.scopeKey;\n setActionNotice({ kind: 'pending', message: 'Uninstalling skill…' });\n requestRender(props.api);\n void setPublishedSkillInstalled({\n worktree: props.api.state.path.worktree,\n directory: props.api.state.path.directory,\n scopeKey,\n skillSlug: row.skill.skillSlug,\n installed: false,\n preferenceScope: getSkillPreferenceScope(row.skill),\n })\n .then(() => refreshAfterPreferenceChange('Skill uninstalled.'))\n .catch(showPreferenceFailure);\n };\n\n createEffect(() => {\n props.api.ui?.dialog?.setSize?.('xlarge');\n });\n\n return (\n <box width=\"100%\" flexDirection=\"column\" paddingLeft={1} paddingRight={1} paddingBottom={1}>\n <box width=\"100%\" flexDirection=\"row\" justifyContent=\"space-between\" overflow=\"hidden\">\n <text fg={theme().text} wrapMode=\"none\" overflow=\"hidden\">\n <b>Wizard Skills</b>\n </text>\n <box onMouseUp={props.onClose} flexShrink={0}>\n <text fg={theme().textMuted} wrapMode=\"none\">\n Close\n </text>\n </box>\n </box>\n <box width=\"100%\" flexDirection=\"column\" marginTop={1} overflow=\"hidden\">\n <WizardSkillsDialogContent\n status={props.status}\n actionNotice={actionNotice}\n theme={theme()}\n onIgnoreSkill={ignoreSkill}\n onInstallSkill={installSkill}\n onUninstallSkill={uninstallSkill}\n />\n </box>\n </box>\n );\n};\n\nconst openWizardSkillsDialog = (api: TuiPluginApi, status: () => StatusState, refreshStatus: RefreshStatus): void => {\n const dialog = api.ui?.dialog;\n if (!dialog?.replace) return;\n\n refreshStatus({ showLoading: true });\n\n dialog.replace(\n () => (\n <WizardSkillsDialog\n api={api}\n status={status}\n refreshStatus={refreshStatus}\n onClose={() => {\n dialog.clear?.();\n requestRender(api);\n }}\n />\n ),\n () => {\n requestRender(api);\n },\n );\n\n requestRender(api);\n};\n\nconst createWizardStatusSlot = (api: TuiPluginApi, status: () => StatusState, refreshStatus: RefreshStatus): TuiSlotPlugin => ({\n order: 240,\n slots: {\n home_bottom: () => (\n <Panel title=\"Wizard Skills\" theme={api.theme.current} onOpen={() => openWizardSkillsDialog(api, status, refreshStatus)}>\n <SkillsRows api={api} status={status} />\n </Panel>\n ),\n sidebar_content: (_ctx: TuiSlotContext, _value: { session_id: string }) => (\n <Panel title=\"Wizard Skills\" theme={api.theme.current} onOpen={() => openWizardSkillsDialog(api, status, refreshStatus)}>\n <SkillsRows api={api} status={status} />\n </Panel>\n ),\n },\n});\n\nconst loadStatus = async (api: TuiPluginApi): Promise<StatusState> => {\n try {\n const snapshot = await resolvePluginStatusSnapshotWithAuthBootstrap({\n worktree: api.state.path.worktree,\n directory: api.state.path.directory,\n signal: AbortSignal.timeout(STATUS_TIMEOUT_MS),\n });\n\n return {\n kind: 'ready',\n snapshot,\n };\n } catch (error) {\n return {\n kind: 'error',\n message: error instanceof Error ? error.message : 'Unable to load opencode-wizard status.',\n };\n }\n};\n\nconst tui: TuiPlugin = async (api) => {\n const [status, setStatus] = createSignal<StatusState>({ kind: 'loading' });\n const refreshStatus: RefreshStatus = (options) => {\n if (options?.showLoading) {\n setStatus({ kind: 'loading' });\n requestRender(api);\n }\n\n void loadStatus(api).then((nextStatus) => {\n setStatus(nextStatus);\n requestRender(api);\n });\n };\n\n api.slots.register(createWizardStatusSlot(api, status, refreshStatus));\n refreshStatus();\n setInterval(refreshStatus, STATUS_REFRESH_INTERVAL_MS);\n};\n\nexport default {\n id: PLUGIN_ID,\n tui,\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["PLUGIN_ID","tui","id"],"sources":["../src/tui.tsx"],"sourcesContent":["import { PLUGIN_ID } from './server.js';\nimport { tui } from './tui/plugin.js';\n\nexport default {\n id: PLUGIN_ID,\n tui,\n};\n"],"mappings":"AAAA,SAASA,SAAS,QAAQ,aAAa;AACvC,SAASC,GAAG,QAAQ,iBAAiB;AAErC,eAAe;EACbC,EAAE,EAAEF,SAAS;EACbC;AACF,CAAC","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aexol/opencode-wizard",
3
- "version": "0.3.3",
3
+ "version": "0.3.5",
4
4
  "description": "OpenCode plugin for opencode-wizard published skills",
5
5
  "type": "module",
6
6
  "oc-plugin": [