@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.
- package/dist/assets/workspace-dock-task.png +0 -0
- package/dist/chunk-H2ZF6X6A.js +327 -0
- package/dist/chunk-H2ZF6X6A.js.map +1 -0
- package/dist/chunk-HKIH3OTZ.js +262 -0
- package/dist/chunk-HKIH3OTZ.js.map +1 -0
- package/dist/chunk-IYLTKFVO.js +3685 -0
- package/dist/chunk-IYLTKFVO.js.map +1 -0
- package/dist/contracts/index.d.ts +39 -1
- package/dist/feature-Qe1b5W0D.d.ts +30 -0
- package/dist/i18n/index.d.ts +1 -1
- package/dist/i18n/index.js +1 -1
- package/dist/index.d.ts +43 -23
- package/dist/index.js +38 -4
- package/dist/react/index.d.ts +20 -5
- package/dist/react/index.js +3 -3
- package/dist/workbench/index.d.ts +14 -2
- package/dist/workbench/index.js +103 -12
- package/dist/workbench/index.js.map +1 -1
- package/package.json +6 -5
- package/dist/chunk-CSDFXQBD.js +0 -73
- package/dist/chunk-CSDFXQBD.js.map +0 -1
- package/dist/chunk-HMMAMS4Z.js +0 -33
- package/dist/chunk-HMMAMS4Z.js.map +0 -1
- package/dist/chunk-POBWWUUQ.js +0 -44
- package/dist/chunk-POBWWUUQ.js.map +0 -1
|
@@ -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 };
|
package/dist/i18n/index.d.ts
CHANGED
|
@@ -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 =
|
|
6
|
+
type IssueManagerI18nKey = string;
|
|
7
7
|
type IssueManagerI18nRuntime = I18nRuntime<IssueManagerI18nKey>;
|
|
8
8
|
declare const issueManagerI18nResources: {
|
|
9
9
|
readonly en: {
|
package/dist/i18n/index.js
CHANGED
package/dist/index.d.ts
CHANGED
|
@@ -1,25 +1,45 @@
|
|
|
1
|
-
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
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
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
declare
|
|
22
|
-
declare function
|
|
23
|
-
declare function
|
|
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
|
-
|
|
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
|
-
|
|
5
|
-
|
|
6
|
-
|
|
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
|
-
|
|
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
|
package/dist/react/index.d.ts
CHANGED
|
@@ -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 '../
|
|
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
|
-
|
|
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
|
-
|
|
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 };
|
package/dist/react/index.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
IssueManagerNode,
|
|
3
3
|
IssueManagerNodeHeader
|
|
4
|
-
} from "../chunk-
|
|
5
|
-
import "../chunk-
|
|
6
|
-
import "../chunk-
|
|
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 '../
|
|
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
|
|
package/dist/workbench/index.js
CHANGED
|
@@ -1,21 +1,33 @@
|
|
|
1
1
|
import {
|
|
2
|
-
IssueManagerNode
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
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
|
-
"
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
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.
|
|
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.
|
|
42
|
-
"@nextop-os/ui-
|
|
43
|
-
"@nextop-os/
|
|
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
|
|
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
|
}
|
package/dist/chunk-CSDFXQBD.js
DELETED
|
@@ -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":[]}
|