@parallelworks/ui 0.18.0 → 0.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (161) hide show
  1. package/README.md +86 -6
  2. package/dist/ai/adapter/memoryStore.d.ts +8 -0
  3. package/dist/ai/adapter/mock/index.d.ts +2 -0
  4. package/dist/ai/adapter/mock/index.js +81 -0
  5. package/dist/ai/adapter/mock/mockAdapter.d.ts +4 -0
  6. package/dist/ai/adapter/openai/createOpenAIStream.d.ts +9 -0
  7. package/dist/ai/adapter/openai/errors.d.ts +3 -0
  8. package/dist/ai/adapter/openai/index.d.ts +6 -0
  9. package/dist/ai/adapter/openai/index.js +334 -0
  10. package/dist/ai/adapter/openai/openaiAdapter.d.ts +9 -0
  11. package/dist/ai/adapter/openai/responses.d.ts +4 -0
  12. package/dist/ai/adapter/openai/sse.d.ts +24 -0
  13. package/dist/ai/adapter/openai/wire.d.ts +40 -0
  14. package/dist/ai/adapter/types.d.ts +131 -0
  15. package/dist/ai/agent/classifier.d.ts +2 -0
  16. package/dist/ai/agent/diff.d.ts +35 -0
  17. package/dist/ai/agent/diffHighlight.d.ts +6 -0
  18. package/dist/ai/agent/index.d.ts +6 -0
  19. package/dist/ai/agent/permissions.d.ts +11 -0
  20. package/dist/ai/agent/toolfmt.d.ts +18 -0
  21. package/dist/ai/agent/transcript.d.ts +38 -0
  22. package/dist/ai/ai.css +325 -0
  23. package/dist/ai/components/AllocationSelector.d.ts +4 -0
  24. package/dist/ai/components/AttachmentManager.d.ts +1 -0
  25. package/dist/ai/components/AttachmentUpload.d.ts +24 -0
  26. package/dist/ai/components/BlockedGroupBanner.d.ts +1 -0
  27. package/dist/ai/components/BranchNavigator.d.ts +8 -0
  28. package/dist/ai/components/ChatEmptyState.d.ts +3 -0
  29. package/dist/ai/components/ChatInput.d.ts +45 -0
  30. package/dist/ai/components/ChatLayout.d.ts +5 -0
  31. package/dist/ai/components/ChatMessage.d.ts +24 -0
  32. package/dist/ai/components/ChatMessageList.d.ts +35 -0
  33. package/dist/ai/components/ChatSidebar.d.ts +5 -0
  34. package/dist/ai/components/ChatThread.d.ts +3 -0
  35. package/dist/ai/components/ComposerChrome.d.ts +18 -0
  36. package/dist/ai/components/ComposerFrame.d.ts +16 -0
  37. package/dist/ai/components/DragOverlay.d.ts +5 -0
  38. package/dist/ai/components/ModelSelector.d.ts +6 -0
  39. package/dist/ai/components/ShareDialog.d.ts +11 -0
  40. package/dist/ai/components/SlashMenu.d.ts +28 -0
  41. package/dist/ai/components/agent/ActivityLine.d.ts +21 -0
  42. package/dist/ai/components/agent/AgentMessageParts.d.ts +54 -0
  43. package/dist/ai/components/agent/PermissionPicker.d.ts +11 -0
  44. package/dist/ai/components/attachmentKeys.d.ts +4 -0
  45. package/dist/ai/core/ChatProvider.d.ts +66 -0
  46. package/dist/ai/core/KeyboardShortcutsProvider.d.ts +5 -0
  47. package/dist/ai/core/chatReducer.d.ts +114 -0
  48. package/dist/ai/core/config.d.ts +47 -0
  49. package/dist/ai/core/events.d.ts +1 -0
  50. package/dist/ai/core/exportConversation.d.ts +4 -0
  51. package/dist/ai/core/greeting.d.ts +3 -0
  52. package/dist/ai/core/parts.d.ts +11 -0
  53. package/dist/ai/core/useDragDrop.d.ts +14 -0
  54. package/dist/ai/core/useKeyboardShortcuts.d.ts +12 -0
  55. package/dist/ai/core/useSSEStream.d.ts +34 -0
  56. package/dist/ai/index.d.ts +40 -0
  57. package/dist/ai/index.js +6645 -0
  58. package/dist/ai/strings.d.ts +167 -0
  59. package/dist/ai/types.d.ts +236 -0
  60. package/dist/ai/ui/Avatar.d.ts +8 -0
  61. package/dist/ai/ui/Dropdown.d.ts +31 -0
  62. package/dist/ai/ui/Markdown.d.ts +8 -0
  63. package/dist/ai/ui/Notice.d.ts +21 -0
  64. package/dist/ai/ui/buttons.d.ts +1 -0
  65. package/dist/ai/ui/codeBreaks.d.ts +16 -0
  66. package/dist/ai/ui/prose.d.ts +1 -0
  67. package/dist/ai/ui/sidebar.d.ts +81 -0
  68. package/dist/ai/utils.d.ts +4 -0
  69. package/dist/assets/{editor.worker-CuBRIwi-.js → editor.worker-BmHUIVG4.js} +194 -163
  70. package/dist/assets/{json.worker-8ytS02vz.js → json.worker-D8bJ92nw.js} +384 -338
  71. package/dist/assets/{yaml.worker-DJC-VUcv.js → yaml.worker-C4gyGAko.js} +15657 -13823
  72. package/dist/chunks/{CodePreviewEditor-4lx3kE-w.js → CodePreviewEditor-YqQBz1YL.js} +1 -1
  73. package/dist/chunks/ConfirmModal-aOR4O1QE.js +79 -0
  74. package/dist/chunks/{FieldWrapper-Bef01EWO.js → FieldWrapper-Cszwg-4B.js} +3 -7
  75. package/dist/chunks/{CreateModal-BY6DLmur.js → Markdown-CM-FenNE.js} +19 -91
  76. package/dist/chunks/Monaco-DJ8MW-Dq.js +110 -0
  77. package/dist/chunks/{PageHeader-l49p1nM9.js → PageHeader-0kG_iypP.js} +67 -65
  78. package/dist/chunks/{Provider-Ghua9PkN.js → Provider-CDYurraE.js} +54 -20
  79. package/dist/chunks/{SwitchToggle-CHPP8uZQ.js → SwitchToggle-DShNdcao.js} +135 -132
  80. package/dist/chunks/{Table-4OHjdKdO.js → Table-DU2MW8xz.js} +5 -3
  81. package/dist/chunks/{Tooltip-Crxo_eU_.js → Tooltip-K5HJr4_p.js} +31 -4
  82. package/dist/chunks/duration-BOv8Phl8.js +17 -0
  83. package/dist/chunks/{editor-9_uVtUyy.js → editor-Dk1rbV75.js} +32 -18
  84. package/dist/chunks/focus-D_iZJTW1.js +7 -0
  85. package/dist/chunks/{list-qrojZZNv.js → list-CJm875m7.js} +377 -370
  86. package/dist/chunks/logviewer-BTKuQWzw.js +828 -0
  87. package/dist/chunks/memoryStore-CC91S5LP.js +152 -0
  88. package/dist/chunks/types-Yy0NrerF.js +11 -0
  89. package/dist/components/Avatar.d.ts +1 -1
  90. package/dist/components/Breadcrumbs.d.ts +1 -1
  91. package/dist/components/Dropdown.d.ts +1 -1
  92. package/dist/components/EmptyState.d.ts +1 -1
  93. package/dist/components/Indicator.d.ts +2 -2
  94. package/dist/components/Input.d.ts +1 -1
  95. package/dist/components/LetterBadge.d.ts +1 -1
  96. package/dist/components/MarkdownImpl.d.ts +1 -1
  97. package/dist/components/Provider.d.ts +16 -65
  98. package/dist/components/SettingRow.d.ts +1 -1
  99. package/dist/components/SettingsGroup.d.ts +1 -1
  100. package/dist/components/focus.d.ts +2 -0
  101. package/dist/components/keys.d.ts +12 -0
  102. package/dist/duration.d.ts +3 -0
  103. package/dist/editor/Monaco.d.ts +1 -20
  104. package/dist/editor/index.d.ts +2 -1
  105. package/dist/editor/index.js +2 -2
  106. package/dist/editor/yaml.d.ts +5 -0
  107. package/dist/engine.d.ts +98 -0
  108. package/dist/file-explorer/FileExplorer.d.ts +11 -2
  109. package/dist/file-explorer/FileExplorerContext.d.ts +1 -1
  110. package/dist/file-explorer/FilePreview/CodePreviewEditor.d.ts +1 -1
  111. package/dist/file-explorer/FilePreview/previewType.d.ts +1 -1
  112. package/dist/file-explorer/FileRow.d.ts +1 -1
  113. package/dist/file-explorer/helpers.d.ts +4 -4
  114. package/dist/file-explorer/index.d.ts +3 -3
  115. package/dist/file-explorer/index.js +613 -647
  116. package/dist/file-explorer/lib/types.d.ts +6 -1
  117. package/dist/file-explorer/lib/utils.d.ts +1 -3
  118. package/dist/file-explorer/useNearEnd.d.ts +1 -1
  119. package/dist/form/FieldWrapper.d.ts +2 -2
  120. package/dist/form/Fields/ResourceOptionIcon.d.ts +1 -1
  121. package/dist/form/Form.d.ts +4 -21
  122. package/dist/form/index.d.ts +11 -12
  123. package/dist/form/index.js +1488 -1611
  124. package/dist/form/lib.d.ts +6 -1
  125. package/dist/form/types/fieldComponentTypes.d.ts +3 -2
  126. package/dist/form/types/fieldTypes.d.ts +6 -20
  127. package/dist/form/useParsedOpts.d.ts +1 -1
  128. package/dist/form/utils/{slurmDuration.d.ts → duration.d.ts} +2 -2
  129. package/dist/{workflow → graph}/MatrixGroup.d.ts +2 -2
  130. package/dist/{workflow → graph}/index.d.ts +1 -1
  131. package/dist/{workflow → graph}/index.js +215 -180
  132. package/dist/{workflow → graph}/types.d.ts +3 -3
  133. package/dist/icons.d.ts +20 -21
  134. package/dist/index.d.ts +38 -40
  135. package/dist/index.js +347 -346
  136. package/dist/list/ListTable.d.ts +1 -1
  137. package/dist/list/ListViewControls.d.ts +2 -2
  138. package/dist/list/index.d.ts +9 -9
  139. package/dist/list/index.js +2 -2
  140. package/dist/logviewer/LogViewer.d.ts +1 -1
  141. package/dist/logviewer/index.d.ts +1 -0
  142. package/dist/logviewer/index.js +2 -742
  143. package/dist/logviewer/segments.d.ts +9 -0
  144. package/dist/styles/fonts.css +4 -4
  145. package/dist/styles/theme.css +6 -4
  146. package/dist/styles.css +1 -1
  147. package/dist/theme/index.js +2 -2
  148. package/package.json +38 -14
  149. package/LICENSE +0 -202
  150. package/dist/chunks/Monaco-C1POOdVv.js +0 -1046
  151. package/dist/editor/usesGitlab.d.ts +0 -97
  152. package/dist/form/Fields/BucketReadOnlyField.d.ts +0 -7
  153. package/dist/form/types/workflow-schema.d.ts +0 -1145
  154. package/dist/form/utils/pwResolver.d.ts +0 -18
  155. package/dist/chunks/{MarkdownImpl-Bq4QhrtA.js → MarkdownImpl-CyeTVvSt.js} +1 -1
  156. /package/dist/{workflow → graph}/AnnotationBanner.d.ts +0 -0
  157. /package/dist/{workflow → graph}/Collapse.d.ts +0 -0
  158. /package/dist/{workflow → graph}/DependencyGraph.d.ts +0 -0
  159. /package/dist/{workflow → graph}/JobSummary.d.ts +0 -0
  160. /package/dist/{workflow → graph}/Reveal.d.ts +0 -0
  161. /package/dist/{workflow → graph}/TreeView.d.ts +0 -0
@@ -15,8 +15,13 @@ export type TStorage = {
15
15
  canUpload?: boolean | undefined;
16
16
  canShare?: boolean | undefined;
17
17
  canManageAccess?: boolean | undefined;
18
- supportsPwUri?: boolean | undefined;
19
18
  };
19
+ /** A file the host is asked to name or download: its storage, key and name. */
20
+ export interface ExplorerObject {
21
+ storage: TStorage;
22
+ key: string;
23
+ name: string;
24
+ }
20
25
  export type TStorageObject = {
21
26
  path: string;
22
27
  type: 'file' | 'directory';
@@ -1,5 +1,5 @@
1
1
  import type { IFileExplorerClient } from './fileExplorer.js';
2
- import type { TStorage, TStorageObject, TreeMap, TreeNode, UploadNode } from './types.js';
2
+ import type { TreeMap, TreeNode, TStorage, TStorageObject, UploadNode } from './types.js';
3
3
  export declare function formatFileSize(bytes: number): string;
4
4
  export declare function getFileExtension(filename: string): string | null;
5
5
  export declare function getNodeName(node: TStorageObject): string;
@@ -33,8 +33,6 @@ export declare function attachmentDisposition(filename: string): string;
33
33
  export declare function getDirectoryPrefixFromNode(node: TreeNode): string;
34
34
  export declare function pruneNodesInsideSelectedDirectories(nodes: TreeNode[]): TreeNode[];
35
35
  export declare function collectObjectKeysToDelete(nodes: TreeNode[], listKeysUnderPrefix: (prefix: string) => Promise<string[]>): Promise<string[]>;
36
- export declare function getPwUri(username: string, pwName: string, key: string): string;
37
- export declare function getCspUri(csp: string, cspBucketName: string, key: string): string | null;
38
36
  export declare function getUriScheme(uri: string): string;
39
37
  export declare function removeLeadingSlash(path: string): string;
40
38
  export declare function removeLeadingAndTrailingSlashes(path: string): string;
@@ -1,6 +1,6 @@
1
1
  import { type RefObject } from 'react';
2
2
  /** Fires once the element comes within 100px of the bottom of `root`. */
3
- export declare function useNearEnd(ref: RefObject<Element | null>, { active, root, onNear, }: {
3
+ export declare function useNearEnd(ref: RefObject<Element | null>, { active, root, onNear }: {
4
4
  active: boolean;
5
5
  root: HTMLElement | null;
6
6
  onNear: () => void;
@@ -1,5 +1,5 @@
1
1
  import type React from 'react';
2
- import type { Optional } from './types/workflow-schema.js';
2
+ import type { FieldFlag } from './types/fieldTypes.js';
3
3
  export interface FieldLabelBinding {
4
4
  id: string;
5
5
  labelId: string;
@@ -11,6 +11,6 @@ export declare function FieldWrapper({ label, tooltipComponent, description, lab
11
11
  description?: string | undefined;
12
12
  labelPosition?: 'left' | 'top' | undefined;
13
13
  spaceCompact?: boolean | undefined;
14
- optional?: Optional | undefined;
14
+ optional?: FieldFlag | undefined;
15
15
  children: React.ReactNode | ((binding: FieldLabelBinding) => React.ReactNode);
16
16
  }): React.JSX.Element;
@@ -1,5 +1,5 @@
1
- import { StatusDot } from '../../components/StatusBadge.js';
2
1
  import type { ComponentProps } from 'react';
2
+ import { StatusDot } from '../../components/StatusBadge.js';
3
3
  interface ResourceOptionIconProps {
4
4
  imageUrl?: string | undefined;
5
5
  fallbackIcon: string;
@@ -1,6 +1,6 @@
1
1
  import { type FormikProps, type FormikValues } from 'formik';
2
- import { type WorkflowVariables } from '@parallelworks/workflow-parser';
3
2
  import React, { type SetStateAction } from 'react';
3
+ import type { WorkflowVariables } from '../engine.js';
4
4
  import { type FieldComponent } from './fieldRegistry.js';
5
5
  interface FormMeta {
6
6
  labelPosition?: 'left' | 'top' | undefined;
@@ -23,15 +23,15 @@ export declare function collectFieldsWithDefaults(options: Record<string, unknow
23
23
  }>;
24
24
  export declare function defaultReferencesField(defaultValue: unknown, fieldPath: string): boolean;
25
25
  export declare function findSelfReferencingFieldNames(schema: Record<string, unknown>, values?: Record<string, unknown>): string[];
26
- /** Resolves schema defaults into form values as dependencies change. Store-agnostic so the legacy
27
- * form (Formik) and the cluster wizard (its own store) share one implementation. */
26
+ /** Resolves schema defaults into form values as dependencies change. Store-agnostic so the Formik
27
+ * form and hosts with their own store share one implementation. */
28
28
  export declare function useDynamicDefaultsSync({ options, values, setValue, isTouched, }: {
29
29
  options: Record<string, unknown>;
30
30
  values: Record<string, unknown>;
31
31
  setValue: (name: string, value: unknown) => void;
32
32
  isTouched: (name: string) => boolean;
33
33
  }): void;
34
- export declare function DynamicDefaultsSync({ options, }: {
34
+ export declare function DynamicDefaultsSync({ options }: {
35
35
  options: Record<string, unknown>;
36
36
  }): null;
37
37
  export declare function GroupHeader({ children, open, setOpen, title, }: {
@@ -41,23 +41,6 @@ export declare function GroupHeader({ children, open, setOpen, title, }: {
41
41
  title: React.ReactNode;
42
42
  }): React.JSX.Element;
43
43
  export type TSetFormDirty = (dirty: boolean) => void;
44
- export interface IInstanceTypeOption {
45
- value: string;
46
- label: string;
47
- secondaryValue: unknown[];
48
- }
49
- interface IInstanceTypeForForm {
50
- vcpus?: number;
51
- memoryGb?: number;
52
- arch?: string;
53
- acceleratedNetworking?: boolean;
54
- localDiskSizeGb?: number;
55
- isFlex?: boolean;
56
- }
57
- export declare function getInstanceTypesForForm(instances: Record<string, IInstanceTypeForForm>): IInstanceTypeOption[];
58
- export declare function StatusBlock({ status }: {
59
- status: boolean;
60
- }): React.JSX.Element;
61
44
  export declare function MultiSelectionDropdown({ name, label, invalid, options: initialOptions, setFormDirty, onChange, parentValue, }: {
62
45
  name: string;
63
46
  label: string;
@@ -1,18 +1,17 @@
1
- export { DynamicForm, DynamicDefaultsSync, FieldsFromOptions, GroupHeader, MultiSelectionDropdown, StatusBlock, collectFieldsWithDefaults, useDynamicDefaultsSync, findSelfReferencingFieldNames, getInstanceTypesForForm, resolveMetaOverrides, type DynamicFormProps, type TSetFormDirty, } from './Form.js';
2
- export { type FieldComponent, FieldRegistryContext, Registry, } from './fieldRegistry.js';
3
- export { FieldWrapper, type FieldLabelBinding } from './FieldWrapper.js';
1
+ export { getInvalidDurationPaths, setDurationValidity, } from './Fields/durationValidity.js';
2
+ export { default as NumberField, type INumberField, } from './Fields/NumberField.js';
3
+ export { ResourceOptionIcon } from './Fields/ResourceOptionIcon.js';
4
+ export { type FieldLabelBinding, FieldWrapper } from './FieldWrapper.js';
5
+ export { collectFieldsWithDefaults, DynamicDefaultsSync, DynamicForm, type DynamicFormProps, FieldsFromOptions, findSelfReferencingFieldNames, GroupHeader, MultiSelectionDropdown, resolveMetaOverrides, type TSetFormDirty, useDynamicDefaultsSync, } from './Form.js';
4
6
  export { type FieldContextValue, FieldProvider, useFieldControlProps, useFieldLabelledByProps, useFieldRequired, } from './fieldContext.js';
7
+ export { type FieldComponent, FieldRegistryContext, Registry, } from './fieldRegistry.js';
5
8
  export { enforceOneMustBeTrue, flattenGroups, impureSetValueFromPath, initializeValues, resolvedFlag, } from './lib.js';
6
9
  export { default as DropdownWrapper } from './SpecialTypes/DropdownWrapper.js';
7
- export { FormikCustomDropdown, FormikCustomInput, FormikNumericInput, } from './SpecialTypes/index.js';
8
10
  export { default as FormikMultiSelectDropdown } from './SpecialTypes/FormikMultiSelectDropdown.js';
9
- export { resolvePwString, resolvePwValue, type PwResolverOptions, } from './utils/pwResolver.js';
10
- export { ResourceOptionIcon } from './Fields/ResourceOptionIcon.js';
11
- export { default as NumberField, type INumberField, } from './Fields/NumberField.js';
12
- export { getInvalidDurationPaths, setDurationValidity, } from './Fields/durationValidity.js';
13
- export { FLEX_MAX_DURATION_RANGE, FLEX_WAIT_TIME_RANGE, STANDARD_MAX_DURATION_RANGE, collectPartitionDurationIssues, formatSecondsAsSlurmDuration, parseSlurmDuration, } from './utils/slurmDuration.js';
11
+ export { FormikCustomDropdown, FormikCustomInput, FormikNumericInput, } from './SpecialTypes/index.js';
12
+ export * from './types/fieldComponentTypes.js';
13
+ export * from './types/fieldTypes.js';
14
+ export { useParsedOpts } from './useParsedOpts.js';
15
+ export { collectPartitionDurationIssues, FLEX_MAX_DURATION_RANGE, FLEX_WAIT_TIME_RANGE, formatDuration, parseDuration, STANDARD_MAX_DURATION_RANGE, } from './utils/duration.js';
14
16
  export { getPlaceholder } from './utils/getPlaceholder.js';
15
17
  export { applySecondaryField, findSecondaryOption, } from './utils/secondaryField.js';
16
- export { useParsedOpts } from './useParsedOpts.js';
17
- export * from './types/fieldTypes.js';
18
- export * from './types/fieldComponentTypes.js';