@epam/ai-dial-publish-panel 1.1.0-dev.87 → 1.1.0-dev.89

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.
@@ -41,6 +41,25 @@ export interface PublishResourceSummary {
41
41
  /** Version, when the resource is versioned. `undefined` for conversations. */
42
42
  version?: string;
43
43
  }
44
+ /** Combining function applied across a rule's `targets`. */
45
+ export declare enum PublicationRuleFunction {
46
+ Equal = "EQUAL",
47
+ Contain = "CONTAIN",
48
+ Regex = "REGEX"
49
+ }
50
+ /**
51
+ * One access-restriction rule: grants access when `source`'s claim value
52
+ * matches any of `targets` (OR) under `function`. Rules within a publish
53
+ * request are combined with AND.
54
+ */
55
+ export interface PublicationRule {
56
+ /** Claim/category name this rule matches against, e.g. `'role'`. */
57
+ source: string;
58
+ /** Combining function applied across `targets`. */
59
+ function: PublicationRuleFunction;
60
+ /** Values combined with OR; exactly one pattern when `function` is `Regex`. */
61
+ targets: string[];
62
+ }
44
63
  /** Which callout (if any) the publish panel should show below the folder picker. */
45
64
  export declare enum PublishCalloutKind {
46
65
  /** No callout — no folder selected, or a request is in flight. */
@@ -1 +1 @@
1
- {"version":3,"file":"publish.d.ts","sourceRoot":"","sources":["../../src/models/publish.ts"],"names":[],"mappings":"AAAA,mEAAmE;AACnE,MAAM,WAAW,iBAAiB;IAChC,yFAAyF;IACzF,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,2DAA2D;IAC3D,IAAI,EAAE,MAAM,CAAC;IACb,6BAA6B;IAC7B,QAAQ,CAAC,EAAE,iBAAiB,EAAE,CAAC;CAChC;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2DAA2D;IAC3D,WAAW,EAAE,MAAM,CAAC;IACpB,2DAA2D;IAC3D,WAAW,EAAE,MAAM,CAAC;IACpB,2EAA2E;IAC3E,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,sBAAsB;IACrC,mDAAmD;IACnD,KAAK,EAAE,MAAM,CAAC;IACd,wBAAwB;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,8EAA8E;IAC9E,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,oFAAoF;AACpF,oBAAY,kBAAkB;IAC5B,kEAAkE;IAClE,IAAI,SAAS;IACb,uEAAuE;IACvE,IAAI,SAAS;IACb,oFAAoF;IACpF,cAAc,mBAAmB;IACjC,0EAA0E;IAC1E,QAAQ,aAAa;IACrB,6DAA6D;IAC7D,WAAW,gBAAgB;CAC5B;AAED,iFAAiF;AACjF,MAAM,WAAW,sBAAsB;IACrC,0DAA0D;IAC1D,iBAAiB,EAAE,OAAO,CAAC;IAC3B;;;;OAIG;IACH,8BAA8B,EAAE,OAAO,CAAC;IACxC,mEAAmE;IACnE,cAAc,EAAE,OAAO,CAAC;IACxB,wDAAwD;IACxD,YAAY,EAAE,OAAO,CAAC;IACtB,qDAAqD;IACrD,cAAc,EAAE,OAAO,CAAC;IACxB;;;;;OAKG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,yDAAyD;AACzD,MAAM,WAAW,mBAAmB;IAClC,8DAA8D;IAC9D,WAAW,EAAE,kBAAkB,CAAC;IAChC,6CAA6C;IAC7C,gBAAgB,EAAE,OAAO,CAAC;IAC1B,uEAAuE;IACvE,eAAe,EAAE,OAAO,CAAC;CAC1B"}
1
+ {"version":3,"file":"publish.d.ts","sourceRoot":"","sources":["../../src/models/publish.ts"],"names":[],"mappings":"AAAA,mEAAmE;AACnE,MAAM,WAAW,iBAAiB;IAChC,yFAAyF;IACzF,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,2DAA2D;IAC3D,IAAI,EAAE,MAAM,CAAC;IACb,6BAA6B;IAC7B,QAAQ,CAAC,EAAE,iBAAiB,EAAE,CAAC;CAChC;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2DAA2D;IAC3D,WAAW,EAAE,MAAM,CAAC;IACpB,2DAA2D;IAC3D,WAAW,EAAE,MAAM,CAAC;IACpB,2EAA2E;IAC3E,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,sBAAsB;IACrC,mDAAmD;IACnD,KAAK,EAAE,MAAM,CAAC;IACd,wBAAwB;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,8EAA8E;IAC9E,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,4DAA4D;AAC5D,oBAAY,uBAAuB;IACjC,KAAK,UAAU;IACf,OAAO,YAAY;IACnB,KAAK,UAAU;CAChB;AAED;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,oEAAoE;IACpE,MAAM,EAAE,MAAM,CAAC;IACf,mDAAmD;IACnD,QAAQ,EAAE,uBAAuB,CAAC;IAClC,+EAA+E;IAC/E,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,oFAAoF;AACpF,oBAAY,kBAAkB;IAC5B,kEAAkE;IAClE,IAAI,SAAS;IACb,uEAAuE;IACvE,IAAI,SAAS;IACb,oFAAoF;IACpF,cAAc,mBAAmB;IACjC,0EAA0E;IAC1E,QAAQ,aAAa;IACrB,6DAA6D;IAC7D,WAAW,gBAAgB;CAC5B;AAED,iFAAiF;AACjF,MAAM,WAAW,sBAAsB;IACrC,0DAA0D;IAC1D,iBAAiB,EAAE,OAAO,CAAC;IAC3B;;;;OAIG;IACH,8BAA8B,EAAE,OAAO,CAAC;IACxC,mEAAmE;IACnE,cAAc,EAAE,OAAO,CAAC;IACxB,wDAAwD;IACxD,YAAY,EAAE,OAAO,CAAC;IACtB,qDAAqD;IACrD,cAAc,EAAE,OAAO,CAAC;IACxB;;;;;OAKG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,yDAAyD;AACzD,MAAM,WAAW,mBAAmB;IAClC,8DAA8D;IAC9D,WAAW,EAAE,kBAAkB,CAAC;IAChC,6CAA6C;IAC7C,gBAAgB,EAAE,OAAO,CAAC;IAC1B,uEAAuE;IACvE,eAAe,EAAE,OAAO,CAAC;CAC1B"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@epam/ai-dial-publish-panel",
3
3
  "description": "Publish-to-folder UI and state flow shared by catalog entity publish and conversation publish",
4
- "version": "1.1.0-dev.87",
4
+ "version": "1.1.0-dev.89",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
7
7
  "main": "./index.js",
@@ -19,8 +19,9 @@
19
19
  "peerDependencies": {
20
20
  "react": "^19.0.0",
21
21
  "@tabler/icons-react": "^3.0.0",
22
- "@epam/ai-dial-sidebar": "1.1.0-dev.87",
23
- "@epam/ai-dial-chat-shared": "1.1.0-dev.87",
22
+ "@epam/ai-dial-sidebar": "1.1.0-dev.89",
23
+ "@epam/ai-dial-chat-shared": "1.1.0-dev.89",
24
+ "@epam/ai-dial-kit": "1.1.0-dev.89",
24
25
  "@epam/ai-dial-ui-kit": "^0.13.0-dev.26"
25
26
  },
26
27
  "repository": {
@@ -1,4 +1,4 @@
1
- import { PublishFolderNode, PublishHistoryEntry } from '../models/publish';
1
+ import { PublicationRule, PublishFolderNode, PublishHistoryEntry } from '../models/publish';
2
2
  /** An item publishable through {@link usePublishFlow} — versioned or not (e.g. a conversation). */
3
3
  export interface PublishFlowItem {
4
4
  /** Version, when the item is versioned. `undefined` for unversioned resources. */
@@ -25,10 +25,18 @@ export interface UsePublishFlowOptions<TItem extends PublishFlowItem> {
25
25
  * error callout is surfaced.
26
26
  */
27
27
  onCreateFolder?: (parentPath: string[], name: string) => void | Promise<void>;
28
- /** Called with the destination folder path when the user confirms publish/update. */
29
- onPublish: (item: TItem, folderPath: string[]) => Promise<void>;
28
+ /** Called with the destination folder path and current rules when the user confirms publish/update. */
29
+ onPublish: (item: TItem, folderPath: string[], rules: PublicationRule[]) => Promise<void>;
30
30
  /** Called after a successful publish; the host surfaces its own success notification. */
31
31
  onPublishSuccess?: (item: TItem, folderPath: string[]) => void;
32
+ /**
33
+ * Resolves the access rules already configured for a destination folder.
34
+ * Called whenever `selectedFolderPath` changes to a defined folder; the
35
+ * result fully replaces the current `rules` state (never merged). Omit to
36
+ * skip pre-filling entirely — `rules` then only ever changes via
37
+ * `setRules`.
38
+ */
39
+ onFetchExistingRules?: (folderPath: string[]) => Promise<PublicationRule[]>;
32
40
  }
33
41
  /** State and handlers returned by {@link usePublishFlow}. */
34
42
  export interface UsePublishFlowResult {
@@ -62,9 +70,17 @@ export interface UsePublishFlowResult {
62
70
  * decide whether to close the flow.
63
71
  */
64
72
  handleSubmit: () => Promise<boolean>;
65
- /** Resets folder selection, any locally-created folders, and the submit error back to their initial state. */
73
+ /** Resets folder selection, any locally-created folders, rules, and the submit error back to their initial state. */
66
74
  reset: () => void;
75
+ /** Current access rules for the selected folder — fetched, manually edited, or both. */
76
+ rules: PublicationRule[];
77
+ /** Replaces the current rules; used by manual add/remove/clear actions. */
78
+ setRules: (rules: PublicationRule[]) => void;
79
+ /** Whether `onFetchExistingRules` is currently resolving for the selected folder. */
80
+ isRulesLoading: boolean;
81
+ /** Whether the most recent `onFetchExistingRules` call failed. `rules` is left unchanged when this is `true`. */
82
+ hasRulesLoadError: boolean;
67
83
  }
68
84
  /** Manages all state for the Publish flow: folder selection, local folder creation, existing-publication detection, and submit handling. */
69
- export declare const usePublishFlow: <TItem extends PublishFlowItem = PublishFlowItem>({ item, history, folderItems: initialFolderItems, hasWriteAccess: resolveWriteAccess, onCreateFolder, onPublish, onPublishSuccess, }: UsePublishFlowOptions<TItem>) => UsePublishFlowResult;
85
+ export declare const usePublishFlow: <TItem extends PublishFlowItem = PublishFlowItem>({ item, history, folderItems: initialFolderItems, hasWriteAccess: resolveWriteAccess, onCreateFolder, onPublish, onPublishSuccess, onFetchExistingRules, }: UsePublishFlowOptions<TItem>) => UsePublishFlowResult;
70
86
  //# sourceMappingURL=use-publish-flow.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-publish-flow.d.ts","sourceRoot":"","sources":["../../src/utils/use-publish-flow.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAE3E,mGAAmG;AACnG,MAAM,WAAW,eAAe;IAC9B,kFAAkF;IAClF,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AA2DD,0CAA0C;AAC1C,MAAM,WAAW,qBAAqB,CAAC,KAAK,SAAS,eAAe;IAClE,8FAA8F;IAC9F,IAAI,EAAE,KAAK,CAAC;IACZ,kDAAkD;IAClD,OAAO,EAAE,mBAAmB,EAAE,CAAC;IAC/B,2EAA2E;IAC3E,WAAW,EAAE,iBAAiB,EAAE,CAAC;IACjC;;;OAGG;IACH,cAAc,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC;IACnD;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9E,qFAAqF;IACrF,SAAS,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAChE,yFAAyF;IACzF,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;CAChE;AAED,6DAA6D;AAC7D,MAAM,WAAW,oBAAoB;IACnC,8FAA8F;IAC9F,WAAW,EAAE,iBAAiB,EAAE,CAAC;IACjC;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,qFAAqF;IACrF,qBAAqB,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,SAAS,KAAK,IAAI,CAAC;IAC5D,uIAAuI;IACvI,kBAAkB,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1E;;;;OAIG;IACH,8BAA8B,EAAE,OAAO,CAAC;IACxC,oEAAoE;IACpE,cAAc,EAAE,OAAO,CAAC;IACxB,wDAAwD;IACxD,YAAY,EAAE,OAAO,CAAC;IACtB,qDAAqD;IACrD,cAAc,EAAE,OAAO,CAAC;IACxB;;;;OAIG;IACH,YAAY,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IACrC,8GAA8G;IAC9G,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AAED,4IAA4I;AAC5I,eAAO,MAAM,cAAc,GACzB,KAAK,SAAS,eAAe,GAAG,eAAe,EAC/C,sIAQC,qBAAqB,CAAC,KAAK,CAAC,KAAG,oBAyEjC,CAAC"}
1
+ {"version":3,"file":"use-publish-flow.d.ts","sourceRoot":"","sources":["../../src/utils/use-publish-flow.ts"],"names":[],"mappings":"AACA,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACpB,MAAM,mBAAmB,CAAC;AAE3B,mGAAmG;AACnG,MAAM,WAAW,eAAe;IAC9B,kFAAkF;IAClF,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AA2DD,0CAA0C;AAC1C,MAAM,WAAW,qBAAqB,CAAC,KAAK,SAAS,eAAe;IAClE,8FAA8F;IAC9F,IAAI,EAAE,KAAK,CAAC;IACZ,kDAAkD;IAClD,OAAO,EAAE,mBAAmB,EAAE,CAAC;IAC/B,2EAA2E;IAC3E,WAAW,EAAE,iBAAiB,EAAE,CAAC;IACjC;;;OAGG;IACH,cAAc,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC;IACnD;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9E,uGAAuG;IACvG,SAAS,EAAE,CACT,IAAI,EAAE,KAAK,EACX,UAAU,EAAE,MAAM,EAAE,EACpB,KAAK,EAAE,eAAe,EAAE,KACrB,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB,yFAAyF;IACzF,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAC/D;;;;;;OAMG;IACH,oBAAoB,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;CAC7E;AAED,6DAA6D;AAC7D,MAAM,WAAW,oBAAoB;IACnC,8FAA8F;IAC9F,WAAW,EAAE,iBAAiB,EAAE,CAAC;IACjC;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,qFAAqF;IACrF,qBAAqB,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,SAAS,KAAK,IAAI,CAAC;IAC5D,uIAAuI;IACvI,kBAAkB,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1E;;;;OAIG;IACH,8BAA8B,EAAE,OAAO,CAAC;IACxC,oEAAoE;IACpE,cAAc,EAAE,OAAO,CAAC;IACxB,wDAAwD;IACxD,YAAY,EAAE,OAAO,CAAC;IACtB,qDAAqD;IACrD,cAAc,EAAE,OAAO,CAAC;IACxB;;;;OAIG;IACH,YAAY,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IACrC,qHAAqH;IACrH,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,wFAAwF;IACxF,KAAK,EAAE,eAAe,EAAE,CAAC;IACzB,2EAA2E;IAC3E,QAAQ,EAAE,CAAC,KAAK,EAAE,eAAe,EAAE,KAAK,IAAI,CAAC;IAC7C,qFAAqF;IACrF,cAAc,EAAE,OAAO,CAAC;IACxB,iHAAiH;IACjH,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAED,4IAA4I;AAC5I,eAAO,MAAM,cAAc,GACzB,KAAK,SAAS,eAAe,GAAG,eAAe,EAC/C,4JASC,qBAAqB,CAAC,KAAK,CAAC,KAAG,oBAoHjC,CAAC"}