@hiver/connector-admin 4.12.2-autoEnhance-beta.0 → 4.12.3-slack-beta.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 (61) hide show
  1. package/README.md +9 -9
  2. package/index.es.js +14583 -13728
  3. package/index.umd.js +622 -485
  4. package/package.json +1 -1
  5. package/style.css +1 -1
  6. package/v2/app/connectors/pages/api-view/index.d.ts.map +1 -1
  7. package/v2/app/connectors/pages/app-detail/AppDetailSkeleton.d.ts +9 -0
  8. package/v2/app/connectors/pages/app-detail/AppDetailSkeleton.d.ts.map +1 -0
  9. package/v2/app/connectors/pages/app-detail/Configuration.d.ts +23 -0
  10. package/v2/app/connectors/pages/app-detail/Configuration.d.ts.map +1 -0
  11. package/v2/app/connectors/pages/app-detail/EnabledToggle.d.ts +22 -0
  12. package/v2/app/connectors/pages/app-detail/EnabledToggle.d.ts.map +1 -0
  13. package/v2/app/connectors/pages/app-detail/Overview.d.ts +22 -0
  14. package/v2/app/connectors/pages/app-detail/Overview.d.ts.map +1 -0
  15. package/v2/app/connectors/pages/app-detail/index.d.ts +34 -0
  16. package/v2/app/connectors/pages/app-detail/index.d.ts.map +1 -0
  17. package/v2/app/connectors/pages/app-detail/registry.d.ts +20 -0
  18. package/v2/app/connectors/pages/app-detail/registry.d.ts.map +1 -0
  19. package/v2/app/connectors/pages/app-detail/schema.d.ts +63 -0
  20. package/v2/app/connectors/pages/app-detail/schema.d.ts.map +1 -0
  21. package/v2/app/connectors/pages/app-detail/style.d.ts +21 -0
  22. package/v2/app/connectors/pages/app-detail/style.d.ts.map +1 -0
  23. package/v2/app/connectors/pages/settings/index.d.ts.map +1 -1
  24. package/v2/app/connectors/router.d.ts.map +1 -1
  25. package/v2/constants/global-constants.d.ts +1 -0
  26. package/v2/constants/global-constants.d.ts.map +1 -1
  27. package/v2/constants/router-paths.d.ts +2 -0
  28. package/v2/constants/router-paths.d.ts.map +1 -1
  29. package/v2/features/advanced-features/api/userAuthEnabledMutation.d.ts +12 -0
  30. package/v2/features/advanced-features/api/userAuthEnabledMutation.d.ts.map +1 -0
  31. package/v2/features/advanced-features/components/feature-item/index.d.ts.map +1 -1
  32. package/v2/features/advanced-features/constants/api.d.ts +1 -0
  33. package/v2/features/advanced-features/constants/api.d.ts.map +1 -1
  34. package/v2/features/advanced-features/constants/index.d.ts +2 -1
  35. package/v2/features/advanced-features/constants/index.d.ts.map +1 -1
  36. package/v2/features/auth/api/authDetailsMutation.d.ts +1 -0
  37. package/v2/features/auth/api/authDetailsMutation.d.ts.map +1 -1
  38. package/v2/features/auth/utils/oauthPopup.d.ts +21 -0
  39. package/v2/features/auth/utils/oauthPopup.d.ts.map +1 -0
  40. package/v2/features/connector-library/components/custom-connector-card-item/index.d.ts.map +1 -1
  41. package/v2/features/slack/api/configs.d.ts +53 -0
  42. package/v2/features/slack/api/configs.d.ts.map +1 -0
  43. package/v2/features/slack/api/index.d.ts +2 -0
  44. package/v2/features/slack/api/index.d.ts.map +1 -0
  45. package/v2/features/slack/components/ConfigBlockIcons.d.ts +16 -0
  46. package/v2/features/slack/components/ConfigBlockIcons.d.ts.map +1 -0
  47. package/v2/features/slack/components/SlackLogo.d.ts +12 -0
  48. package/v2/features/slack/components/SlackLogo.d.ts.map +1 -0
  49. package/v2/features/slack/constants/api.d.ts +5 -0
  50. package/v2/features/slack/constants/api.d.ts.map +1 -0
  51. package/v2/features/slack/controller.d.ts +27 -0
  52. package/v2/features/slack/controller.d.ts.map +1 -0
  53. package/v2/features/slack/types/wire.d.ts +58 -0
  54. package/v2/features/slack/types/wire.d.ts.map +1 -0
  55. package/v2/features/template-library/components/library-card-list/index.d.ts.map +1 -1
  56. package/v2/testing/mocks/handlers/connector-template.d.ts.map +1 -1
  57. package/v2/testing/mocks/handlers/slack.d.ts +3 -0
  58. package/v2/testing/mocks/handlers/slack.d.ts.map +1 -0
  59. package/v2/testing/mocks/handlers.d.ts.map +1 -1
  60. package/v2/types/connector.d.ts +8 -0
  61. package/v2/types/connector.d.ts.map +1 -1
@@ -0,0 +1,53 @@
1
+ import { ConnectorConfigPayload, EnableConnectorConfigRequest, ListSlackAdminConfigsResponse, SlackAdminConfig, UpdateConnectorConfigRequest } from '../types/wire';
2
+ /**
3
+ * Lists all admin configs for the current UG. Pass `enabled: false`
4
+ * from a caller that doesn't need the data (e.g. the template-mode
5
+ * AppDetail page — there can't be any configs for a connector that
6
+ * hasn't been installed). Default is enabled for back-compat.
7
+ */
8
+ export declare function useListSlackAdminConfigs(opts?: {
9
+ enabled?: boolean;
10
+ }): import('@tanstack/react-query').UseQueryResult<ListSlackAdminConfigsResponse, Error>;
11
+ export declare function useCreateSlackAdminConfig(): import('@tanstack/react-query').UseMutationResult<SlackAdminConfig, Error, EnableConnectorConfigRequest, unknown>;
12
+ export declare function useUpdateSlackAdminConfig(): import('@tanstack/react-query').UseMutationResult<SlackAdminConfig, Error, {
13
+ configId: string;
14
+ payload: UpdateConnectorConfigRequest;
15
+ }, unknown>;
16
+ export declare function useDeleteSlackAdminConfig(): import('@tanstack/react-query').UseMutationResult<void, Error, string, unknown>;
17
+ /**
18
+ * Save-all helper for the admin Configuration form. Diffs the
19
+ * desired (sm_ids, role_access) tuple against the current configs
20
+ * and fans out create/update/delete calls in parallel.
21
+ *
22
+ * Returns once every write settles; surfaces a single
23
+ * success/error toast at the end so the form doesn't spam.
24
+ */
25
+ export interface SaveSlackConfigsPlan {
26
+ /** sm_ids the user wants Slack enabled for, post-save. */
27
+ desiredSmIds: string[];
28
+ /** role_access to apply to every newly-created or kept config. */
29
+ roleAccess: ConnectorConfigPayload['role_access'];
30
+ /**
31
+ * Either a template id (pre-install: /template/app/:templateId) or an
32
+ * install id (post-install: /connector/app/:connectorId). The backend
33
+ * resolver accepts both shapes — for a template id it lazily creates
34
+ * the install row and surfaces the new id on the response.
35
+ */
36
+ workspaceConnectorId: string;
37
+ /** Existing configs (from useListSlackAdminConfigs). */
38
+ existingConfigs: SlackAdminConfig[];
39
+ }
40
+ export interface SaveSlackConfigsResult {
41
+ /**
42
+ * Install id stored on every created/updated config row. Always the
43
+ * canonical connector_id post-save, even when the caller passed a
44
+ * template id (backend resolved + created the install). The template
45
+ * flow uses this to navigate to /connector/app/:installId.
46
+ * Null if no create/update happened (every desired SM already had
47
+ * an in-sync config and toDelete was the only fan-out).
48
+ */
49
+ installId: string | null;
50
+ }
51
+ export declare function useSaveSlackConfigs(): import('@tanstack/react-query').UseMutationResult<SaveSlackConfigsResult, unknown, SaveSlackConfigsPlan, unknown>;
52
+ export declare function useSlackEffectiveConfig(): import('@tanstack/react-query').UseQueryResult<any, Error>;
53
+ //# sourceMappingURL=configs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configs.d.ts","sourceRoot":"","sources":["../../../../../src/v2/features/slack/api/configs.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EACV,sBAAsB,EACtB,4BAA4B,EAC5B,6BAA6B,EAC7B,gBAAgB,EAChB,4BAA4B,EAC7B,MAAM,eAAe,CAAC;AA4CvB;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,GAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAO,wFAOxE;AAED,wBAAgB,yBAAyB,sHAaxC;AAED,wBAAgB,yBAAyB;cAKW,MAAM;aAAW,4BAA4B;YAShG;AAED,wBAAgB,yBAAyB,oFAaxC;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,oBAAoB;IACnC,0DAA0D;IAC1D,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,kEAAkE;IAClE,UAAU,EAAE,sBAAsB,CAAC,aAAa,CAAC,CAAC;IAClD;;;;;OAKG;IACH,oBAAoB,EAAE,MAAM,CAAC;IAC7B,wDAAwD;IACxD,eAAe,EAAE,gBAAgB,EAAE,CAAC;CACrC;AAED,MAAM,WAAW,sBAAsB;IACrC;;;;;;;OAOG;IACH,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,wBAAgB,mBAAmB,sHAsDlC;AAED,wBAAgB,uBAAuB,+DAatC"}
@@ -0,0 +1,2 @@
1
+ export { useCreateSlackAdminConfig, useDeleteSlackAdminConfig, useListSlackAdminConfigs, useSlackEffectiveConfig, useUpdateSlackAdminConfig } from './configs';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/v2/features/slack/api/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,yBAAyB,EACzB,yBAAyB,EACzB,wBAAwB,EACxB,uBAAuB,EACvB,yBAAyB,EAC1B,MAAM,WAAW,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { FC } from 'react';
2
+ /**
3
+ * Exact Figma config-block glyphs (frame 683:672245, nodes
4
+ * 683:672512 `mail` + 683:672536 `mdi:message-outline`). Inlined as
5
+ * components rather than imported from the curated `icons` namespace
6
+ * because that set ships neither this stroked mail icon nor a
7
+ * message-outline glyph. Colour is fixed to Neutrals/Gray 2 (#4D596C)
8
+ * to match the design; the 18px viewBox matches the Figma asset.
9
+ */
10
+ interface IconProps {
11
+ size?: number;
12
+ }
13
+ export declare const ConfigMailIcon: FC<IconProps>;
14
+ export declare const ConfigMessageIcon: FC<IconProps>;
15
+ export {};
16
+ //# sourceMappingURL=ConfigBlockIcons.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConfigBlockIcons.d.ts","sourceRoot":"","sources":["../../../../../src/v2/features/slack/components/ConfigBlockIcons.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAE3B;;;;;;;GAOG;AAEH,UAAU,SAAS;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,cAAc,EAAE,EAAE,CAAC,SAAS,CAUxC,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,EAAE,CAAC,SAAS,CAO3C,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { FC } from 'react';
2
+ /**
3
+ * Inlined Slack logomark — same SVG used by the agent app's
4
+ * features/slack/components/SlackLogo. Duplicated rather than
5
+ * shared via @hiver/ui because that package doesn't curate
6
+ * third-party logos. If we add more inline brand SVGs (Teams,
7
+ * Discord, etc.), lift them into a shared 'brand-logos' module then.
8
+ */
9
+ export declare const SlackLogo: FC<{
10
+ size?: number;
11
+ }>;
12
+ //# sourceMappingURL=SlackLogo.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SlackLogo.d.ts","sourceRoot":"","sources":["../../../../../src/v2/features/slack/components/SlackLogo.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAE3B;;;;;;GAMG;AACH,eAAO,MAAM,SAAS,EAAE,EAAE,CAAC;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAO3C,CAAC"}
@@ -0,0 +1,5 @@
1
+ export declare const SLACK_BASE_URL = "/v1/connectors/slack";
2
+ export declare const SLACK_ADMIN_CONFIGS_API: string;
3
+ export declare const SLACK_ADMIN_CONFIG_BY_ID_API: string;
4
+ export declare const SLACK_EFFECTIVE_CONFIG_API: string;
5
+ //# sourceMappingURL=api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../../../src/v2/features/slack/constants/api.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc,yBAAyB,CAAC;AAOrD,eAAO,MAAM,uBAAuB,EAAE,MAA0C,CAAC;AACjF,eAAO,MAAM,4BAA4B,EAAE,MAAoD,CAAC;AAChG,eAAO,MAAM,0BAA0B,EAAE,MAA8C,CAAC"}
@@ -0,0 +1,27 @@
1
+ import { AppController, AppControllerArgs } from '../../app/connectors/pages/app-detail/schema';
2
+ /**
3
+ * Slack's AppController. Reads + writes the admin connector_configs
4
+ * collection via the connector_admin_routes endpoints.
5
+ *
6
+ * Backend stores ONE row per (ug_id, sm_id, connector_type) tuple.
7
+ * The UI presents a single form (N mailboxes selected + 1 role) so
8
+ * the controller's save fans out into create/update/delete calls
9
+ * to keep the configs collection in sync with the form state.
10
+ *
11
+ * Slack runs entirely on per-agent USER tokens — there is no
12
+ * workspace (bot) OAuth step. The workspace connector is a
13
+ * credential-less anchor created (and enabled) server-side by the
14
+ * save below; agents connect their own Slack from the agent panel.
15
+ *
16
+ * Mode-aware:
17
+ * - `template` mode (URL = /template/app/:templateId, pre-install):
18
+ * skip the configs list query (none can exist for a non-installed
19
+ * connector). Save sends the template id as workspace_connector_id;
20
+ * the backend resolver creates the anchor row and returns its id,
21
+ * then we navigate to /connector/app/:installId. No OAuth.
22
+ * - `connector` mode (URL = /connector/app/:connectorId, post-
23
+ * install): fetch the configs list, prefill the form, save sends
24
+ * the install id directly.
25
+ */
26
+ export declare function useSlackController({ mode, id }: AppControllerArgs): AppController;
27
+ //# sourceMappingURL=controller.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../../../src/v2/features/slack/controller.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,6CAA6C,CAAC;AAIpG;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,iBAAiB,GAAG,aAAa,CAsFjF"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * Wire types for the Slack admin config endpoints in custom-
3
+ * integrations (see connector_admin_routes.py + connector_config_
4
+ * requests.py).
5
+ *
6
+ * Backend stores ONE row per (ug_id, sm_id) — so enabling Slack for
7
+ * multiple shared mailboxes means N create calls, one per sm_id.
8
+ * The UI surfaces this as a "select N mailboxes" multi-select and
9
+ * the controller fans the writes out.
10
+ */
11
+ export type RoleAccessMode = 'all_roles' | 'specific_roles' | 'none';
12
+ export interface RoleAccessRequest {
13
+ mode: RoleAccessMode;
14
+ roles: string[];
15
+ }
16
+ export interface ConnectorConfigPayload {
17
+ visible_in_mailboxes: boolean;
18
+ role_access: RoleAccessRequest;
19
+ }
20
+ export interface EnableConnectorConfigRequest {
21
+ sm_id: string;
22
+ ug_id: string;
23
+ workspace_connector_id: string;
24
+ config: ConnectorConfigPayload;
25
+ }
26
+ export interface UpdateConnectorConfigRequest {
27
+ config: ConnectorConfigPayload;
28
+ }
29
+ export interface RoleAccessResponse {
30
+ mode: RoleAccessMode;
31
+ roles: string[];
32
+ }
33
+ export interface ConnectorConfigPayloadResponse {
34
+ visibleInMailboxes: boolean;
35
+ roleAccess: RoleAccessResponse;
36
+ }
37
+ export interface SlackAdminConfig {
38
+ /** Backend's `_id` — used as the PATCH/DELETE path param. */
39
+ id: string;
40
+ connectorType: 'slack';
41
+ smId: string;
42
+ ugId: string;
43
+ workspaceConnectorId: string;
44
+ status: 'enabled' | 'disabled';
45
+ config: ConnectorConfigPayloadResponse;
46
+ createdAt: string;
47
+ updatedAt: string;
48
+ }
49
+ export interface ListSlackAdminConfigsResponse {
50
+ configs: SlackAdminConfig[];
51
+ }
52
+ export type EffectiveConfigReason = 'config_not_found' | 'role_not_allowed' | 'user_not_in_mailbox' | 'feature_flag_off' | 'effective';
53
+ export interface EffectiveConfigResponse {
54
+ enabled: boolean;
55
+ reason: EffectiveConfigReason;
56
+ config?: SlackAdminConfig;
57
+ }
58
+ //# sourceMappingURL=wire.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wire.d.ts","sourceRoot":"","sources":["../../../../../src/v2/features/slack/types/wire.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,MAAM,MAAM,cAAc,GAAG,WAAW,GAAG,gBAAgB,GAAG,MAAM,CAAC;AAErE,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,cAAc,CAAC;IACrB,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAGD,MAAM,WAAW,sBAAsB;IACrC,oBAAoB,EAAE,OAAO,CAAC;IAC9B,WAAW,EAAE,iBAAiB,CAAC;CAChC;AAED,MAAM,WAAW,4BAA4B;IAC3C,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,sBAAsB,EAAE,MAAM,CAAC;IAC/B,MAAM,EAAE,sBAAsB,CAAC;CAChC;AAED,MAAM,WAAW,4BAA4B;IAC3C,MAAM,EAAE,sBAAsB,CAAC;CAChC;AAOD,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,cAAc,CAAC;IACrB,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,8BAA8B;IAC7C,kBAAkB,EAAE,OAAO,CAAC;IAC5B,UAAU,EAAE,kBAAkB,CAAC;CAChC;AAED,MAAM,WAAW,gBAAgB;IAC/B,6DAA6D;IAC7D,EAAE,EAAE,MAAM,CAAC;IACX,aAAa,EAAE,OAAO,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,oBAAoB,EAAE,MAAM,CAAC;IAC7B,MAAM,EAAE,SAAS,GAAG,UAAU,CAAC;IAC/B,MAAM,EAAE,8BAA8B,CAAC;IACvC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,6BAA6B;IAC5C,OAAO,EAAE,gBAAgB,EAAE,CAAC;CAC7B;AAED,MAAM,MAAM,qBAAqB,GAC7B,kBAAkB,GAClB,kBAAkB,GAClB,qBAAqB,GACrB,kBAAkB,GAClB,WAAW,CAAC;AAEhB,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,qBAAqB,CAAC;IAC9B,MAAM,CAAC,EAAE,gBAAgB,CAAC;CAC3B"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/v2/features/template-library/components/library-card-list/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAc,MAAM,OAAO,CAAC;AAiBvC,UAAU,qBAAqB;IAC7B,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAED,eAAO,MAAM,eAAe,EAAE,EAAE,CAAC,qBAAqB,CA8DrD,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/v2/features/template-library/components/library-card-list/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAc,MAAM,OAAO,CAAC;AAkBvC,UAAU,qBAAqB;IAC7B,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAED,eAAO,MAAM,eAAe,EAAE,EAAE,CAAC,qBAAqB,CAwErD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"connector-template.d.ts","sourceRoot":"","sources":["../../../../../src/v2/testing/mocks/handlers/connector-template.ts"],"names":[],"mappings":"AAsQA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAAyB,CAAC;AAwErD,eAAO,MAAM,QAAQ,6BAYpB,CAAC"}
1
+ {"version":3,"file":"connector-template.d.ts","sourceRoot":"","sources":["../../../../../src/v2/testing/mocks/handlers/connector-template.ts"],"names":[],"mappings":"AAuSA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAAyB,CAAC;AAwErD,eAAO,MAAM,QAAQ,6BAYpB,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare const handlers: import('msw').HttpHandler[];
2
+ export declare const __resetSlackAdminMockState: () => void;
3
+ //# sourceMappingURL=slack.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slack.d.ts","sourceRoot":"","sources":["../../../../../src/v2/testing/mocks/handlers/slack.ts"],"names":[],"mappings":"AAoHA,eAAO,MAAM,QAAQ,6BAA+E,CAAC;AAErG,eAAO,MAAM,0BAA0B,YAEtC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../../../src/v2/testing/mocks/handlers.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,QAAQ,6BASpB,CAAC"}
1
+ {"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../../../src/v2/testing/mocks/handlers.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,QAAQ,6BAUpB,CAAC"}
@@ -112,6 +112,14 @@ export type AdvancedFeaturesV2 = Record<string, {
112
112
  }>;
113
113
  export interface IConnectorDetails {
114
114
  id: string;
115
+ /**
116
+ * The marketplace template this install was cloned from. Distinct from
117
+ * `id`, which is the per-UG install id. The new /connector/app/:id
118
+ * surface is keyed on the template id, so the api-view → app-detail
119
+ * redirect for installed apps needs this field to avoid passing the
120
+ * install id where a template id is expected.
121
+ */
122
+ templateId?: string;
115
123
  type: string;
116
124
  authDetails?: IAuthDetails;
117
125
  isAuthenticated?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"connector.d.ts","sourceRoot":"","sources":["../../../src/v2/types/connector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connector.d.ts","sourceRoot":"","sources":["../../../src/v2/types/connector.ts"],"names":[],"mappings":"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"}