@nextop-os/workspace-issue-manager 0.0.16 → 0.0.18

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.
@@ -260,13 +260,51 @@ interface IssueManagerFileReference {
260
260
  kind: "file" | "folder" | (string & {});
261
261
  path: string;
262
262
  }
263
+ interface IssueManagerFileDirectoryListing {
264
+ directoryPath: string;
265
+ entries: IssueManagerFileReference[];
266
+ rootPath?: string | null;
267
+ }
268
+ type IssueManagerReferencePrefetchState = "loaded" | "partial" | "not_loaded" | "unavailable" | (string & {});
269
+ type IssueManagerReferencePrefetchReason = "budget_exhausted" | "depth_limit_reached" | "unreadable" | (string & {});
270
+ interface IssueManagerReferenceTreeDirectory {
271
+ directoryPath: string;
272
+ entries: IssueManagerReferenceTreeEntry[];
273
+ prefetchReason?: IssueManagerReferencePrefetchReason | null;
274
+ prefetchState: IssueManagerReferencePrefetchState;
275
+ }
276
+ interface IssueManagerReferenceTreeEntry extends IssueManagerFileReference {
277
+ hasChildren?: boolean;
278
+ prefetchReason?: IssueManagerReferencePrefetchReason | null;
279
+ prefetchState?: IssueManagerReferencePrefetchState | null;
280
+ prefetchedDirectory?: IssueManagerReferenceTreeDirectory | null;
281
+ }
282
+ interface IssueManagerReferenceTreeSnapshot {
283
+ budgetExceeded: boolean;
284
+ directory: IssueManagerReferenceTreeDirectory;
285
+ prefetchBudgetMs: number;
286
+ prefetchDepth: number;
287
+ rootPath: string;
288
+ }
263
289
  interface IssueManagerFileAdapter {
290
+ loadReferenceTree?(input: IssueManagerScope & {
291
+ path?: string | null;
292
+ prefetchBudgetMs?: number;
293
+ prefetchDepth?: number;
294
+ }): Promise<IssueManagerReferenceTreeSnapshot>;
295
+ listDirectory?(input: IssueManagerScope & {
296
+ path?: string | null;
297
+ }): Promise<IssueManagerFileDirectoryListing>;
264
298
  openReference?(reference: IssueManagerFileReference): Promise<void> | void;
265
299
  refreshTree?(input: IssueManagerScope & {
266
300
  depth?: number;
267
301
  paths?: readonly string[];
268
302
  }): Promise<void>;
269
303
  requestReferences?(input: IssueManagerScope): Promise<IssueManagerFileReference[]>;
304
+ searchReferences?(input: IssueManagerScope & {
305
+ limit?: number;
306
+ query: string;
307
+ }): Promise<IssueManagerFileReference[]>;
270
308
  requestUpload?(input: IssueManagerScope & {
271
309
  mode: "files" | "folder";
272
310
  targetDirectoryPath: string;
@@ -309,4 +347,4 @@ interface IssueManagerNodeState {
309
347
  taskListNextPageToken?: string | null;
310
348
  }
311
349
 
312
- export type { IssueManagerAddContextRefInput, IssueManagerAddContextRefsInput, IssueManagerAgentRunRequest, IssueManagerAgentRunResult, IssueManagerAgentRunner, IssueManagerBackend, IssueManagerCompleteRunInput, IssueManagerCompleteRunOutputInput, IssueManagerContextRef, IssueManagerContextRefParentKind, IssueManagerCreateIssueInput, IssueManagerCreateRunInput, IssueManagerCreateTaskInput, IssueManagerFileAdapter, IssueManagerFileReference, IssueManagerIdentityAdapter, IssueManagerIdentityProfile, IssueManagerIssueContextRef, IssueManagerIssueDetail, IssueManagerIssueSummary, IssueManagerListIssuesInput, IssueManagerListIssuesResult, IssueManagerListTasksInput, IssueManagerListTasksResult, IssueManagerNodeState, IssueManagerPriority, IssueManagerRemoveContextRefInput, IssueManagerRun, IssueManagerRunCompletionStatus, IssueManagerRunEnvelope, IssueManagerRunOutput, IssueManagerScope, IssueManagerShareAdapter, IssueManagerStatus, IssueManagerStatusCounts, IssueManagerTaskContextRef, IssueManagerTaskDetail, IssueManagerTaskSummary, IssueManagerUpdateIssueInput, IssueManagerUpdateTaskInput };
350
+ export type { IssueManagerAddContextRefInput, IssueManagerAddContextRefsInput, IssueManagerAgentRunRequest, IssueManagerAgentRunResult, IssueManagerAgentRunner, IssueManagerBackend, IssueManagerCompleteRunInput, IssueManagerCompleteRunOutputInput, IssueManagerContextRef, IssueManagerContextRefParentKind, IssueManagerCreateIssueInput, IssueManagerCreateRunInput, IssueManagerCreateTaskInput, IssueManagerFileAdapter, IssueManagerFileDirectoryListing, IssueManagerFileReference, IssueManagerIdentityAdapter, IssueManagerIdentityProfile, IssueManagerIssueContextRef, IssueManagerIssueDetail, IssueManagerIssueSummary, IssueManagerListIssuesInput, IssueManagerListIssuesResult, IssueManagerListTasksInput, IssueManagerListTasksResult, IssueManagerNodeState, IssueManagerPriority, IssueManagerReferencePrefetchReason, IssueManagerReferencePrefetchState, IssueManagerReferenceTreeDirectory, IssueManagerReferenceTreeEntry, IssueManagerReferenceTreeSnapshot, IssueManagerRemoveContextRefInput, IssueManagerRun, IssueManagerRunCompletionStatus, IssueManagerRunEnvelope, IssueManagerRunOutput, IssueManagerScope, IssueManagerShareAdapter, IssueManagerStatus, IssueManagerStatusCounts, IssueManagerTaskContextRef, IssueManagerTaskDetail, IssueManagerTaskSummary, IssueManagerUpdateIssueInput, IssueManagerUpdateTaskInput };
@@ -0,0 +1,30 @@
1
+ import { I18nRuntime } from '@nextop-os/ui-i18n-runtime';
2
+ import { IssueManagerI18nRuntime } from './i18n/index.js';
3
+ import { IssueManagerAgentRunner, IssueManagerBackend, IssueManagerFileAdapter, IssueManagerIdentityAdapter, IssueManagerShareAdapter, IssueManagerNodeState } from './contracts/index.js';
4
+
5
+ interface IssueManagerNotificationSink {
6
+ tips(title: string): void;
7
+ }
8
+ interface IssueManagerFeature {
9
+ agentRunner: IssueManagerAgentRunner;
10
+ backend: IssueManagerBackend;
11
+ fileAdapter?: IssueManagerFileAdapter;
12
+ i18n: IssueManagerI18nRuntime;
13
+ identityAdapter: IssueManagerIdentityAdapter;
14
+ notifications?: IssueManagerNotificationSink;
15
+ shareAdapter?: IssueManagerShareAdapter;
16
+ }
17
+ interface CreateIssueManagerFeatureInput {
18
+ agentRunner: IssueManagerAgentRunner;
19
+ backend: IssueManagerBackend;
20
+ fileAdapter?: IssueManagerFileAdapter;
21
+ i18n?: I18nRuntime<string>;
22
+ identityAdapter: IssueManagerIdentityAdapter;
23
+ notifications?: IssueManagerNotificationSink;
24
+ shareAdapter?: IssueManagerShareAdapter;
25
+ }
26
+ declare const defaultIssueManagerNodeState: IssueManagerNodeState;
27
+ declare function createIssueManagerFeature(input: CreateIssueManagerFeatureInput): IssueManagerFeature;
28
+ declare function normalizeIssueManagerNodeState(state: Partial<IssueManagerNodeState> | null | undefined): IssueManagerNodeState;
29
+
30
+ export { type CreateIssueManagerFeatureInput as C, type IssueManagerFeature as I, type IssueManagerNotificationSink as a, createIssueManagerFeature as c, defaultIssueManagerNodeState as d, normalizeIssueManagerNodeState as n };
@@ -3,7 +3,7 @@ import { I18nRuntime, I18nDictionary } from '@nextop-os/ui-i18n-runtime';
3
3
 
4
4
  declare const issueManagerI18nNamespace = "issueManager";
5
5
  declare const issueManagerI18nModule: _nextop_os_ui_i18n_runtime.ScopedLocaleObjectsI18nModuleManifest;
6
- type IssueManagerI18nKey = "dockLabel" | "emptyState" | "status.canceled" | "status.completed" | "status.failed" | "status.notStarted" | "status.pendingAcceptance" | "status.running" | "status.unknown" | "title";
6
+ type IssueManagerI18nKey = string;
7
7
  type IssueManagerI18nRuntime = I18nRuntime<IssueManagerI18nKey>;
8
8
  declare const issueManagerI18nResources: {
9
9
  readonly en: {
@@ -3,7 +3,7 @@ import {
3
3
  issueManagerI18nModule,
4
4
  issueManagerI18nNamespace,
5
5
  issueManagerI18nResources
6
- } from "../chunk-CSDFXQBD.js";
6
+ } from "../chunk-H2ZF6X6A.js";
7
7
  export {
8
8
  createIssueManagerI18nRuntime,
9
9
  issueManagerI18nModule,
package/dist/index.d.ts CHANGED
@@ -1,25 +1,45 @@
1
- import { I18nRuntime } from '@nextop-os/ui-i18n-runtime';
2
- import { IssueManagerI18nRuntime } from './i18n/index.js';
3
- import { IssueManagerAgentRunner, IssueManagerBackend, IssueManagerFileAdapter, IssueManagerIdentityAdapter, IssueManagerShareAdapter, IssueManagerNodeState } from './contracts/index.js';
1
+ export { C as CreateIssueManagerFeatureInput, I as IssueManagerFeature, a as IssueManagerNotificationSink, c as createIssueManagerFeature, d as defaultIssueManagerNodeState, n as normalizeIssueManagerNodeState } from './feature-Qe1b5W0D.js';
2
+ import { createRichTextMentionHref, createRichTextMentionMarkdown, extractRichTextMentionsFromContent, extractPlainTextFromContent, extractPlainTextWithoutFilesFromContent, normalizeRichTextContent, parseRichTextMentionHref, removeRichTextMentionFromContent } from '@nextop-os/ui-rich-text/core';
3
+ import { RichTextMentionAttrs } from '@nextop-os/ui-rich-text/types';
4
+ import { IssueManagerIssueSummary, IssueManagerTaskSummary } from './contracts/index.js';
5
+ import '@nextop-os/ui-i18n-runtime';
6
+ import './i18n/index.js';
4
7
 
5
- interface IssueManagerFeature {
6
- agentRunner: IssueManagerAgentRunner;
7
- backend: IssueManagerBackend;
8
- fileAdapter?: IssueManagerFileAdapter;
9
- i18n: IssueManagerI18nRuntime;
10
- identityAdapter: IssueManagerIdentityAdapter;
11
- shareAdapter?: IssueManagerShareAdapter;
12
- }
13
- interface CreateIssueManagerFeatureInput {
14
- agentRunner: IssueManagerAgentRunner;
15
- backend: IssueManagerBackend;
16
- fileAdapter?: IssueManagerFileAdapter;
17
- i18n?: I18nRuntime<string>;
18
- identityAdapter: IssueManagerIdentityAdapter;
19
- shareAdapter?: IssueManagerShareAdapter;
20
- }
21
- declare const defaultIssueManagerNodeState: IssueManagerNodeState;
22
- declare function createIssueManagerFeature(input: CreateIssueManagerFeatureInput): IssueManagerFeature;
23
- declare function normalizeIssueManagerNodeState(state: Partial<IssueManagerNodeState> | null | undefined): IssueManagerNodeState;
8
+ type IssueManagerWorkspaceFileLinkRef = {
9
+ href: string;
10
+ kind: "file" | "folder";
11
+ name: string;
12
+ path: string;
13
+ };
14
+ type IssueManagerWorkspaceFileLinkInput = {
15
+ kind?: "file" | "folder";
16
+ name?: string | null;
17
+ path: string;
18
+ };
19
+ type IssueManagerMentionRef = RichTextMentionAttrs;
20
+ type IssueManagerMentionAttrs = RichTextMentionAttrs;
21
+ declare const normalizeIssueManagerContent: typeof normalizeRichTextContent;
22
+ declare function normalizeIssueManagerWorkspaceFileLinkHref(pathOrHref: string, kind?: "file" | "folder"): string;
23
+ declare function createIssueManagerWorkspaceFileLinkMarkdown(input: IssueManagerWorkspaceFileLinkInput): string;
24
+ declare function appendIssueManagerWorkspaceFileLinksToContent(value: string | null | undefined, refs: readonly IssueManagerWorkspaceFileLinkInput[]): string;
25
+ declare function extractIssueManagerWorkspaceFileLinksFromContent(value: string | null | undefined): IssueManagerWorkspaceFileLinkRef[];
26
+ declare function removeIssueManagerWorkspaceFileLinkFromContent(content: string, path: string): string;
27
+ declare const extractIssueManagerPlainTextFromContent: typeof extractPlainTextFromContent;
28
+ declare const extractIssueManagerPlainTextWithoutFilesFromContent: typeof extractPlainTextWithoutFilesFromContent;
29
+ declare const createIssueManagerMentionHref: typeof createRichTextMentionHref;
30
+ declare const createIssueManagerMentionMarkdown: typeof createRichTextMentionMarkdown;
31
+ declare const parseIssueManagerMentionHref: typeof parseRichTextMentionHref;
32
+ declare const extractIssueManagerMentionsFromContent: typeof extractRichTextMentionsFromContent;
33
+ declare const removeIssueManagerMentionFromContent: typeof removeRichTextMentionFromContent;
24
34
 
25
- export { type CreateIssueManagerFeatureInput, type IssueManagerFeature, createIssueManagerFeature, defaultIssueManagerNodeState, normalizeIssueManagerNodeState };
35
+ declare function buildIssueManagerRunOutputDir(issueId: string, taskId: string, runId: string): string;
36
+ declare function buildIssueManagerUploadDir(issueId: string, taskId?: string | null): string;
37
+ declare function resolveIssueManagerWorkspaceRuntimePath(workspaceRoot: string, requestedPath: string): string;
38
+ declare function buildIssueManagerRunPrompt(input: {
39
+ issue: IssueManagerIssueSummary;
40
+ runId: string;
41
+ task: IssueManagerTaskSummary;
42
+ workspaceRoot: string;
43
+ }): string;
44
+
45
+ export { type IssueManagerMentionAttrs, type IssueManagerMentionRef, type IssueManagerWorkspaceFileLinkInput, type IssueManagerWorkspaceFileLinkRef, appendIssueManagerWorkspaceFileLinksToContent, buildIssueManagerRunOutputDir, buildIssueManagerRunPrompt, buildIssueManagerUploadDir, createIssueManagerMentionHref, createIssueManagerMentionMarkdown, createIssueManagerWorkspaceFileLinkMarkdown, extractIssueManagerMentionsFromContent, extractIssueManagerPlainTextFromContent, extractIssueManagerPlainTextWithoutFilesFromContent, extractIssueManagerWorkspaceFileLinksFromContent, normalizeIssueManagerContent, normalizeIssueManagerWorkspaceFileLinkHref, parseIssueManagerMentionHref, removeIssueManagerMentionFromContent, removeIssueManagerWorkspaceFileLinkFromContent, resolveIssueManagerWorkspaceRuntimePath };
package/dist/index.js CHANGED
@@ -1,12 +1,46 @@
1
1
  import {
2
+ appendIssueManagerWorkspaceFileLinksToContent,
3
+ buildIssueManagerRunOutputDir,
4
+ buildIssueManagerRunPrompt,
5
+ buildIssueManagerUploadDir,
2
6
  createIssueManagerFeature,
7
+ createIssueManagerMentionHref,
8
+ createIssueManagerMentionMarkdown,
9
+ createIssueManagerWorkspaceFileLinkMarkdown,
3
10
  defaultIssueManagerNodeState,
4
- normalizeIssueManagerNodeState
5
- } from "./chunk-POBWWUUQ.js";
6
- import "./chunk-CSDFXQBD.js";
11
+ extractIssueManagerMentionsFromContent,
12
+ extractIssueManagerPlainTextFromContent,
13
+ extractIssueManagerPlainTextWithoutFilesFromContent,
14
+ extractIssueManagerWorkspaceFileLinksFromContent,
15
+ normalizeIssueManagerContent,
16
+ normalizeIssueManagerNodeState,
17
+ normalizeIssueManagerWorkspaceFileLinkHref,
18
+ parseIssueManagerMentionHref,
19
+ removeIssueManagerMentionFromContent,
20
+ removeIssueManagerWorkspaceFileLinkFromContent,
21
+ resolveIssueManagerWorkspaceRuntimePath
22
+ } from "./chunk-HKIH3OTZ.js";
23
+ import "./chunk-H2ZF6X6A.js";
7
24
  export {
25
+ appendIssueManagerWorkspaceFileLinksToContent,
26
+ buildIssueManagerRunOutputDir,
27
+ buildIssueManagerRunPrompt,
28
+ buildIssueManagerUploadDir,
8
29
  createIssueManagerFeature,
30
+ createIssueManagerMentionHref,
31
+ createIssueManagerMentionMarkdown,
32
+ createIssueManagerWorkspaceFileLinkMarkdown,
9
33
  defaultIssueManagerNodeState,
10
- normalizeIssueManagerNodeState
34
+ extractIssueManagerMentionsFromContent,
35
+ extractIssueManagerPlainTextFromContent,
36
+ extractIssueManagerPlainTextWithoutFilesFromContent,
37
+ extractIssueManagerWorkspaceFileLinksFromContent,
38
+ normalizeIssueManagerContent,
39
+ normalizeIssueManagerNodeState,
40
+ normalizeIssueManagerWorkspaceFileLinkHref,
41
+ parseIssueManagerMentionHref,
42
+ removeIssueManagerMentionFromContent,
43
+ removeIssueManagerWorkspaceFileLinkFromContent,
44
+ resolveIssueManagerWorkspaceRuntimePath
11
45
  };
12
46
  //# sourceMappingURL=index.js.map
@@ -1,17 +1,32 @@
1
- import { JSX } from 'react';
1
+ import { JSX, HTMLAttributes, ReactNode } from 'react';
2
+ import { RichTextAtProvider } from '@nextop-os/ui-rich-text/types';
2
3
  import { IssueManagerNodeState } from '../contracts/index.js';
3
- import { IssueManagerFeature } from '../index.js';
4
+ import { I as IssueManagerFeature } from '../feature-Qe1b5W0D.js';
5
+ import { IssueManagerI18nRuntime } from '../i18n/index.js';
4
6
  import '@nextop-os/ui-i18n-runtime';
5
- import '../i18n/index.js';
7
+
8
+ type IssueManagerRichTextSurface = "issue" | "task";
6
9
 
7
10
  interface IssueManagerNodeProps {
8
11
  feature: IssueManagerFeature;
9
12
  nodeId: string;
10
13
  onStateChange?: (state: IssueManagerNodeState) => void;
14
+ resolveRichTextAtProviders?: (input: {
15
+ surface: IssueManagerRichTextSurface;
16
+ workspaceId: string;
17
+ }) => readonly RichTextAtProvider[];
11
18
  state?: Partial<IssueManagerNodeState> | null;
12
19
  workspaceId: string;
13
20
  }
14
- declare function IssueManagerNode({ feature, nodeId, state, workspaceId }: IssueManagerNodeProps): JSX.Element;
15
- declare function IssueManagerNodeHeader(): JSX.Element | null;
21
+ declare function IssueManagerNode({ feature, nodeId, onStateChange, resolveRichTextAtProviders, state, workspaceId }: IssueManagerNodeProps): JSX.Element;
22
+ interface IssueManagerNodeHeaderProps extends HTMLAttributes<HTMLElement> {
23
+ copy: IssueManagerI18nRuntime;
24
+ defaultActions?: ReactNode;
25
+ isSidebarAutoCollapsed: boolean;
26
+ isSidebarCollapsed: boolean;
27
+ onToggleSidebar: () => void;
28
+ title?: string;
29
+ }
30
+ declare function IssueManagerNodeHeader({ className, copy, defaultActions, isSidebarAutoCollapsed, isSidebarCollapsed, onToggleSidebar, title, ...headerProps }: IssueManagerNodeHeaderProps): JSX.Element;
16
31
 
17
32
  export { IssueManagerNode, IssueManagerNodeHeader, type IssueManagerNodeProps };
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  IssueManagerNode,
3
3
  IssueManagerNodeHeader
4
- } from "../chunk-HMMAMS4Z.js";
5
- import "../chunk-POBWWUUQ.js";
6
- import "../chunk-CSDFXQBD.js";
4
+ } from "../chunk-IYLTKFVO.js";
5
+ import "../chunk-HKIH3OTZ.js";
6
+ import "../chunk-H2ZF6X6A.js";
7
7
  export {
8
8
  IssueManagerNode,
9
9
  IssueManagerNodeHeader
@@ -1,7 +1,8 @@
1
1
  import { ReactNode } from 'react';
2
+ import { RichTextAtProvider } from '@nextop-os/ui-rich-text/types';
2
3
  import { WorkbenchFrame, WorkbenchHostDockEntry, WorkbenchHostLaunchRequest, WorkbenchHostLaunchResult, WorkbenchHostNodeDefinition } from '@nextop-os/workbench-surface';
3
4
  import { IssueManagerNodeState } from '../contracts/index.js';
4
- import { IssueManagerFeature } from '../index.js';
5
+ import { I as IssueManagerFeature } from '../feature-Qe1b5W0D.js';
5
6
  import '@nextop-os/ui-i18n-runtime';
6
7
  import '../i18n/index.js';
7
8
 
@@ -11,6 +12,17 @@ interface IssueManagerExternalWorkspaceState {
11
12
  interface CreateIssueManagerWorkbenchNodeDefinitionInput {
12
13
  feature: IssueManagerFeature;
13
14
  frame?: WorkbenchFrame;
15
+ onStateChange?: (input: {
16
+ instanceId: string;
17
+ instanceKey?: string | null;
18
+ nodeId: string;
19
+ state: IssueManagerNodeState;
20
+ workspaceState: IssueManagerExternalWorkspaceState;
21
+ }) => void;
22
+ resolveRichTextAtProviders?: (input: {
23
+ surface: "issue" | "task";
24
+ workspaceId: string;
25
+ }) => readonly RichTextAtProvider[];
14
26
  title?: string;
15
27
  typeId?: string;
16
28
  }
@@ -28,7 +40,7 @@ interface CreateIssueManagerDockEntryInput {
28
40
  typeId?: string;
29
41
  }
30
42
  declare const defaultIssueManagerWorkbenchTypeId = "issue-manager";
31
- declare function createIssueManagerWorkbenchNodeDefinition<TExternalWorkspaceState extends IssueManagerExternalWorkspaceState = IssueManagerExternalWorkspaceState>({ feature, frame, title, typeId }: CreateIssueManagerWorkbenchNodeDefinitionInput): WorkbenchHostNodeDefinition<Partial<IssueManagerNodeState> | null, TExternalWorkspaceState>;
43
+ declare function createIssueManagerWorkbenchNodeDefinition<TExternalWorkspaceState extends IssueManagerExternalWorkspaceState = IssueManagerExternalWorkspaceState>({ feature, frame, onStateChange, resolveRichTextAtProviders, title, typeId }: CreateIssueManagerWorkbenchNodeDefinitionInput): WorkbenchHostNodeDefinition<Partial<IssueManagerNodeState> | null, TExternalWorkspaceState>;
32
44
  declare function createIssueManagerDockEntry({ dockIcon, feature, id, order, sectionId, typeId }: CreateIssueManagerDockEntryInput): WorkbenchHostDockEntry;
33
45
  declare function createIssueManagerWorkbenchLaunchHandler({ frame, title, typeId }?: CreateIssueManagerWorkbenchLaunchHandlerInput): (request: WorkbenchHostLaunchRequest) => Promise<WorkbenchHostLaunchResult | null>;
34
46
 
@@ -1,21 +1,33 @@
1
1
  import {
2
- IssueManagerNode
3
- } from "../chunk-HMMAMS4Z.js";
4
- import "../chunk-POBWWUUQ.js";
5
- import "../chunk-CSDFXQBD.js";
2
+ IssueManagerNode,
3
+ IssueManagerNodeHeader,
4
+ dispatchIssueManagerTaskListCollapsed,
5
+ shouldAutoCollapseIssueManagerSidebar
6
+ } from "../chunk-IYLTKFVO.js";
7
+ import {
8
+ normalizeIssueManagerNodeState
9
+ } from "../chunk-HKIH3OTZ.js";
10
+ import "../chunk-H2ZF6X6A.js";
6
11
 
7
12
  // src/workbench/index.ts
8
13
  import { createElement } from "react";
9
14
  var defaultIssueManagerWorkbenchTypeId = "issue-manager";
15
+ var defaultIssueManagerDockIconUrl = new URL(
16
+ "../assets/workspace-dock-task.png",
17
+ import.meta.url
18
+ ).href;
10
19
  var defaultIssueManagerNodeFrame = {
11
20
  height: 620,
12
21
  width: 960,
13
22
  x: 220,
14
23
  y: 120
15
24
  };
25
+ var issueManagerExpandedFrameMinWidth = 668;
16
26
  function createIssueManagerWorkbenchNodeDefinition({
17
27
  feature,
18
28
  frame = defaultIssueManagerNodeFrame,
29
+ onStateChange,
30
+ resolveRichTextAtProviders,
19
31
  title,
20
32
  typeId = defaultIssueManagerWorkbenchTypeId
21
33
  }) {
@@ -27,9 +39,78 @@ function createIssueManagerWorkbenchNodeDefinition({
27
39
  renderBody: (context) => createElement(IssueManagerNode, {
28
40
  feature,
29
41
  nodeId: context.node.id,
42
+ onStateChange: onStateChange ? (state) => onStateChange({
43
+ instanceId: context.instanceId,
44
+ instanceKey: context.instanceKey ?? null,
45
+ nodeId: context.node.id,
46
+ state,
47
+ workspaceState: context.externalWorkspaceState
48
+ }) : void 0,
49
+ resolveRichTextAtProviders,
30
50
  state: context.externalNodeState,
31
51
  workspaceId: context.externalWorkspaceState.workspaceId ?? ""
32
52
  }),
53
+ renderHeader: ({
54
+ defaultActions,
55
+ dragHandleProps,
56
+ externalNodeState,
57
+ externalWorkspaceState,
58
+ instanceId,
59
+ instanceKey,
60
+ isFocused,
61
+ node,
62
+ surfaceSize,
63
+ windowActions
64
+ }) => {
65
+ const nodeState = normalizeIssueManagerNodeState(externalNodeState);
66
+ const isSidebarAutoCollapsed = shouldAutoCollapseIssueManagerSidebar(
67
+ node.frame.width
68
+ );
69
+ const isSidebarCollapsed = nodeState.taskListCollapsed === true || isSidebarAutoCollapsed;
70
+ const persistTaskListCollapsed = (collapsed) => {
71
+ onStateChange?.({
72
+ instanceId,
73
+ instanceKey: instanceKey ?? null,
74
+ nodeId: node.id,
75
+ state: {
76
+ ...nodeState,
77
+ taskListCollapsed: collapsed
78
+ },
79
+ workspaceState: externalWorkspaceState
80
+ });
81
+ };
82
+ const applyTaskListCollapsed = (collapsed) => {
83
+ dispatchIssueManagerTaskListCollapsed({
84
+ collapsed,
85
+ nodeId: node.id
86
+ });
87
+ persistTaskListCollapsed(collapsed);
88
+ };
89
+ return createElement(IssueManagerNodeHeader, {
90
+ copy: feature.i18n,
91
+ defaultActions,
92
+ isSidebarAutoCollapsed,
93
+ isSidebarCollapsed,
94
+ title: node.title,
95
+ ...dragHandleProps,
96
+ onPointerDown: (event) => {
97
+ dragHandleProps.onPointerDown?.(event);
98
+ if (!isFocused) {
99
+ windowActions.focus();
100
+ }
101
+ },
102
+ onToggleSidebar: () => {
103
+ if (isSidebarAutoCollapsed) {
104
+ windowActions.resize(
105
+ resolveIssueManagerExpandedFrame(node.frame, surfaceSize.width)
106
+ );
107
+ applyTaskListCollapsed(false);
108
+ return;
109
+ }
110
+ applyTaskListCollapsed(nodeState.taskListCollapsed !== true);
111
+ }
112
+ });
113
+ },
33
114
  title: title ?? feature.i18n.t("title"),
34
115
  typeId,
35
116
  window: {
@@ -40,6 +121,17 @@ function createIssueManagerWorkbenchNodeDefinition({
40
121
  }
41
122
  };
42
123
  }
124
+ function resolveIssueManagerExpandedFrame(frame, surfaceWidth) {
125
+ const width = Math.min(
126
+ Math.max(frame.width, issueManagerExpandedFrameMinWidth),
127
+ Math.max(frame.width, surfaceWidth)
128
+ );
129
+ return {
130
+ ...frame,
131
+ width,
132
+ x: Math.max(0, Math.min(frame.x, surfaceWidth - width))
133
+ };
134
+ }
43
135
  function createIssueManagerDockEntry({
44
136
  dockIcon,
45
137
  feature,
@@ -83,14 +175,13 @@ function createIssueManagerWorkbenchLaunchHandler({
83
175
  };
84
176
  }
85
177
  function DefaultIssueManagerDockIcon() {
86
- return createElement(
87
- "span",
88
- {
89
- "aria-hidden": "true",
90
- className: "workspace-issue-manager__dock-icon"
91
- },
92
- "!"
93
- );
178
+ return createElement("img", {
179
+ alt: "",
180
+ "aria-hidden": "true",
181
+ "data-issue-manager-dock-icon": "true",
182
+ draggable: false,
183
+ src: defaultIssueManagerDockIconUrl
184
+ });
94
185
  }
95
186
  export {
96
187
  createIssueManagerDockEntry,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/workbench/index.ts"],"sourcesContent":["import { createElement, type ReactNode } from \"react\";\nimport type {\n WorkbenchFrame,\n WorkbenchHostDockEntry,\n WorkbenchHostLaunchRequest,\n WorkbenchHostLaunchResult,\n WorkbenchHostNodeDefinition\n} from \"@nextop-os/workbench-surface\";\nimport type { IssueManagerNodeState } from \"../contracts/index.ts\";\nimport type { IssueManagerFeature } from \"../core/index.ts\";\nimport { IssueManagerNode } from \"../react/IssueManagerNode.tsx\";\n\nexport interface IssueManagerExternalWorkspaceState {\n workspaceId?: string | null;\n}\n\nexport interface CreateIssueManagerWorkbenchNodeDefinitionInput {\n feature: IssueManagerFeature;\n frame?: WorkbenchFrame;\n title?: string;\n typeId?: string;\n}\n\nexport interface CreateIssueManagerWorkbenchLaunchHandlerInput {\n frame?: WorkbenchFrame;\n title?: string;\n typeId?: string;\n}\n\nexport interface CreateIssueManagerDockEntryInput {\n dockIcon?: ReactNode;\n feature: IssueManagerFeature;\n id?: string;\n order?: number;\n sectionId?: string;\n typeId?: string;\n}\n\nexport const defaultIssueManagerWorkbenchTypeId = \"issue-manager\";\n\nconst defaultIssueManagerNodeFrame: WorkbenchFrame = {\n height: 620,\n width: 960,\n x: 220,\n y: 120\n};\n\nexport function createIssueManagerWorkbenchNodeDefinition<\n TExternalWorkspaceState extends IssueManagerExternalWorkspaceState =\n IssueManagerExternalWorkspaceState\n>({\n feature,\n frame = defaultIssueManagerNodeFrame,\n title,\n typeId = defaultIssueManagerWorkbenchTypeId\n}: CreateIssueManagerWorkbenchNodeDefinitionInput): WorkbenchHostNodeDefinition<\n Partial<IssueManagerNodeState> | null,\n TExternalWorkspaceState\n> {\n return {\n frame,\n instance: {\n mode: \"single\"\n },\n renderBody: (context) =>\n createElement(IssueManagerNode, {\n feature,\n nodeId: context.node.id,\n state: context.externalNodeState,\n workspaceId: context.externalWorkspaceState.workspaceId ?? \"\"\n }),\n title: title ?? feature.i18n.t(\"title\"),\n typeId,\n window: {\n closable: true,\n defaultOpen: false,\n minimizable: true,\n restoreOnLoad: true\n }\n };\n}\n\nexport function createIssueManagerDockEntry({\n dockIcon,\n feature,\n id,\n order,\n sectionId,\n typeId = defaultIssueManagerWorkbenchTypeId\n}: CreateIssueManagerDockEntryInput): WorkbenchHostDockEntry {\n return {\n icon: dockIcon ?? createElement(DefaultIssueManagerDockIcon),\n id: id ?? typeId,\n label: feature.i18n.t(\"dockLabel\"),\n launchBehavior: \"enabled\",\n matchNode: (node) => node.data.typeId === typeId,\n order,\n resolvePopupItem: ({ node }) => ({\n title: node.title\n }),\n sectionId,\n typeId,\n visibility: \"always\"\n };\n}\n\nexport function createIssueManagerWorkbenchLaunchHandler({\n frame = defaultIssueManagerNodeFrame,\n title,\n typeId = defaultIssueManagerWorkbenchTypeId\n}: CreateIssueManagerWorkbenchLaunchHandlerInput = {}): (\n request: WorkbenchHostLaunchRequest\n) => Promise<WorkbenchHostLaunchResult | null> {\n return (request) => {\n if (request.typeId !== typeId) {\n return Promise.resolve(null);\n }\n\n return Promise.resolve({\n defaultFrame: frame,\n dockEntryId: request.dockEntryId ?? typeId,\n framePolicy: \"cascade\",\n instanceId: typeId,\n title,\n typeId\n });\n };\n}\n\nfunction DefaultIssueManagerDockIcon() {\n return createElement(\n \"span\",\n {\n \"aria-hidden\": \"true\",\n className: \"workspace-issue-manager__dock-icon\"\n },\n \"!\"\n );\n}\n"],"mappings":";;;;;;;AAAA,SAAS,qBAAqC;AAsCvC,IAAM,qCAAqC;AAElD,IAAM,+BAA+C;AAAA,EACnD,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,GAAG;AAAA,EACH,GAAG;AACL;AAEO,SAAS,0CAGd;AAAA,EACA;AAAA,EACA,QAAQ;AAAA,EACR;AAAA,EACA,SAAS;AACX,GAGE;AACA,SAAO;AAAA,IACL;AAAA,IACA,UAAU;AAAA,MACR,MAAM;AAAA,IACR;AAAA,IACA,YAAY,CAAC,YACX,cAAc,kBAAkB;AAAA,MAC9B;AAAA,MACA,QAAQ,QAAQ,KAAK;AAAA,MACrB,OAAO,QAAQ;AAAA,MACf,aAAa,QAAQ,uBAAuB,eAAe;AAAA,IAC7D,CAAC;AAAA,IACH,OAAO,SAAS,QAAQ,KAAK,EAAE,OAAO;AAAA,IACtC;AAAA,IACA,QAAQ;AAAA,MACN,UAAU;AAAA,MACV,aAAa;AAAA,MACb,aAAa;AAAA,MACb,eAAe;AAAA,IACjB;AAAA,EACF;AACF;AAEO,SAAS,4BAA4B;AAAA,EAC1C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,SAAS;AACX,GAA6D;AAC3D,SAAO;AAAA,IACL,MAAM,YAAY,cAAc,2BAA2B;AAAA,IAC3D,IAAI,MAAM;AAAA,IACV,OAAO,QAAQ,KAAK,EAAE,WAAW;AAAA,IACjC,gBAAgB;AAAA,IAChB,WAAW,CAAC,SAAS,KAAK,KAAK,WAAW;AAAA,IAC1C;AAAA,IACA,kBAAkB,CAAC,EAAE,KAAK,OAAO;AAAA,MAC/B,OAAO,KAAK;AAAA,IACd;AAAA,IACA;AAAA,IACA;AAAA,IACA,YAAY;AAAA,EACd;AACF;AAEO,SAAS,yCAAyC;AAAA,EACvD,QAAQ;AAAA,EACR;AAAA,EACA,SAAS;AACX,IAAmD,CAAC,GAEL;AAC7C,SAAO,CAAC,YAAY;AAClB,QAAI,QAAQ,WAAW,QAAQ;AAC7B,aAAO,QAAQ,QAAQ,IAAI;AAAA,IAC7B;AAEA,WAAO,QAAQ,QAAQ;AAAA,MACrB,cAAc;AAAA,MACd,aAAa,QAAQ,eAAe;AAAA,MACpC,aAAa;AAAA,MACb,YAAY;AAAA,MACZ;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AACF;AAEA,SAAS,8BAA8B;AACrC,SAAO;AAAA,IACL;AAAA,IACA;AAAA,MACE,eAAe;AAAA,MACf,WAAW;AAAA,IACb;AAAA,IACA;AAAA,EACF;AACF;","names":[]}
1
+ {"version":3,"sources":["../../src/workbench/index.ts"],"sourcesContent":["import { createElement, type ReactNode } from \"react\";\nimport type { RichTextAtProvider } from \"@nextop-os/ui-rich-text/types\";\nimport type {\n WorkbenchFrame,\n WorkbenchHostDockEntry,\n WorkbenchHostLaunchRequest,\n WorkbenchHostLaunchResult,\n WorkbenchHostNodeDefinition\n} from \"@nextop-os/workbench-surface\";\nimport type { IssueManagerNodeState } from \"../contracts/index.ts\";\nimport {\n normalizeIssueManagerNodeState,\n type IssueManagerFeature\n} from \"../core/index.ts\";\nimport {\n dispatchIssueManagerTaskListCollapsed,\n IssueManagerNode,\n IssueManagerNodeHeader\n} from \"../react/IssueManagerNode.tsx\";\nimport { shouldAutoCollapseIssueManagerSidebar } from \"../react/internal/IssueManagerShell.tsx\";\n\nexport interface IssueManagerExternalWorkspaceState {\n workspaceId?: string | null;\n}\n\nexport interface CreateIssueManagerWorkbenchNodeDefinitionInput {\n feature: IssueManagerFeature;\n frame?: WorkbenchFrame;\n onStateChange?: (input: {\n instanceId: string;\n instanceKey?: string | null;\n nodeId: string;\n state: IssueManagerNodeState;\n workspaceState: IssueManagerExternalWorkspaceState;\n }) => void;\n resolveRichTextAtProviders?: (input: {\n surface: \"issue\" | \"task\";\n workspaceId: string;\n }) => readonly RichTextAtProvider[];\n title?: string;\n typeId?: string;\n}\n\nexport interface CreateIssueManagerWorkbenchLaunchHandlerInput {\n frame?: WorkbenchFrame;\n title?: string;\n typeId?: string;\n}\n\nexport interface CreateIssueManagerDockEntryInput {\n dockIcon?: ReactNode;\n feature: IssueManagerFeature;\n id?: string;\n order?: number;\n sectionId?: string;\n typeId?: string;\n}\n\nexport const defaultIssueManagerWorkbenchTypeId = \"issue-manager\";\nconst defaultIssueManagerDockIconUrl = new URL(\n \"../assets/workspace-dock-task.png\",\n import.meta.url\n).href;\n\nconst defaultIssueManagerNodeFrame: WorkbenchFrame = {\n height: 620,\n width: 960,\n x: 220,\n y: 120\n};\nconst issueManagerExpandedFrameMinWidth = 668;\n\nexport function createIssueManagerWorkbenchNodeDefinition<\n TExternalWorkspaceState extends IssueManagerExternalWorkspaceState =\n IssueManagerExternalWorkspaceState\n>({\n feature,\n frame = defaultIssueManagerNodeFrame,\n onStateChange,\n resolveRichTextAtProviders,\n title,\n typeId = defaultIssueManagerWorkbenchTypeId\n}: CreateIssueManagerWorkbenchNodeDefinitionInput): WorkbenchHostNodeDefinition<\n Partial<IssueManagerNodeState> | null,\n TExternalWorkspaceState\n> {\n return {\n frame,\n instance: {\n mode: \"single\"\n },\n renderBody: (context) =>\n createElement(IssueManagerNode, {\n feature,\n nodeId: context.node.id,\n onStateChange: onStateChange\n ? (state) =>\n onStateChange({\n instanceId: context.instanceId,\n instanceKey: context.instanceKey ?? null,\n nodeId: context.node.id,\n state,\n workspaceState: context.externalWorkspaceState\n })\n : undefined,\n resolveRichTextAtProviders,\n state: context.externalNodeState,\n workspaceId: context.externalWorkspaceState.workspaceId ?? \"\"\n }),\n renderHeader: ({\n defaultActions,\n dragHandleProps,\n externalNodeState,\n externalWorkspaceState,\n instanceId,\n instanceKey,\n isFocused,\n node,\n surfaceSize,\n windowActions\n }) => {\n const nodeState = normalizeIssueManagerNodeState(externalNodeState);\n const isSidebarAutoCollapsed = shouldAutoCollapseIssueManagerSidebar(\n node.frame.width\n );\n const isSidebarCollapsed =\n nodeState.taskListCollapsed === true || isSidebarAutoCollapsed;\n const persistTaskListCollapsed = (collapsed: boolean) => {\n onStateChange?.({\n instanceId,\n instanceKey: instanceKey ?? null,\n nodeId: node.id,\n state: {\n ...nodeState,\n taskListCollapsed: collapsed\n },\n workspaceState: externalWorkspaceState\n });\n };\n const applyTaskListCollapsed = (collapsed: boolean) => {\n dispatchIssueManagerTaskListCollapsed({\n collapsed,\n nodeId: node.id\n });\n persistTaskListCollapsed(collapsed);\n };\n\n return createElement(IssueManagerNodeHeader, {\n copy: feature.i18n,\n defaultActions,\n isSidebarAutoCollapsed,\n isSidebarCollapsed,\n title: node.title,\n ...dragHandleProps,\n onPointerDown: (event) => {\n dragHandleProps.onPointerDown?.(event);\n if (!isFocused) {\n windowActions.focus();\n }\n },\n onToggleSidebar: () => {\n if (isSidebarAutoCollapsed) {\n windowActions.resize(\n resolveIssueManagerExpandedFrame(node.frame, surfaceSize.width)\n );\n applyTaskListCollapsed(false);\n return;\n }\n\n applyTaskListCollapsed(nodeState.taskListCollapsed !== true);\n }\n });\n },\n title: title ?? feature.i18n.t(\"title\"),\n typeId,\n window: {\n closable: true,\n defaultOpen: false,\n minimizable: true,\n restoreOnLoad: true\n }\n };\n}\n\nfunction resolveIssueManagerExpandedFrame(\n frame: WorkbenchFrame,\n surfaceWidth: number\n): WorkbenchFrame {\n const width = Math.min(\n Math.max(frame.width, issueManagerExpandedFrameMinWidth),\n Math.max(frame.width, surfaceWidth)\n );\n return {\n ...frame,\n width,\n x: Math.max(0, Math.min(frame.x, surfaceWidth - width))\n };\n}\n\nexport function createIssueManagerDockEntry({\n dockIcon,\n feature,\n id,\n order,\n sectionId,\n typeId = defaultIssueManagerWorkbenchTypeId\n}: CreateIssueManagerDockEntryInput): WorkbenchHostDockEntry {\n return {\n icon: dockIcon ?? createElement(DefaultIssueManagerDockIcon),\n id: id ?? typeId,\n label: feature.i18n.t(\"dockLabel\"),\n launchBehavior: \"enabled\",\n matchNode: (node) => node.data.typeId === typeId,\n order,\n resolvePopupItem: ({ node }) => ({\n title: node.title\n }),\n sectionId,\n typeId,\n visibility: \"always\"\n };\n}\n\nexport function createIssueManagerWorkbenchLaunchHandler({\n frame = defaultIssueManagerNodeFrame,\n title,\n typeId = defaultIssueManagerWorkbenchTypeId\n}: CreateIssueManagerWorkbenchLaunchHandlerInput = {}): (\n request: WorkbenchHostLaunchRequest\n) => Promise<WorkbenchHostLaunchResult | null> {\n return (request) => {\n if (request.typeId !== typeId) {\n return Promise.resolve(null);\n }\n\n return Promise.resolve({\n defaultFrame: frame,\n dockEntryId: request.dockEntryId ?? typeId,\n framePolicy: \"cascade\",\n instanceId: typeId,\n title,\n typeId\n });\n };\n}\n\nfunction DefaultIssueManagerDockIcon() {\n return createElement(\"img\", {\n alt: \"\",\n \"aria-hidden\": \"true\",\n \"data-issue-manager-dock-icon\": \"true\",\n draggable: false,\n src: defaultIssueManagerDockIconUrl\n });\n}\n"],"mappings":"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","names":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nextop-os/workspace-issue-manager",
3
- "version": "0.0.16",
3
+ "version": "0.0.18",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "types": "./dist/index.d.ts",
@@ -38,9 +38,10 @@
38
38
  "directory": "packages/workspace/issue-manager"
39
39
  },
40
40
  "dependencies": {
41
- "@nextop-os/ui-i18n-runtime": "0.0.16",
42
- "@nextop-os/ui-system": "0.0.16",
43
- "@nextop-os/workbench-surface": "0.0.16"
41
+ "@nextop-os/ui-i18n-runtime": "0.0.18",
42
+ "@nextop-os/ui-rich-text": "0.0.18",
43
+ "@nextop-os/ui-system": "0.0.18",
44
+ "@nextop-os/workbench-surface": "0.0.18"
44
45
  },
45
46
  "devDependencies": {
46
47
  "@types/node": "^24.0.1",
@@ -63,7 +64,7 @@
63
64
  },
64
65
  "scripts": {
65
66
  "build": "tsup --config tsup.config.ts",
66
- "test": "node --test --experimental-strip-types ./src/**/*.test.ts",
67
+ "test": "node --test --experimental-strip-types ./src/*.test.ts ./src/*/*.test.ts ./src/*/*/*.test.ts",
67
68
  "typecheck": "tsc --noEmit -p tsconfig.json"
68
69
  }
69
70
  }
@@ -1,73 +0,0 @@
1
- // src/i18n/issueManagerI18n.ts
2
- import {
3
- createI18nRuntime,
4
- createScopedI18nRuntime,
5
- createScopedLocaleObjectsI18nModuleManifest
6
- } from "@nextop-os/ui-i18n-runtime";
7
- var issueManagerI18nNamespace = "issueManager";
8
- var issueManagerI18nModule = createScopedLocaleObjectsI18nModuleManifest({
9
- localeObjectByLocale: {
10
- en: "issueManagerEn",
11
- "zh-CN": "issueManagerZhCN"
12
- },
13
- name: "workspace-issue-manager",
14
- namespace: issueManagerI18nNamespace,
15
- sourceRoot: "packages/workspace/issue-manager/src"
16
- });
17
- var issueManagerEn = {
18
- dockLabel: "Issues",
19
- emptyState: "No issue selected",
20
- status: {
21
- canceled: "Canceled",
22
- completed: "Completed",
23
- failed: "Failed",
24
- notStarted: "Not started",
25
- pendingAcceptance: "Pending acceptance",
26
- running: "Running",
27
- unknown: "Unknown"
28
- },
29
- title: "Issue Manager"
30
- };
31
- var issueManagerZhCN = {
32
- dockLabel: "\u4EFB\u52A1",
33
- emptyState: "\u672A\u9009\u62E9\u4EFB\u52A1",
34
- status: {
35
- canceled: "\u5DF2\u53D6\u6D88",
36
- completed: "\u5DF2\u5B8C\u6210",
37
- failed: "\u5931\u8D25",
38
- notStarted: "\u672A\u542F\u52A8",
39
- pendingAcceptance: "\u5F85\u9A8C\u6536",
40
- running: "\u6267\u884C\u4E2D",
41
- unknown: "\u672A\u77E5"
42
- },
43
- title: "\u4EFB\u52A1\u7BA1\u7406"
44
- };
45
- var issueManagerDefaults = {
46
- en: issueManagerEn,
47
- "zh-CN": issueManagerZhCN
48
- };
49
- var issueManagerI18nResources = {
50
- en: {
51
- [issueManagerI18nNamespace]: issueManagerDefaults.en
52
- },
53
- "zh-CN": {
54
- [issueManagerI18nNamespace]: issueManagerDefaults["zh-CN"]
55
- }
56
- };
57
- var defaultIssueManagerI18n = createI18nRuntime({
58
- dictionaries: [issueManagerI18nResources.en]
59
- });
60
- function createIssueManagerI18nRuntime(runtime) {
61
- return createScopedI18nRuntime(
62
- runtime ?? defaultIssueManagerI18n,
63
- issueManagerI18nNamespace
64
- );
65
- }
66
-
67
- export {
68
- issueManagerI18nNamespace,
69
- issueManagerI18nModule,
70
- issueManagerI18nResources,
71
- createIssueManagerI18nRuntime
72
- };
73
- //# sourceMappingURL=chunk-CSDFXQBD.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/i18n/issueManagerI18n.ts"],"sourcesContent":["import {\n createI18nRuntime,\n createScopedI18nRuntime,\n createScopedLocaleObjectsI18nModuleManifest,\n type I18nDictionary,\n type I18nRuntime\n} from \"@nextop-os/ui-i18n-runtime\";\n\ntype IssueManagerI18nLocale = \"en\" | \"zh-CN\";\n\nexport const issueManagerI18nNamespace = \"issueManager\";\nexport const issueManagerI18nModule =\n createScopedLocaleObjectsI18nModuleManifest({\n localeObjectByLocale: {\n en: \"issueManagerEn\",\n \"zh-CN\": \"issueManagerZhCN\"\n },\n name: \"workspace-issue-manager\",\n namespace: issueManagerI18nNamespace,\n sourceRoot: \"packages/workspace/issue-manager/src\"\n });\n\nconst issueManagerEn = {\n dockLabel: \"Issues\",\n emptyState: \"No issue selected\",\n status: {\n canceled: \"Canceled\",\n completed: \"Completed\",\n failed: \"Failed\",\n notStarted: \"Not started\",\n pendingAcceptance: \"Pending acceptance\",\n running: \"Running\",\n unknown: \"Unknown\"\n },\n title: \"Issue Manager\"\n} as const satisfies I18nDictionary;\n\nconst issueManagerZhCN = {\n dockLabel: \"任务\",\n emptyState: \"未选择任务\",\n status: {\n canceled: \"已取消\",\n completed: \"已完成\",\n failed: \"失败\",\n notStarted: \"未启动\",\n pendingAcceptance: \"待验收\",\n running: \"执行中\",\n unknown: \"未知\"\n },\n title: \"任务管理\"\n} as const satisfies I18nDictionary;\n\nexport type IssueManagerI18nKey =\n | \"dockLabel\"\n | \"emptyState\"\n | \"status.canceled\"\n | \"status.completed\"\n | \"status.failed\"\n | \"status.notStarted\"\n | \"status.pendingAcceptance\"\n | \"status.running\"\n | \"status.unknown\"\n | \"title\";\n\nexport type IssueManagerI18nRuntime = I18nRuntime<IssueManagerI18nKey>;\n\nconst issueManagerDefaults: Record<IssueManagerI18nLocale, I18nDictionary> = {\n en: issueManagerEn,\n \"zh-CN\": issueManagerZhCN\n};\n\nexport const issueManagerI18nResources = {\n en: {\n [issueManagerI18nNamespace]: issueManagerDefaults.en\n },\n \"zh-CN\": {\n [issueManagerI18nNamespace]: issueManagerDefaults[\"zh-CN\"]\n }\n} as const satisfies Record<IssueManagerI18nLocale, I18nDictionary>;\n\nconst defaultIssueManagerI18n = createI18nRuntime({\n dictionaries: [issueManagerI18nResources.en]\n});\n\nexport function createIssueManagerI18nRuntime(\n runtime: I18nRuntime<string> | undefined\n): IssueManagerI18nRuntime {\n return createScopedI18nRuntime<IssueManagerI18nKey>(\n runtime ?? defaultIssueManagerI18n,\n issueManagerI18nNamespace\n );\n}\n"],"mappings":";AAAA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,OAGK;AAIA,IAAM,4BAA4B;AAClC,IAAM,yBACX,4CAA4C;AAAA,EAC1C,sBAAsB;AAAA,IACpB,IAAI;AAAA,IACJ,SAAS;AAAA,EACX;AAAA,EACA,MAAM;AAAA,EACN,WAAW;AAAA,EACX,YAAY;AACd,CAAC;AAEH,IAAM,iBAAiB;AAAA,EACrB,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,QAAQ;AAAA,IACN,UAAU;AAAA,IACV,WAAW;AAAA,IACX,QAAQ;AAAA,IACR,YAAY;AAAA,IACZ,mBAAmB;AAAA,IACnB,SAAS;AAAA,IACT,SAAS;AAAA,EACX;AAAA,EACA,OAAO;AACT;AAEA,IAAM,mBAAmB;AAAA,EACvB,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,QAAQ;AAAA,IACN,UAAU;AAAA,IACV,WAAW;AAAA,IACX,QAAQ;AAAA,IACR,YAAY;AAAA,IACZ,mBAAmB;AAAA,IACnB,SAAS;AAAA,IACT,SAAS;AAAA,EACX;AAAA,EACA,OAAO;AACT;AAgBA,IAAM,uBAAuE;AAAA,EAC3E,IAAI;AAAA,EACJ,SAAS;AACX;AAEO,IAAM,4BAA4B;AAAA,EACvC,IAAI;AAAA,IACF,CAAC,yBAAyB,GAAG,qBAAqB;AAAA,EACpD;AAAA,EACA,SAAS;AAAA,IACP,CAAC,yBAAyB,GAAG,qBAAqB,OAAO;AAAA,EAC3D;AACF;AAEA,IAAM,0BAA0B,kBAAkB;AAAA,EAChD,cAAc,CAAC,0BAA0B,EAAE;AAC7C,CAAC;AAEM,SAAS,8BACd,SACyB;AACzB,SAAO;AAAA,IACL,WAAW;AAAA,IACX;AAAA,EACF;AACF;","names":[]}