@gravitee/graphene-policy-studio 3.13.0 → 3.14.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 (62) hide show
  1. package/USAGE_GUIDE.md +32 -0
  2. package/dist/components/FlowExecution/FlowExecutionPopover.d.ts +7 -2
  3. package/dist/components/FlowExecution/FlowExecutionPopover.d.ts.map +1 -1
  4. package/dist/components/FlowForm/AddFlowSheet.d.ts.map +1 -1
  5. package/dist/components/FlowForm/EditFlowSheet.d.ts.map +1 -1
  6. package/dist/components/FlowForm/FlowForm.d.ts +7 -2
  7. package/dist/components/FlowForm/FlowForm.d.ts.map +1 -1
  8. package/dist/components/FlowForm/fields/TagsField.d.ts +12 -0
  9. package/dist/components/FlowForm/fields/TagsField.d.ts.map +1 -0
  10. package/dist/components/FlowForm/flow-form-schema.d.ts +2 -0
  11. package/dist/components/FlowForm/flow-form-schema.d.ts.map +1 -1
  12. package/dist/components/FlowInfoBar/FlowInfoBar.d.ts +7 -2
  13. package/dist/components/FlowInfoBar/FlowInfoBar.d.ts.map +1 -1
  14. package/dist/components/FlowsSidebar/FlowGroupSection.d.ts +8 -1
  15. package/dist/components/FlowsSidebar/FlowGroupSection.d.ts.map +1 -1
  16. package/dist/components/FlowsSidebar/FlowItem.d.ts +3 -1
  17. package/dist/components/FlowsSidebar/FlowItem.d.ts.map +1 -1
  18. package/dist/components/FlowsSidebar/FlowList.d.ts +4 -2
  19. package/dist/components/FlowsSidebar/FlowList.d.ts.map +1 -1
  20. package/dist/components/FlowsSidebar/FlowsSidebar.d.ts.map +1 -1
  21. package/dist/components/FlowsSidebar/PlatformFlowsSidebar.d.ts +7 -0
  22. package/dist/components/FlowsSidebar/PlatformFlowsSidebar.d.ts.map +1 -0
  23. package/dist/components/FlowsSidebar/SidebarShell.d.ts +3 -2
  24. package/dist/components/FlowsSidebar/SidebarShell.d.ts.map +1 -1
  25. package/dist/components/FlowsSidebar/educational-content.d.ts +7 -0
  26. package/dist/components/FlowsSidebar/educational-content.d.ts.map +1 -1
  27. package/dist/components/FlowsSidebar/flows-sidebar.types.d.ts +2 -1
  28. package/dist/components/FlowsSidebar/flows-sidebar.types.d.ts.map +1 -1
  29. package/dist/components/PhaseCanvas/PhaseCanvas.d.ts +7 -1
  30. package/dist/components/PhaseCanvas/PhaseCanvas.d.ts.map +1 -1
  31. package/dist/components/PhaseCanvas/PhaseCanvasParts.d.ts +7 -1
  32. package/dist/components/PhaseCanvas/PhaseCanvasParts.d.ts.map +1 -1
  33. package/dist/components/PhaseCanvas/PhaseLayout.d.ts +5 -3
  34. package/dist/components/PhaseCanvas/PhaseLayout.d.ts.map +1 -1
  35. package/dist/components/PhaseCanvas/phase-examples.d.ts +2 -2
  36. package/dist/components/PhaseCanvas/phase-examples.d.ts.map +1 -1
  37. package/dist/components/PhaseCanvas/use-phase-row-data.d.ts +3 -2
  38. package/dist/components/PhaseCanvas/use-phase-row-data.d.ts.map +1 -1
  39. package/dist/components/PolicyCatalog/PolicyCatalogPane.d.ts +4 -2
  40. package/dist/components/PolicyCatalog/PolicyCatalogPane.d.ts.map +1 -1
  41. package/dist/components/PolicyStudio/EducationalEmptyState.d.ts +3 -2
  42. package/dist/components/PolicyStudio/EducationalEmptyState.d.ts.map +1 -1
  43. package/dist/components/PolicyStudio/PolicyStudio.d.ts.map +1 -1
  44. package/dist/context/PolicyStudioProvider.d.ts +17 -2
  45. package/dist/context/PolicyStudioProvider.d.ts.map +1 -1
  46. package/dist/index.js +5037 -4784
  47. package/dist/lib/flow-form.d.ts +2 -0
  48. package/dist/lib/flow-form.d.ts.map +1 -1
  49. package/dist/lib/flow-info-bar.d.ts +23 -1
  50. package/dist/lib/flow-info-bar.d.ts.map +1 -1
  51. package/dist/lib/flow-menu.d.ts +6 -0
  52. package/dist/lib/flow-menu.d.ts.map +1 -1
  53. package/dist/lib/flow-phases.d.ts +2 -2
  54. package/dist/lib/flow-phases.d.ts.map +1 -1
  55. package/dist/lib/phase-whisper.d.ts +3 -3
  56. package/dist/lib/phase-whisper.d.ts.map +1 -1
  57. package/dist/lib/policy-filter.d.ts +5 -4
  58. package/dist/lib/policy-filter.d.ts.map +1 -1
  59. package/dist/types.d.ts +14 -0
  60. package/dist/types.d.ts.map +1 -1
  61. package/package.json +1 -1
  62. package/snippets/policy-studio-organization-host.tsx +90 -0
@@ -18,6 +18,8 @@ export interface FlowFormValues {
18
18
  readonly operations: readonly ('PUBLISH' | 'SUBSCRIBE')[];
19
19
  readonly mcpMethods: readonly string[];
20
20
  readonly condition: string;
21
+ /** Sharding tag IDs restricting the flow to specific gateways (organization scope only, spec 22.5). */
22
+ readonly tags: readonly string[];
21
23
  }
22
24
  export declare const EMPTY_FORM_VALUES: FlowFormValues;
23
25
  /** Builds the canonical `Selector[]` from form values for a given API type. */
@@ -1 +1 @@
1
- {"version":3,"file":"flow-form.d.ts","sourceRoot":"","sources":["../../src/lib/flow-form.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EACV,OAAO,EAGP,IAAI,EACJ,MAAM,EAIN,QAAQ,EACT,MAAM,UAAU,CAAC;AAKlB,eAAO,MAAM,mBAAmB,2GAYtB,CAAC;AAEX,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEpE,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC;AAED,eAAO,MAAM,iBAAiB,EAAE,SAAS,cAAc,EAuB7C,CAAC;AAIX,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,YAAY,EAAE,QAAQ,GAAG,aAAa,CAAC;IAChD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,QAAQ,CAAC,eAAe,EAAE,QAAQ,GAAG,aAAa,CAAC;IACnD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC,SAAS,GAAG,WAAW,CAAC,EAAE,CAAC;IAC1D,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,eAAO,MAAM,iBAAiB,EAAE,cAY/B,CAAC;AA6DF,+EAA+E;AAC/E,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,GAAG,QAAQ,EAAE,CAenF;AAQD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,GAAG,cAAc,CAwC9E;AAiBD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,GAAG,MAAM,CAc1G;AAWD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,GAAG,MAAM,CAY5G;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,GAAG,MAAM,CAUzG"}
1
+ {"version":3,"file":"flow-form.d.ts","sourceRoot":"","sources":["../../src/lib/flow-form.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EACV,OAAO,EAGP,IAAI,EACJ,MAAM,EAIN,QAAQ,EACT,MAAM,UAAU,CAAC;AAKlB,eAAO,MAAM,mBAAmB,2GAYtB,CAAC;AAEX,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEpE,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC;AAED,eAAO,MAAM,iBAAiB,EAAE,SAAS,cAAc,EAuB7C,CAAC;AAIX,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,YAAY,EAAE,QAAQ,GAAG,aAAa,CAAC;IAChD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,QAAQ,CAAC,eAAe,EAAE,QAAQ,GAAG,aAAa,CAAC;IACnD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC,SAAS,GAAG,WAAW,CAAC,EAAE,CAAC;IAC1D,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,uGAAuG;IACvG,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;CAClC;AAED,eAAO,MAAM,iBAAiB,EAAE,cAa/B,CAAC;AA6DF,+EAA+E;AAC/E,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,GAAG,QAAQ,EAAE,CAenF;AAQD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,GAAG,cAAc,CAyC9E;AAiBD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,GAAG,MAAM,CAc1G;AAWD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,GAAG,MAAM,CAa5G;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,GAAG,MAAM,CAWzG"}
@@ -1,4 +1,4 @@
1
- import { ConnectorInfo, Flow, Selector } from '../types';
1
+ import { ConnectorInfo, Flow, OrganizationTag, Selector } from '../types';
2
2
  export interface HttpInfoBarData {
3
3
  readonly path: string;
4
4
  readonly pathOperator: 'EQUALS' | 'STARTS_WITH';
@@ -33,6 +33,28 @@ export interface ConditionInfoBarData {
33
33
  readonly condition: string;
34
34
  }
35
35
  export declare function getConditionInfo(selectors: readonly Selector[] | undefined): ConditionInfoBarData | undefined;
36
+ /**
37
+ * Cap on individual tag badges in the info bar. Tags beyond it collapse into
38
+ * a "+N" overflow badge instead of being clipped by the bar's overflow — a
39
+ * tag list that looks complete but is not would misreport which gateways the
40
+ * flow deploys to. Mirrors the sidebar's two-badges-plus-overflow rule for
41
+ * HTTP methods.
42
+ */
43
+ export declare const INFO_BAR_MAX_VISIBLE_TAGS = 2;
44
+ export interface TagsInfoBarData {
45
+ /** Every resolved tag name, in flow order — the overflow tooltip shows this full list. */
46
+ readonly names: readonly string[];
47
+ /** The first {@link INFO_BAR_MAX_VISIBLE_TAGS} names, rendered as individual badges. */
48
+ readonly visibleNames: readonly string[];
49
+ /** Names collapsed into the "+N" badge; empty when everything fits. */
50
+ readonly overflowNames: readonly string[];
51
+ }
52
+ /**
53
+ * Resolves a flow's sharding tag IDs to display names. Unknown IDs fall back
54
+ * to the raw ID so a stale tag stays visible instead of vanishing.
55
+ * Returns `undefined` when the flow has no tags.
56
+ */
57
+ export declare function getTagsInfo(flow: Flow, organizationTags: readonly OrganizationTag[]): TagsInfoBarData | undefined;
36
58
  export interface FlowInfoBarData {
37
59
  readonly name: string | undefined;
38
60
  readonly http: HttpInfoBarData | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"flow-info-bar.d.ts","sourceRoot":"","sources":["../../src/lib/flow-info-bar.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAGV,aAAa,EACb,IAAI,EAGJ,QAAQ,EACT,MAAM,UAAU,CAAC;AAUlB,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,YAAY,EAAE,QAAQ,GAAG,aAAa,CAAC;IAChD,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,SAAS,EAAE,SAAS,QAAQ,EAAE,GAAG,SAAS,GAAG,eAAe,GAAG,SAAS,CAQnG;AAID,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,eAAe,EAAE,QAAQ,GAAG,aAAa,CAAC;IACnD,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,QAAQ,CAAC,WAAW,EAAE,SAAS,aAAa,EAAE,CAAC;CAChD;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC5B,SAAS,EAAE,SAAS,QAAQ,EAAE,GAAG,SAAS,EAC1C,eAAe,EAAE,SAAS,aAAa,EAAE,GACxC,kBAAkB,GAAG,SAAS,CAehC;AAID,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,SAAS,EAAE,SAAS,QAAQ,EAAE,GAAG,SAAS,GAAG,cAAc,GAAG,SAAS,CAMjG;AAID,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,SAAS,QAAQ,EAAE,GAAG,SAAS,GAAG,oBAAoB,GAAG,SAAS,CAI7G;AAID,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,QAAQ,CAAC,IAAI,EAAE,eAAe,GAAG,SAAS,CAAC;IAC3C,QAAQ,CAAC,OAAO,EAAE,kBAAkB,GAAG,SAAS,CAAC;IACjD,QAAQ,CAAC,GAAG,EAAE,cAAc,GAAG,SAAS,CAAC;IACzC,QAAQ,CAAC,SAAS,EAAE,oBAAoB,GAAG,SAAS,CAAC;CACtD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,IAAI,EAAE,eAAe,EAAE,SAAS,aAAa,EAAE,GAAG,eAAe,CAQzG;AAYD,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,GAAG,SAAS,GAAG,aAAa,CAExG"}
1
+ {"version":3,"file":"flow-info-bar.d.ts","sourceRoot":"","sources":["../../src/lib/flow-info-bar.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAGV,aAAa,EACb,IAAI,EAGJ,eAAe,EACf,QAAQ,EACT,MAAM,UAAU,CAAC;AAUlB,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,YAAY,EAAE,QAAQ,GAAG,aAAa,CAAC;IAChD,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,SAAS,EAAE,SAAS,QAAQ,EAAE,GAAG,SAAS,GAAG,eAAe,GAAG,SAAS,CAQnG;AAID,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,eAAe,EAAE,QAAQ,GAAG,aAAa,CAAC;IACnD,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,QAAQ,CAAC,WAAW,EAAE,SAAS,aAAa,EAAE,CAAC;CAChD;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC5B,SAAS,EAAE,SAAS,QAAQ,EAAE,GAAG,SAAS,EAC1C,eAAe,EAAE,SAAS,aAAa,EAAE,GACxC,kBAAkB,GAAG,SAAS,CAehC;AAID,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,SAAS,EAAE,SAAS,QAAQ,EAAE,GAAG,SAAS,GAAG,cAAc,GAAG,SAAS,CAMjG;AAID,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,SAAS,QAAQ,EAAE,GAAG,SAAS,GAAG,oBAAoB,GAAG,SAAS,CAI7G;AAID;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB,IAAI,CAAC;AAE3C,MAAM,WAAW,eAAe;IAC9B,0FAA0F;IAC1F,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,wFAAwF;IACxF,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC,uEAAuE;IACvE,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;CAC3C;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,gBAAgB,EAAE,SAAS,eAAe,EAAE,GAAG,eAAe,GAAG,SAAS,CASjH;AAID,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,QAAQ,CAAC,IAAI,EAAE,eAAe,GAAG,SAAS,CAAC;IAC3C,QAAQ,CAAC,OAAO,EAAE,kBAAkB,GAAG,SAAS,CAAC;IACjD,QAAQ,CAAC,GAAG,EAAE,cAAc,GAAG,SAAS,CAAC;IACzC,QAAQ,CAAC,SAAS,EAAE,oBAAoB,GAAG,SAAS,CAAC;CACtD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,IAAI,EAAE,eAAe,EAAE,SAAS,aAAa,EAAE,GAAG,eAAe,CAQzG;AAYD,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,GAAG,SAAS,GAAG,aAAa,CAExG"}
@@ -9,6 +9,12 @@ import { ApiType, Flow, FlowGroupKind, FlowGroupVM, FlowVM, Plan } from '../type
9
9
  * - Common flows group appears last with fixed ID `flowsGroup_common`.
10
10
  */
11
11
  export declare function buildFlowGroups(plans: readonly Plan[], commonFlows: readonly Flow[]): readonly FlowGroupVM[];
12
+ /**
13
+ * Derives the sidebar group list at organization scope (spec 22.4):
14
+ * one flat "Platform flows" group. Platform flows are structurally common
15
+ * flows, so the group keeps `kind: 'common'` — no new `FlowGroupKind`.
16
+ */
17
+ export declare function buildPlatformFlowGroups(commonFlows: readonly Flow[]): readonly FlowGroupVM[];
12
18
  /**
13
19
  * Classifies a single MCP flow into a group kind based on its MCP selector methods.
14
20
  *
@@ -1 +1 @@
1
- {"version":3,"file":"flow-menu.d.ts","sourceRoot":"","sources":["../../src/lib/flow-menu.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,EAAe,IAAI,EAAY,MAAM,UAAU,CAAC;AAa/G;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,SAAS,IAAI,EAAE,EAAE,WAAW,EAAE,SAAS,IAAI,EAAE,GAAG,SAAS,WAAW,EAAE,CAyB5G;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,IAAI,GAAG,aAAa,CAMzD;AAOD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,SAAS,IAAI,EAAE,GAAG,SAAS,WAAW,EAAE,CAsBpF;AAID,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,QAAQ,GAAG,WAAW,GAAG,KAAK,GAAG,WAAW,GAAG,UAAU,CAAC;CAC7E;AAgCD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,SAAS,SAAS,EAAE,CAqBlF;AAgBD;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,MAAM,CASvE;AA0CD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,SAAS,WAAW,EAAE,EAC9B,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,OAAO,GACf,SAAS,WAAW,EAAE,CAiBxB;AAID,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,qBAAqB,EAAE,OAAO,CAAC;IACxC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,KAAK,GAAG,YAAY,GAAG,iBAAiB,CAAC;CAC5D;AA+CD,gDAAgD;AAChD,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,CAExD;AAID,MAAM,MAAM,WAAW,GAAG,eAAe,GAAG,WAAW,GAAG,UAAU,GAAG,UAAU,CAAC;AAElF;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,GAAG,WAAW,CAQzE;AAID;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,SAAS,CAAC,SAAS,CAAC,EAC7B,WAAW,EAAE,WAAW,EACxB,aAAa,EAAE,MAAM,GACpB,OAAO,CAMT;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,MAAM,EAAE,SAAS,WAAW,EAAE,CAAC;IACxC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,SAAS,WAAW,EAAE,EAC9B,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,MAAM,GACf,iBAAiB,CA2CnB;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,WAAW,EAAE,EAAE,EAAE,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAEvG;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,CAOrG;AAID;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,SAAS,WAAW,EAAE,EAC9B,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,MAAM,GACd,MAAM,GAAG,SAAS,CAUpB;AAMD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CASlD"}
1
+ {"version":3,"file":"flow-menu.d.ts","sourceRoot":"","sources":["../../src/lib/flow-menu.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { ApiType, ConnectorMode, FlowPhase } from '../types';
1
+ import { ApiType, ConnectorMode, FlowPhase, PolicyStudioScope } from '../types';
2
2
  export type ConnectorRole = 'entrypoint' | 'endpoint';
3
3
  export interface PhaseConfig {
4
4
  readonly phase: FlowPhase;
@@ -13,7 +13,7 @@ export interface PhaseConfig {
13
13
  }
14
14
  export declare function normalizeApiType(apiType: ApiType): ApiType;
15
15
  export declare const PHASE_LABELS: Record<FlowPhase, string>;
16
- export declare function getPhaseConfig(phase: FlowPhase, apiType: ApiType): PhaseConfig;
16
+ export declare function getPhaseConfig(phase: FlowPhase, apiType: ApiType, scope?: PolicyStudioScope): PhaseConfig;
17
17
  export interface PhaseTab {
18
18
  readonly label: string;
19
19
  readonly phases: readonly FlowPhase[];
@@ -1 +1 @@
1
- {"version":3,"file":"flow-phases.d.ts","sourceRoot":"","sources":["../../src/lib/flow-phases.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAIlE,MAAM,MAAM,aAAa,GAAG,YAAY,GAAG,UAAU,CAAC;AAEtD,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,kBAAkB,EAAE,aAAa,CAAC;IAC3C,QAAQ,CAAC,gBAAgB,EAAE,aAAa,CAAC;IACzC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,mBAAmB,EAAE,aAAa,GAAG,IAAI,CAAC;IACnD,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;CAC7B;AAID,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAE1D;AAeD,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAOlD,CAAC;AA4FF,wBAAgB,cAAc,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,GAAG,WAAW,CAkB9E;AAID,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,SAAS,SAAS,EAAE,CAAC;CACvC;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,SAAS,SAAS,EAAE,CAAC;CACvC,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;CAC9C,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,eAAe,GAAG,iBAAiB,CAAC;AAgC9D,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,WAAW,CAE5D;AAED,sEAAsE;AACtE,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,SAAS,EAAE,CAI3E"}
1
+ {"version":3,"file":"flow-phases.d.ts","sourceRoot":"","sources":["../../src/lib/flow-phases.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAIrF,MAAM,MAAM,aAAa,GAAG,YAAY,GAAG,UAAU,CAAC;AAEtD,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,kBAAkB,EAAE,aAAa,CAAC;IAC3C,QAAQ,CAAC,gBAAgB,EAAE,aAAa,CAAC;IACzC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,mBAAmB,EAAE,aAAa,GAAG,IAAI,CAAC;IACnD,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;CAC7B;AAID,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAE1D;AAeD,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAOlD,CAAC;AA4GF,wBAAgB,cAAc,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,GAAE,iBAAyB,GAAG,WAAW,CAwBhH;AAID,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,SAAS,SAAS,EAAE,CAAC;CACvC;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,SAAS,SAAS,EAAE,CAAC;CACvC,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;CAC9C,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,eAAe,GAAG,iBAAiB,CAAC;AAgC9D,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,WAAW,CAE5D;AAED,sEAAsE;AACtE,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,SAAS,EAAE,CAI3E"}
@@ -1,4 +1,4 @@
1
- import { ApiType, FlowPhase, Policy } from '../types';
1
+ import { ApiType, FlowPhase, Policy, PolicyStudioScope } from '../types';
2
2
  import { ResolvedStep } from './step-matching';
3
3
  /**
4
4
  * Policy concern categories used by the whisper system.
@@ -23,12 +23,12 @@ export interface PhaseWhisper {
23
23
  * - Some unmet → suggest the first unmet concern so the user can act on it.
24
24
  * - No recognised concerns but policies exist → policy count fallback.
25
25
  */
26
- export declare function getPhaseWhisper(phase: FlowPhase, apiType: ApiType, resolvedSteps: readonly ResolvedStep[], availableCategories?: ReadonlySet<string>): PhaseWhisper | null;
26
+ export declare function getPhaseWhisper(phase: FlowPhase, apiType: ApiType, resolvedSteps: readonly ResolvedStep[], availableCategories?: ReadonlySet<string>, scope?: PolicyStudioScope): PhaseWhisper | null;
27
27
  /**
28
28
  * The suggestion for a phase nobody has added to yet. Separate from {@link getPhaseWhisper}'s unmet
29
29
  * branch: an untouched phase and one holding policies that miss the mark are different situations.
30
30
  */
31
- export declare function getEmptyPhaseWhisper(phase: FlowPhase, apiType: ApiType, availableCategories?: ReadonlySet<string>): PhaseWhisper | null;
31
+ export declare function getEmptyPhaseWhisper(phase: FlowPhase, apiType: ApiType, availableCategories?: ReadonlySet<string>, scope?: PolicyStudioScope): PhaseWhisper | null;
32
32
  /**
33
33
  * Returns the category-based CTAs for an empty phase.
34
34
  * Each CTA maps to a policy category that can be used to filter the catalog.
@@ -1 +1 @@
1
- {"version":3,"file":"phase-whisper.d.ts","sourceRoot":"","sources":["../../src/lib/phase-whisper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAGpD;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG,SAAS,GAAG,gBAAgB,GAAG,aAAa,GAAG,YAAY,CAAC;AA4DrG,MAAM,WAAW,YAAY;IAC3B,6FAA6F;IAC7F,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IACpC;;;OAGG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CACpC;AAqJD;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,SAAS,EAChB,OAAO,EAAE,OAAO,EAChB,aAAa,EAAE,SAAS,YAAY,EAAE,EACtC,mBAAmB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,GACxC,YAAY,GAAG,IAAI,CAsCrB;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,SAAS,EAChB,OAAO,EAAE,OAAO,EAChB,mBAAmB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,GACxC,YAAY,GAAG,IAAI,CAerB;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,SAAS,EAChB,OAAO,EAAE,OAAO,EAChB,mBAAmB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,GACxC,SAAS,MAAM,EAAE,CAWnB;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE;IACvC,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC;IACtC,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC;IACvC,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC;IACtC,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC;IACxC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC;IAChD,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC;CACxC,GAAG,MAAM,CAST;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,GAAG,WAAW,CAAC,MAAM,CAAC,CAQ7F"}
1
+ {"version":3,"file":"phase-whisper.d.ts","sourceRoot":"","sources":["../../src/lib/phase-whisper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC9E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAGpD;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG,SAAS,GAAG,gBAAgB,GAAG,aAAa,GAAG,YAAY,CAAC;AA4DrG,MAAM,WAAW,YAAY;IAC3B,6FAA6F;IAC7F,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IACpC;;;OAGG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CACpC;AAiMD;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,SAAS,EAChB,OAAO,EAAE,OAAO,EAChB,aAAa,EAAE,SAAS,YAAY,EAAE,EACtC,mBAAmB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,EACzC,KAAK,GAAE,iBAAyB,GAC/B,YAAY,GAAG,IAAI,CAsCrB;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,SAAS,EAChB,OAAO,EAAE,OAAO,EAChB,mBAAmB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,EACzC,KAAK,GAAE,iBAAyB,GAC/B,YAAY,GAAG,IAAI,CAerB;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,SAAS,EAChB,OAAO,EAAE,OAAO,EAChB,mBAAmB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,GACxC,SAAS,MAAM,EAAE,CAWnB;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE;IACvC,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC;IACtC,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC;IACvC,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC;IACtC,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC;IACxC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC;IAChD,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC;CACxC,GAAG,MAAM,CAST;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,GAAG,WAAW,CAAC,MAAM,CAAC,CAQ7F"}
@@ -1,11 +1,12 @@
1
- import { ApiType, FlowPhase, Policy, SharedPolicyGroupPolicy } from '../types';
1
+ import { ApiType, FlowPhase, Policy, PolicyStudioScope, SharedPolicyGroupPolicy } from '../types';
2
2
  export declare function getPhaseLabel(phase: FlowPhase): string;
3
3
  /**
4
4
  * Filters standard policies by `flowPhaseCompatibility` for the given API type and phase.
5
5
  *
6
- * Lookup: `policy.flowPhaseCompatibility[getProtocolType(apiType)]?.includes(flowPhase)`
6
+ * Lookup: `policy.flowPhaseCompatibility[getProtocolType(apiType)]?.includes(flowPhase)`,
7
+ * widened to every protocol at organization scope (see `runsOnAnyProtocol`).
7
8
  */
8
- export declare function filterPoliciesForPhase(policies: readonly Policy[], apiType: ApiType, flowPhase: FlowPhase): readonly Policy[];
9
+ export declare function filterPoliciesForPhase(policies: readonly Policy[], apiType: ApiType, flowPhase: FlowPhase, scope?: PolicyStudioScope): readonly Policy[];
9
10
  /**
10
11
  * Filters shared policy group policies by matching `apiType` and `phase`.
11
12
  */
@@ -15,7 +16,7 @@ export declare const SHARED_POLICY_GROUP_CATEGORY = "Shared Policy Group";
15
16
  /** Maps filtered SPGs to catalog `Policy` rows for display and selection. */
16
17
  export declare function sharedPolicyGroupsToCatalogPolicies(spgs: readonly SharedPolicyGroupPolicy[]): readonly Policy[];
17
18
  /** Standard policies + SPGs for the current api type and phase. */
18
- export declare function getCatalogPoliciesForPhase(policies: readonly Policy[], sharedPolicyGroups: readonly SharedPolicyGroupPolicy[], apiType: ApiType, flowPhase: FlowPhase): readonly Policy[];
19
+ export declare function getCatalogPoliciesForPhase(policies: readonly Policy[], sharedPolicyGroups: readonly SharedPolicyGroupPolicy[], apiType: ApiType, flowPhase: FlowPhase, scope?: PolicyStudioScope): readonly Policy[];
19
20
  /**
20
21
  * Case-insensitive substring match used across catalog and quick-insert search.
21
22
  * Returns 1 (match) or 0 (no match) — compatible with cmdk's `filter` prop.
@@ -1 +1 @@
1
- {"version":3,"file":"policy-filter.d.ts","sourceRoot":"","sources":["../../src/lib/policy-filter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAepF,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAEtD;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,SAAS,MAAM,EAAE,EAC3B,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,SAAS,GACnB,SAAS,MAAM,EAAE,CAGnB;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,SAAS,uBAAuB,EAAE,EACxC,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,SAAS,GACnB,SAAS,uBAAuB,EAAE,CAEpC;AAED,kEAAkE;AAClE,eAAO,MAAM,4BAA4B,wBAAwB,CAAC;AAElE,6EAA6E;AAC7E,wBAAgB,mCAAmC,CAAC,IAAI,EAAE,SAAS,uBAAuB,EAAE,GAAG,SAAS,MAAM,EAAE,CAO/G;AAED,mEAAmE;AACnE,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,SAAS,MAAM,EAAE,EAC3B,kBAAkB,EAAE,SAAS,uBAAuB,EAAE,EACtD,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,SAAS,GACnB,SAAS,MAAM,EAAE,CAInB;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAIxE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,CAAC,SAAS;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,EAC/F,KAAK,EAAE,SAAS,CAAC,EAAE,EACnB,KAAK,EAAE,MAAM,GACZ,SAAS,CAAC,EAAE,CAId;AAaD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAmBlF;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,CAMnE;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,SAAS,MAAM,EAAE,EAC3B,kBAAkB,EAAE,SAAS,MAAM,EAAE,GACpC,SAAS,MAAM,EAAE,CAMnB;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAOlF"}
1
+ {"version":3,"file":"policy-filter.d.ts","sourceRoot":"","sources":["../../src/lib/policy-filter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAevG,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAEtD;AAiBD;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,SAAS,MAAM,EAAE,EAC3B,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,SAAS,EACpB,KAAK,GAAE,iBAAyB,GAC/B,SAAS,MAAM,EAAE,CAMnB;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,SAAS,uBAAuB,EAAE,EACxC,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,SAAS,GACnB,SAAS,uBAAuB,EAAE,CAEpC;AAED,kEAAkE;AAClE,eAAO,MAAM,4BAA4B,wBAAwB,CAAC;AAElE,6EAA6E;AAC7E,wBAAgB,mCAAmC,CAAC,IAAI,EAAE,SAAS,uBAAuB,EAAE,GAAG,SAAS,MAAM,EAAE,CAO/G;AAED,mEAAmE;AACnE,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,SAAS,MAAM,EAAE,EAC3B,kBAAkB,EAAE,SAAS,uBAAuB,EAAE,EACtD,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,SAAS,EACpB,KAAK,GAAE,iBAAyB,GAC/B,SAAS,MAAM,EAAE,CAInB;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAIxE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,CAAC,SAAS;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,EAC/F,KAAK,EAAE,SAAS,CAAC,EAAE,EACnB,KAAK,EAAE,MAAM,GACZ,SAAS,CAAC,EAAE,CAId;AAaD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAmBlF;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,CAMnE;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,SAAS,MAAM,EAAE,EAC3B,kBAAkB,EAAE,SAAS,MAAM,EAAE,GACpC,SAAS,MAAM,EAAE,CAMnB;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAOlF"}
package/dist/types.d.ts CHANGED
@@ -4,6 +4,20 @@
4
4
  * (not from legacy mock data).
5
5
  */
6
6
  export type ApiType = 'A2A_PROXY' | 'LLM_PROXY' | 'MCP_PROXY' | 'MESSAGE' | 'NATIVE' | 'PROXY';
7
+ /**
8
+ * Which owner the flows belong to (spec 22). `API` is the default studio;
9
+ * `ORGANIZATION` hosts platform flows, applied on the request and response phases
10
+ * of every API the gateway serves.
11
+ */
12
+ export type PolicyStudioScope = 'API' | 'ORGANIZATION';
13
+ /**
14
+ * A sharding tag defined on the organization. `id` is the persisted value on
15
+ * `Flow.tags`; `name` is what the UI displays (spec 22.2).
16
+ */
17
+ export interface OrganizationTag {
18
+ readonly id: string;
19
+ readonly name: string;
20
+ }
7
21
  /**
8
22
  * Minimal reference to a resource configured on the API. Passed to Policy Studio so `resource-type`
9
23
  * config fields can offer a picker of the resources whose `type` matches. `name` is the stored value.
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gravitee/graphene-policy-studio",
3
- "version": "3.13.0",
3
+ "version": "3.14.0",
4
4
  "type": "module",
5
5
  "description": "Gravitee Policy Studio UI for the Graphene design system.",
6
6
  "keywords": [
@@ -0,0 +1,90 @@
1
+ // Snippet: Policy Studio at organization scope (platform flows, spec 22)
2
+ //
3
+ // Use when embedding Policy Studio on the Organization → Policies page.
4
+ // Platform flows are HTTP request/response policies the gateway applies
5
+ // around EVERY HTTP API in the organization.
6
+ //
7
+ // Replace {PLACEHOLDERS} with your actual values.
8
+ // See Storybook "Policy Studio/PolicyStudio → Organization" for a live demo.
9
+
10
+ import { useCallback, useMemo } from 'react';
11
+ import { PolicyStudio } from '@gravitee/graphene-policy-studio';
12
+ import type { Policy, SaveOutput } from '@gravitee/graphene-policy-studio';
13
+
14
+ export function OrganizationPoliciesPage() {
15
+ // The organization persists flows in the v2 wire shape. Mapping it to the
16
+ // studio's v4 `Flow` is the host's responsibility (spec 22.3):
17
+ // path-operator.path/.operator → selectors[HTTP].path/.pathOperator
18
+ // methods → selectors[HTTP].methods
19
+ // condition → selectors[CONDITION].condition
20
+ // pre / post → request / response
21
+ // consumers[{consumerType:'TAG', consumerId}] → tags: [consumerId]
22
+ const commonFlows = useMemo(() => [] as const /* replace with mapped organization flows */, []);
23
+
24
+ // GET {org.baseURL}/configuration/tags
25
+ const organizationTags = useMemo(() => [] as const /* replace with the organization's sharding tags */, []);
26
+
27
+ // Policy list for platform scope; schemas may arrive pre-expanded.
28
+ const policies = useMemo(() => [] as const /* replace with policies */, []);
29
+
30
+ const onSave = useCallback(
31
+ async (_output: SaveOutput) => {
32
+ // At organization scope, SaveOutput carries `commonFlows` and/or
33
+ // `flowExecution` only — `plansToUpdate` is never emitted.
34
+ //
35
+ // DATA-LOSS HAZARD: the organization update API replaces flows with the
36
+ // payload; an absent or null `flows` deletes every platform flow. Always
37
+ // GET the organization, merge, and PUT the FULL entity with the FULL
38
+ // ordered flow list:
39
+ //
40
+ // const org = await api.getOrganization();
41
+ // const merged = { ...org };
42
+ // if (output.commonFlows) merged.flows = output.commonFlows.map(toV2Flow);
43
+ // if (output.flowExecution) merged.flowMode = output.flowExecution.mode;
44
+ // await api.updateOrganization(merged);
45
+ //
46
+ // Saving deploys to every gateway — confirm with the user first
47
+ // ("Deploy the policies?") before issuing the PUT; the studio simply
48
+ // awaits this promise.
49
+ //
50
+ // If the user CANCELS the confirmation, do not resolve normally: a
51
+ // resolved promise makes the studio treat the save as successful and
52
+ // reset its saving state while nothing was persisted. Throw instead so
53
+ // the studio keeps its dirty state (the Save button will surface the
54
+ // error message, so throw something explicit like
55
+ // `new Error('Deployment cancelled')`).
56
+ },
57
+ [
58
+ /* replace with your dependencies */
59
+ ],
60
+ );
61
+
62
+ const onFetchPolicySchema = useCallback(async (_policy: Policy) => {
63
+ /* replace: GET JSON schema for policy.id (apiProtocolType=HTTP_PROXY) */
64
+ return {};
65
+ }, []);
66
+
67
+ const onFetchPolicyDocumentation = useCallback(async (_policy: Policy) => {
68
+ /* replace: GET documentation for policy.id (apiProtocolType=HTTP_PROXY) */
69
+ return { content: '', language: 'MARKDOWN' as const };
70
+ }, []);
71
+
72
+ return (
73
+ <PolicyStudio
74
+ apiType="PROXY"
75
+ scope="ORGANIZATION"
76
+ policies={policies}
77
+ sharedPolicyGroups={[]}
78
+ plans={[]}
79
+ commonFlows={commonFlows}
80
+ entrypointsInfo={[]}
81
+ endpointsInfo={[]}
82
+ organizationTags={organizationTags}
83
+ flowExecution={{ mode: 'DEFAULT' /* replace with organization.flowMode */ }}
84
+ readOnly={false /* replace: true when the user lacks the update permission */}
85
+ onSave={onSave}
86
+ onFetchPolicySchema={onFetchPolicySchema}
87
+ onFetchPolicyDocumentation={onFetchPolicyDocumentation}
88
+ />
89
+ );
90
+ }