@trackunit/iris-app-api 2.3.10 → 2.4.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 (55) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/migrations/entry.js.map +1 -0
  3. package/migrations/v2-4-0/add-ai-navigation.js +197 -0
  4. package/migrations/v2-4-0/add-ai-navigation.js.map +1 -0
  5. package/migrations.json +7 -1
  6. package/package.json +1 -1
  7. package/src/index.d.ts +4 -0
  8. package/src/index.js +4 -0
  9. package/src/index.js.map +1 -0
  10. package/src/types/aiNavigableExtension.d.ts +35 -0
  11. package/src/types/aiNavigableExtension.js +50 -0
  12. package/src/types/aiNavigableExtension.js.map +1 -0
  13. package/src/types/cspDirectives.js.map +1 -0
  14. package/src/types/defaultValidHosts.js.map +1 -0
  15. package/src/types/extensions/adminExtensionManifest.d.ts +2 -1
  16. package/src/types/extensions/adminExtensionManifest.js.map +1 -0
  17. package/src/types/extensions/assetEventsActionsExtensionManifest.d.ts +2 -1
  18. package/src/types/extensions/assetEventsActionsExtensionManifest.js.map +1 -0
  19. package/src/types/extensions/assetHomeExtensionManifest.d.ts +2 -1
  20. package/src/types/extensions/assetHomeExtensionManifest.js.map +1 -0
  21. package/src/types/extensions/customerHomeExtensionManifest.d.ts +2 -1
  22. package/src/types/extensions/customerHomeExtensionManifest.js.map +1 -0
  23. package/src/types/extensions/fleetExtensionManifest.d.ts +2 -1
  24. package/src/types/extensions/fleetExtensionManifest.js.map +1 -0
  25. package/src/types/extensions/irisAppSettingsExtensionManifest.d.ts +2 -1
  26. package/src/types/extensions/irisAppSettingsExtensionManifest.js.map +1 -0
  27. package/src/types/extensions/lifecycleExtensionManifest.js.map +1 -0
  28. package/src/types/extensions/reportExtensionManifest.js.map +1 -0
  29. package/src/types/extensions/serversideApiExtensionManifest.js.map +1 -0
  30. package/src/types/extensions/siteHomeExtensionManifest.d.ts +2 -1
  31. package/src/types/extensions/siteHomeExtensionManifest.js.map +1 -0
  32. package/src/types/extensions/widgetExtensionManifest.js.map +1 -0
  33. package/src/types/extractAiNavigationFromTanstackRouter.d.ts +33 -0
  34. package/src/types/extractAiNavigationFromTanstackRouter.js +60 -0
  35. package/src/types/extractAiNavigationFromTanstackRouter.js.map +1 -0
  36. package/src/types/iconImage.js.map +1 -0
  37. package/src/types/icons.generated.js.map +1 -0
  38. package/src/types/irisAiNavigation.d.ts +41 -0
  39. package/src/types/irisAiNavigation.js +3 -0
  40. package/src/types/irisAiNavigation.js.map +1 -0
  41. package/src/types/irisAiNavigationValidation.d.ts +17 -0
  42. package/src/types/irisAiNavigationValidation.js +207 -0
  43. package/src/types/irisAiNavigationValidation.js.map +1 -0
  44. package/src/types/irisAppCspInput.js.map +1 -0
  45. package/src/types/irisAppCustomFields.js.map +1 -0
  46. package/src/types/irisAppExtensionManifest.js.map +1 -0
  47. package/src/types/irisAppInstallationConfig.js.map +1 -0
  48. package/src/types/irisAppManifest.js.map +1 -0
  49. package/src/types/irisAppMarketplace.js.map +1 -0
  50. package/src/types/loadNxRootPackageJson.js.map +1 -0
  51. package/src/types/modulefederation.js.map +1 -0
  52. package/src/types/permissionsPolicy.js.map +1 -0
  53. package/src/types/scopes.js.map +1 -0
  54. package/src/types/serversideInterfaces.js.map +1 -0
  55. package/src/types/subscriptionPackages.js.map +1 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"irisAppManifest.js","sourceRoot":"","sources":["../../../../../../libs/iris-app-sdk/iris-app-api/src/types/irisAppManifest.ts"],"names":[],"mappings":"","sourcesContent":["import { CSPDirectives } from \"./cspDirectives\";\nimport { AdminExtensionManifest } from \"./extensions/adminExtensionManifest\";\nimport { AssetEventsActionsExtensionManifest } from \"./extensions/assetEventsActionsExtensionManifest\";\nimport { AssetHomeExtensionManifest } from \"./extensions/assetHomeExtensionManifest\";\nimport { CustomerHomeExtensionManifest } from \"./extensions/customerHomeExtensionManifest\";\nimport { FleetExtensionManifest } from \"./extensions/fleetExtensionManifest\";\nimport { IrisAppSettingsExtensionManifest } from \"./extensions/irisAppSettingsExtensionManifest\";\nimport { LifecycleExtensionManifest } from \"./extensions/lifecycleExtensionManifest\";\nimport { ReportExtensionManifest } from \"./extensions/reportExtensionManifest\";\nimport { ServersideApiExtensionManifest } from \"./extensions/serversideApiExtensionManifest\";\nimport { SiteHomeExtensionManifest } from \"./extensions/siteHomeExtensionManifest\";\nimport { WidgetExtensionManifest } from \"./extensions/widgetExtensionManifest\";\nimport {\n BooleanFieldDefinition,\n DateFieldDefinition,\n DecimalNumberFieldDefinition,\n DropDownFieldDefinition,\n EmailFieldDefinition,\n FileFieldDefinition,\n IntegerNumberFieldDefinition,\n JsonFieldDefinition,\n MonetaryFieldDefinition,\n PhoneNumberFieldDefinition,\n StringFieldDefinition,\n StringListFieldDefinition,\n WebAddressFieldDefinition,\n} from \"./irisAppCustomFields\";\nimport {\n InstallationConfig,\n InstallationConfigAllowOrganizationIds,\n InstallationConfigExcludeAccountIds,\n InstallationConfigLegacy,\n} from \"./irisAppInstallationConfig\";\nimport { Marketplace, MarketplaceOneZero } from \"./irisAppMarketplace\";\nimport { PermissionsPolicy } from \"./permissionsPolicy\";\nimport { Scope } from \"./scopes\";\n\nexport interface IrisAppManifest\n extends Omit<\n IrisAppManifestVersionOneZero,\n \"specVersion\" | \"activationMode\" | \"marketplace\" | \"validForAccountIds\" | \"consentConfig\"\n > {\n /**\n * A spec version for the manifest.\n * This should not be changed manually.\n */\n specVersion: \"1.1\";\n\n /**\n * Which module format the app is built with.\n * If not set, it is assumed to be \"cjs\".\n */\n moduleFormat?: \"esm\" | \"cjs\";\n\n /**\n * Configuration for the installation of the app.\n *\n * Each parameter can be combined to create rules to target specific customers.\n * Each parameter works as a filter to decide if an app is available to a specific customer.\n */\n installation:\n | InstallationConfig\n | InstallationConfigExcludeAccountIds\n | InstallationConfigAllowOrganizationIds\n | InstallationConfigLegacy;\n\n /**\n * A configuration object for the Marketplace entry\n */\n marketplace: Marketplace;\n\n /**\n * Scopes needed in app tokens, these scopes are used from the token - when contacting Trackunits backend.\n */\n scopes?: RequiredOrOptionalScope | Array<RequiredOrOptionalScope>;\n\n /**\n * Configuration of callback to get credentials to call the API after app installation.\n */\n tokenCallback?: {\n url: string;\n };\n\n /**\n * Configuration of the Content Security Policy (CSP) header for the app.\n *\n * **Sandbox behavior**: Values specified in the `sandbox` property are merged with the following defaults:\n * `[\"allow-scripts\", \"allow-downloads\", \"allow-same-origin\", \"allow-forms\", \"allow-popups\"]`\n *\n * We support a subset of the CSP directives. The supported directives are:\n * - [child-src](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/child-src)\n * - [connect-src](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/connect-src)\n * - [font-src](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/font-src)\n * - [form-action](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/form-action)\n * - [frame-src](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/frame-src)\n * - [img-src](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/img-src)\n * - [media-src](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/media-src)\n * - [script-src](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/script-src)\n * - [script-src-attr](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/script-src-attr)\n * - [script-src-elem](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/script-src-elem)\n * - [style-src](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/style-src)\n * - [style-src-attr](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/style-src-attr)\n * - [style-src-elem](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/style-src-elem)\n * - [worker-src](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/worker-src)\n * - [default-src](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/default-src)\n *\n * More information about CSP can be found [here](https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP).\n */\n cspHeader?: Partial<CSPDirectives>;\n\n /**\n * Configuration of the Permissions policy of the app\n *\n * More information about Permissions policies can be found [here](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Permissions-Policy).\n */\n permissionsPolicy?: PermissionsPolicy;\n}\n\nexport type RequiredOrOptionalScope = { scope: Scope; optional?: boolean };\n\nexport declare type IrisAppExtension =\n | AssetHomeExtensionManifest\n | IrisAppSettingsExtensionManifest\n | AdminExtensionManifest\n | FleetExtensionManifest\n | SiteHomeExtensionManifest\n | WidgetExtensionManifest\n | ReportExtensionManifest\n | CustomerHomeExtensionManifest\n | AssetEventsActionsExtensionManifest\n | LifecycleExtensionManifest\n | ServersideApiExtensionManifest;\n\nexport declare type CustomFieldDefinition =\n | BooleanFieldDefinition\n | DecimalNumberFieldDefinition\n | IntegerNumberFieldDefinition\n | DateFieldDefinition\n | DropDownFieldDefinition\n | StringFieldDefinition\n | StringListFieldDefinition\n | EmailFieldDefinition\n | PhoneNumberFieldDefinition\n | WebAddressFieldDefinition\n | JsonFieldDefinition\n | MonetaryFieldDefinition\n | FileFieldDefinition;\n\n/**\n * @deprecated\n */\nexport interface ConsentConfig {\n /**\n * The application type. Should be one of WEB or BROWSER.\n */\n applicationType: \"WEB\" | \"BROWSER\";\n /**\n * List of scopes required by the application.\n */\n scopes: Array<string>;\n /**\n * List of redirect URIs to be used when returning an authorization code.\n */\n redirectUris?: Array<string>;\n}\n\nexport interface Dependencies {\n [packageName: string]: string;\n}\n\nexport type PublicIrisAppManifest = Omit<IrisAppManifest, \"dependencies\" | \"devDependencies\" | \"installation\"> & {\n /**\n * Relative path for this iris app.\n *\n * @returns {string} the path to the iris app\n */\n irisAppPath: string;\n\n installation: Omit<InstallationConfig, \"accountIds\"> | Omit<InstallationConfigLegacy, \"accountIds\">;\n};\n\n/**\n * @deprecated\n */\nexport interface IrisAppManifestVersionOneZero {\n /**\n * A spec version for the manifest.\n * This should not be changed manually.\n */\n specVersion: \"1.0\";\n /**\n * The name of the exposed module from module federation build into the remoteEntry.js.\n * Basically the name of your app including workspace name, automatically parsed from your app-specific package.json.\n */\n moduleFederationName: string;\n\n /**\n * A configuration object for handling scoped token acquisition.\n *\n * @deprecated Use `scopes` instead.\n */\n consentConfig?: ConsentConfig | \"inherit\";\n\n /**\n * Controls the visibility of your app and how it is installed.\n * The different modes are:\n * - Enabled means its enabled on the subscription when this Iris app is approved.\n * - Visible means it will be visible to the customer to choose for them selves to enable/disable it.\n *\n * - FORCE_ENABLE then it can not be removed by the end customer, and will be installed based on the selected subscription package.\n * - DEFAULT_ENABLE means it will be enabled when a customer activates a new subscription package.\n * - ALWAYS_VISIBLE then it will always be visible for all customers.\n * - CONTROLLED_MANUAL_INSTALLATION then it will be controlled by the team that activates the subscription package for the customer, not activating the app.\n * - CONTROLLED_AUTOMATIC_INSTALLATION then it will be controlled by the team that activates the subscription package for the customer, also adding.\n *\n * All modes will take into consideration both { IrisAppManifestVersionOneZero.validForAccountIds} and { IrisAppManifestVersionOneZero.marketplace}.allowForPackage\n *\n * @deprecated Use `installation.policy` instead.\n */\n activationMode: ActivationMode;\n\n /**\n * A list of any external domains that the app needs to communicate with.\n * The list is audited in the approval step of the app and every external API call\n * must be listed here to get through the verification process.\n * Even if it goes through without being listed, your app will fail to call the endpoint.\n *\n * @deprecated Use `cspHeader` instead\n */\n validDomains?: Array<string>;\n /**\n * Put `ALL_ACCOUNTS` in if your app is available to all users.\n * If you want to only make it available to certain users, provide a list of account ID's as strings.\n */\n validForAccountIds: \"ALL_ACCOUNTS\" | Array<string>;\n /**\n * A configuration object for the Marketplace entry.\n * Holds all the settings associated with your apps listing on the marketplace.\n */\n marketplace: MarketplaceOneZero;\n /**\n * A full list of runtime dependencies for the App.\n * Used for performance optimization and security scans.\n * It is automatically parsed from the package.json in root.\n */\n dependencies: Dependencies;\n\n /**\n * A full list of dev dependencies for the App.\n * Used for security scans.\n */\n devDependencies: Dependencies;\n\n /**\n * A list of extensions to the UI that this app manifest exposes.\n * Extensions are automatically added when a new extension is generated.\n * The array contains an import of the extension manifest within the extension.\n * If an extension is required in multiple apps, the you must manually add it to the arrays of those apps.\n */\n extensions: Array<IrisAppExtension>;\n\n /**\n * A list of custom field definitions.\n */\n customFieldDefinitions?: Array<CustomFieldDefinition>;\n}\n\n/**\n * @deprecated\n */\nexport type ActivationMode =\n | \"FORCE_ENABLE\"\n | \"DEFAULT_ENABLE\"\n | \"ALWAYS_VISIBLE\"\n | \"CONTROLLED_MANUAL_INSTALLATION\"\n | \"CONTROLLED_AUTOMATIC_INSTALLATION\";\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"irisAppMarketplace.js","sourceRoot":"","sources":["../../../../../../libs/iris-app-sdk/iris-app-api/src/types/irisAppMarketplace.ts"],"names":[],"mappings":";;;AAoHa,QAAA,cAAc,GAAG;IAC5B,eAAe;IACf,kBAAkB;IAClB,YAAY;IACZ,YAAY;IACZ,aAAa;IACb,YAAY;IACZ,eAAe;IACf,sBAAsB;IACtB,sBAAsB;IACtB,uBAAuB;IACvB,mBAAmB;IACnB,mBAAmB;IACnB,yBAAyB;IACzB,gBAAgB;CACR,CAAC","sourcesContent":["import { SubscriptionPackage } from \"./subscriptionPackages\";\n\n/**\n * An image that should be shown in the marketplace for this app.\n */\nexport interface MarketplaceAssetImage {\n /**\n * The type of the Asset\n */\n type: \"IMAGE\";\n /**\n * A Path to an image in the assets folder of the app.\n * Example: typing \"MyImage.png\" here, will show the file \"apps/my-app/assets/MyImage.png\"\n */\n path: string;\n}\n\n/**\n * A video that should be shown in the marketplace for this app.\n */\nexport interface MarketplaceAssetVideo {\n /**\n * The type of the Asset\n */\n type: \"VIDEO\";\n /**\n * An url for a youtube video.\n */\n url: string;\n}\n\n/**\n * A video or image that should be shown in the marketplace for this app.\n */\nexport type MarketplaceAsset = MarketplaceAssetImage | MarketplaceAssetVideo;\n\n/**\n * An object of data used when the app is displayed in the marketplace\n */\nexport interface Marketplace extends Omit<MarketplaceOneZero, \"allowForPackage\"> {\n /**\n * Indicate if the app should be shown in the Trackunit Marketplace.\n */\n showInMarketplace: boolean;\n\n /**\n * Image paths referenced by the full description markdown, resolved relative to the assets folder.\n * Auto-populated at build time by the Iris app webpack/vite plugins; do not set manually.\n * Used server-side to authorize which asset files can be served publicly.\n */\n fullDescriptionImages?: Array<string>;\n}\n\n/**\n * An object of data used when the app is displayed in the marketplace\n *\n * @deprecated\n */\nexport interface MarketplaceOneZero {\n /**\n * Name used for the marketplace.\n */\n name: string;\n\n /**\n * A short summary used for the card on marketplace.\n * For longer description add a description.md file in the /assets/ folder of the app, and set the fullDescriptionPath.\n */\n description: string;\n\n /**\n * The path to a markdown file that explains your app in more detail.\n * The file must be stored in the assets folder within the app directory to work.\n * The path is relative to that directory.\n * For a file apps/my-app/assets/description.md, this parameter should be: description.md\n */\n fullDescriptionPath: string;\n\n /**\n * Path to an image in the assets folder of the app.\n * The image will be shown in the marketplace.\n * Example: typing \"MyImage.png\" here, will show the file \"apps/my-app/assets/MyImage.png\"\n */\n logoPath?: string;\n /**\n * A list of relevant tags to make your app easier to find.\n */\n tags?: Array<string>;\n /**\n * Categories used for the app in the marketplace.\n */\n categories?: Array<Category>;\n /**\n * Assets (images and videos) used for the marketplace.\n */\n assets?: Array<MarketplaceAsset>;\n /**\n * Defines with which subscription packages your app is compatible.\n * Take great care when entering this, as your app might bug out (if it went through the approval phase in the first place)\n * if what is stated here does not match reality.\n */\n allowForPackage: \"ALL_PACKAGES\" | Array<SubscriptionPackage>;\n /**\n * Homepage of the company building the app for the marketplace.\n */\n homePageUrl?: string;\n /**\n * The direct support page for this app.\n */\n supportUrl?: string;\n /**\n * The url of the blueprint for the marketplace.\n */\n blueprintUrl?: string;\n}\n\nexport const CategoryValues = [\n \"AI_AND_AGENTS\",\n \"ASSET_MANAGEMENT\",\n \"BLUEPRINTS\",\n \"COMPLIANCE\",\n \"CONSULTANTS\",\n \"DATA_FEEDS\",\n \"DOCUMENTATION\",\n \"EFFECTIVE_OPERATIONS\",\n \"EQUIPMENT_PROTECTION\",\n \"OEM_PARTNER_SOLUTIONS\",\n \"OPTIMIZE_BUSINESS\",\n \"RENTAL_MANAGEMENT\",\n \"SERVICE_AND_MAINTENANCE\",\n \"SUSTAINABILITY\",\n] as const;\n\nexport declare type Category = (typeof CategoryValues)[number];\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loadNxRootPackageJson.js","sourceRoot":"","sources":["../../../../../../libs/iris-app-sdk/iris-app-api/src/types/loadNxRootPackageJson.ts"],"names":[],"mappings":";;;;AAAA,+CAAyB;AACzB,mDAA6B;AAQ7B;;;;;;;;;;;;;;;GAeG;AACI,MAAM,qBAAqB,GAAG,CAAC,YAAoB,EAAe,EAAE;IACzE,MAAM,qBAAqB,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;IAEtE,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAC,EAAE,CAAC;QACnD,MAAM,IAAI,KAAK,CACb,6BAA6B,qBAAqB,8DAA8D,CACjH,CAAC;IACJ,CAAC;IAED,MAAM,WAAW,GAAgE,IAAI,CAAC,KAAK,CACzF,EAAE,CAAC,YAAY,CAAC,qBAAqB,EAAE,OAAO,CAAC,CAChD,CAAC;IACF,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,YAAY,CAAC,EAAE,CAAC;QACvC,WAAW,CAAC,YAAY,GAAG,EAAE,CAAC;IAChC,CAAC;IACD,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,eAAe,CAAC,EAAE,CAAC;QAC1C,WAAW,CAAC,eAAe,GAAG,EAAE,CAAC;IACnC,CAAC;IACD,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/B,WAAW,CAAC,IAAI,GAAG,cAAc,CAAC;IACpC,CAAC;IACD,8DAA8D;IAC9D,OAAO,WAAqC,CAAC;AAC/C,CAAC,CAAC;AAvBW,QAAA,qBAAqB,yBAuBhC","sourcesContent":["import * as fs from \"fs\";\nimport * as path from \"path\";\n\ntype PackageJson = {\n name: string;\n dependencies: Record<string, string>;\n devDependencies: Record<string, string>;\n};\n\n/**\n * Get the package.json of the root of the NX workspace.\n *\n * Implementation note: `fs` and `path` are imported as namespaces rather than\n * with named imports (e.g. `import { join } from \"path\"`). This module is\n * re-exported from the `@trackunit/iris-app-api` barrel and therefore gets\n * pulled into browser bundles (Storybook, manager) even though it is only\n * meant to run at build time. Vite externalizes Node built-ins to a stub\n * (`__vite-browser-external`) that exposes no individual named exports, so\n * named imports break the bundle. Namespace imports bundle cleanly because\n * Rollup does not validate property access against the externalized stub.\n * The function still throws sensibly if it ever gets executed in a browser.\n *\n * @param pathToNxRoot - The path to the root of the NX workspace\n * @returns {PackageJson} The package.json of the root of the NX workspace\n */\nexport const loadNxRootPackageJson = (pathToNxRoot: string): PackageJson => {\n const pathToPackageJsonPath = path.join(pathToNxRoot, \"package.json\");\n\n if (!Boolean(fs.existsSync(pathToPackageJsonPath))) {\n throw new Error(\n `Package.json not found at ${pathToPackageJsonPath}, make sure to pass the path to the root of the NX workspace`\n );\n }\n\n const packageJson: Record<string, string | Record<string, string> | undefined> = JSON.parse(\n fs.readFileSync(pathToPackageJsonPath, \"utf-8\")\n );\n if (!Boolean(packageJson.dependencies)) {\n packageJson.dependencies = {};\n }\n if (!Boolean(packageJson.devDependencies)) {\n packageJson.devDependencies = {};\n }\n if (!Boolean(packageJson.name)) {\n packageJson.name = \"unknown-name\";\n }\n // eslint-disable-next-line @trackunit/no-typescript-assertion\n return packageJson as unknown as PackageJson;\n};\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"modulefederation.js","sourceRoot":"","sources":["../../../../../../libs/iris-app-sdk/iris-app-api/src/types/modulefederation.ts"],"names":[],"mappings":";AAAA,sJAAsJ","sourcesContent":["// Source: https://github.com/webpack/webpack/blob/1c9b1b7a2136d4d9a27352fdbdf389490cca6460/declarations/plugins/container/ModuleFederationPlugin.d.ts\n\n/**\n * Modules that should be shared in the share scope. When provided, property names are used to match requested modules in this compilation.\n */\nexport type Shared = Array<SharedItem | SharedObject> | SharedObject;\n\n/**\n * A module that should be shared in the share scope.\n */\nexport type SharedItem = string;\n\n/**\n * Modules that should be shared in the share scope. Property names are used to match requested modules in this compilation. Relative requests are resolved, module requests are matched unresolved, absolute paths will match resolved requests. A trailing slash will match all requests with this prefix. In this case shareKey must also have a trailing slash.\n */\nexport interface SharedObject {\n /**\n * Modules that should be shared in the share scope.\n */\n [k: string]: SharedConfig | SharedItem;\n}\n\n/**\n * Advanced configuration for modules that should be shared in the share scope.\n */\nexport interface SharedConfig {\n /**\n * Include the provided and fallback module directly instead behind an async request. This allows to use this shared module in initial load too. All possible shared modules need to be eager too.\n */\n eager?: boolean;\n /**\n * Provided module that should be provided to share scope. Also acts as fallback module if no shared module is found in share scope or version isn't valid. Defaults to the property name.\n */\n import?: false | SharedItem;\n /**\n * Package name to determine required version from description file. This is only needed when package name can't be automatically determined from request.\n */\n packageName?: string;\n /**\n * Version requirement from module in share scope.\n */\n requiredVersion?: false | string;\n /**\n * Module is looked up under this key from the share scope.\n */\n shareKey?: string;\n /**\n * Share scope name.\n */\n shareScope?: string;\n /**\n * Allow only a single version of the shared module in share scope (disabled by default).\n */\n singleton?: boolean;\n /**\n * Do not accept shared module if version is not valid (defaults to yes, if local fallback module is available and shared module is not a singleton, otherwise no, has no effect if there is no required version specified).\n */\n strictVersion?: boolean;\n /**\n * Version of the provided module. Will replace lower matching versions, but not higher.\n */\n version?: false | string;\n}\n\n/**\n * Modules that should be exposed by this container. When provided, property name is used as public name, otherwise public name is automatically inferred from request.\n */\nexport type Exposes = Array<ExposesItem | ExposesObject> | ExposesObject;\n/**\n * Module that should be exposed by this container.\n */\nexport type ExposesItem = string;\n/**\n * Modules that should be exposed by this container.\n */\nexport type ExposesItems = Array<ExposesItem>;\n\n/**\n * Modules that should be exposed by this container. Property names are used as public paths.\n */\nexport interface ExposesObject {\n /**\n * Modules that should be exposed by this container.\n */\n [k: string]: ExposesConfig | ExposesItem | ExposesItems;\n}\n/**\n * Advanced configuration for modules that should be exposed by this container.\n */\nexport interface ExposesConfig {\n /**\n * Request to a module that should be exposed by this container.\n */\n import: ExposesItem | ExposesItems;\n /**\n * Custom chunk name for the exposed module.\n */\n name?: string;\n}\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"permissionsPolicy.js","sourceRoot":"","sources":["../../../../../../libs/iris-app-sdk/iris-app-api/src/types/permissionsPolicy.ts"],"names":[],"mappings":";;AA8CA,gEAOC;AAVD;;GAEG;AACH,SAAgB,0BAA0B,CAAC,MAAyB;IAClE,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;SAC1B,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;SACvC,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,EAAE,CAC9B,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,IAAI,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,SAAS,IAAI,SAAS,EAAE,CAC/F;SACA,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC","sourcesContent":["type AllowList = \"*\" | Array<\"src\" | \"self\" | `http://${string}` | `https://${string}`>;\n\n/*\n * Based on types from https://github.com/klnjs/basique/blob/master/packages/utils/headers/src/permissions-policy.ts and\n * adapted to our needs.\n */\nexport interface PermissionsPolicy {\n accelerometer?: AllowList;\n \"ambient-light-sensor\"?: AllowList;\n \"attribution-reporting\"?: AllowList;\n autoplay?: AllowList;\n bluetooth?: AllowList;\n camera?: AllowList;\n \"clipboard-read\"?: AllowList;\n \"clipboard-write\"?: AllowList;\n \"cross-origin-isolated\"?: AllowList;\n \"display-capture\"?: AllowList;\n \"document-domain\"?: AllowList;\n \"encrypted-media\"?: AllowList;\n \"execution-while-not-rendered\"?: AllowList;\n \"execution-while-out-of-viewport\"?: AllowList;\n fullscreen?: AllowList;\n geolocation?: AllowList;\n gyroscope?: AllowList;\n hid?: AllowList;\n \"idle-detection\"?: AllowList;\n \"interest-cohort\"?: AllowList;\n magnetometer?: AllowList;\n microphone?: AllowList;\n midi?: AllowList;\n \"navigation-override\"?: AllowList;\n payment?: AllowList;\n \"picture-in-picture\"?: AllowList;\n \"publickey-credentials-get\"?: AllowList;\n \"screen-wake-lock\"?: AllowList;\n serial?: AllowList;\n speaker?: AllowList;\n \"sync-xhr\"?: AllowList;\n usb?: AllowList;\n \"web-share\"?: AllowList;\n \"xr-spatial-tracking\"?: AllowList;\n}\n\n/**\n * Stringifies a PermissionsPolicy, so that it can be added to the `allow` property of an iframe element\n */\nexport function permissionsPolicyStringify(policy: PermissionsPolicy): string {\n return Object.entries(policy)\n .filter(([_, allowlist]) => !!allowlist)\n .map(([directive, allowlist]) =>\n Array.isArray(allowlist) ? `${directive} ${allowlist.join(\" \")}` : `${directive} ${allowlist}`\n )\n .join(\"; \");\n}\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scopes.js","sourceRoot":"","sources":["../../../../../../libs/iris-app-sdk/iris-app-api/src/types/scopes.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;GAaG;;;AAEU,QAAA,YAAY,GAAG;IAC1B,gCAAgC,EAAE,kCAAkC;IACpE,oBAAoB,EAAE,sBAAsB;IAC5C,kBAAkB,EAAE,oBAAoB;IACxC,sBAAsB,EAAE,wBAAwB;IAChD,oBAAoB,EAAE,sBAAsB;IAC5C,sBAAsB,EAAE,wBAAwB;IAChD,sBAAsB,EAAE,wBAAwB;IAChD,4BAA4B,EAAE,8BAA8B;IAC5D,cAAc,EAAE,gBAAgB;IAChC,gCAAgC,EAAE,kCAAkC;IACpE,8BAA8B,EAAE,gCAAgC;IAChE,oBAAoB,EAAE,sBAAsB;IAC5C,0BAA0B,EAAE,4BAA4B;IACxD,oBAAoB,EAAE,sBAAsB;IAC5C,cAAc,EAAE,gBAAgB;IAChC,+BAA+B,EAAE,iCAAiC;IAClE,mBAAmB,EAAE,qBAAqB;IAC1C,yCAAyC,EAAE,2CAA2C;IACtF,uCAAuC,EAAE,yCAAyC;IAClF,yDAAyD,EACvD,2DAA2D;IAC7D,yDAAyD,EACvD,2DAA2D;IAC7D,gFAAgF,EAC9E,kFAAkF;IACpF,4EAA4E,EAC1E,8EAA8E;IAChF,uDAAuD,EAAE,yDAAyD;IAClH,8CAA8C,EAAE,gDAAgD;IAChG,4CAA4C,EAAE,8CAA8C;IAC5F,mBAAmB,EAAE,qBAAqB;IAC1C,uBAAuB,EAAE,yBAAyB;IAClD,oCAAoC,EAAE,sCAAsC;IAC5E,mBAAmB,EAAE,qBAAqB;IAC1C,YAAY,EAAE,cAAc;IAC5B,6BAA6B,EAAE,+BAA+B;IAC9D,oBAAoB,EAAE,sBAAsB;IAC5C,uBAAuB,EAAE,yBAAyB;IAClD,yCAAyC,EAAE,iDAAiD;IAC5F,sBAAsB,EAAE,wBAAwB;IAChD,yCAAyC,EAAE,2CAA2C;IACtF,4BAA4B,EAAE,8BAA8B;IAC5D,+BAA+B,EAAE,iCAAiC;IAClE,0BAA0B,EAAE,4BAA4B;IACxD,6BAA6B,EAAE,+BAA+B;IAC9D,iCAAiC,EAAE,mCAAmC;IACtE,sBAAsB,EAAE,wBAAwB;IAChD,2BAA2B,EAAE,6BAA6B;IAC1D,uCAAuC,EAAE,yCAAyC;IAClF,+BAA+B,EAAE,iCAAiC;IAClE,mCAAmC,EAAE,qCAAqC;IAC1E,wBAAwB,EAAE,0BAA0B;IACpD,sBAAsB,EAAE,wBAAwB;IAChD,2BAA2B,EAAE,6BAA6B;IAC1D,oBAAoB,EAAE,sBAAsB;IAC5C,mCAAmC,EAAE,qCAAqC;IAC1E,sCAAsC,EAAE,wCAAwC;IAChF,8BAA8B,EAAE,gCAAgC;CACxD,CAAC;AAGE,QAAA,UAAU,GAAG;IACxB,UAAU,EAAE,YAAY;CAChB,CAAC;AAGE,QAAA,SAAS,GAAG;IACvB,SAAS,EAAE,WAAW;CACd,CAAC;AAKE,QAAA,SAAS,GAAG,EAAE,GAAG,oBAAY,EAAE,GAAG,kBAAU,EAAE,GAAG,iBAAS,EAAE,CAAC","sourcesContent":["/*\n * Public scopes are typically derived from the TAS permission name together with the\n * securable type prefix, for example:\n * - ACCOUNT + group.manage -> account.group.manage\n * - ACCOUNT + manage -> account.manage\n * - ASSET + view -> asset.view\n *\n * When adding a new public scope here, keep the public definitions aligned with TAS,\n * the Okta scope definitions in `trackunit-terraform/app/okta/`, and\n * `developers-trackunit-com/docs/guides/apps-and-extensions/overview/public-apis/app-tokens.md`.\n *\n * For more information see:\n * https://trackunit.atlassian.net/wiki/spaces/EN/pages/4364599297/Adding+Permissions+to+TAS\n */\n\nexport const accountScope = {\n ACCOUNT_ACCESS_MANAGEMENT_MANAGE: \"account.access-management.manage\",\n ACCOUNT_ALERT_MANAGE: \"account.alert.manage\",\n ACCOUNT_ALERT_VIEW: \"account.alert.view\",\n ACCOUNT_API_KEY_MANAGE: \"account.api-key.manage\",\n ACCOUNT_ASSET_MANAGE: \"account.asset.manage\",\n ACCOUNT_AUDIT_LOG_VIEW: \"account.audit-log.view\",\n ACCOUNT_BILLING_MANAGE: \"account.billing.manage\",\n ACCOUNT_CUSTOM_FIELDS_MANAGE: \"account.custom-fields.manage\",\n ACCOUNT_DELETE: \"account.delete\",\n ACCOUNT_EQUIPMENT_POOLING_MANAGE: \"account.equipment-pooling.manage\",\n ACCOUNT_EQUIPMENT_POOLING_VIEW: \"account.equipment-pooling.view\",\n ACCOUNT_EVENT_MANAGE: \"account.event.manage\",\n ACCOUNT_EVENT_REPORT_ISSUE: \"account.event.report-issue\",\n ACCOUNT_GROUP_MANAGE: \"account.group.manage\",\n ACCOUNT_MANAGE: \"account.manage\",\n ACCOUNT_MARKETPLACE_APP_INSTALL: \"account.marketplace.app.install\",\n ACCOUNT_RENTAL_VIEW: \"account.rental.view\",\n ACCOUNT_SERVICE_MANAGEMENT_NETWORK_MANAGE: \"account.service-management.network.manage\",\n ACCOUNT_SERVICE_MANAGEMENT_NETWORK_VIEW: \"account.service-management.network.view\",\n ACCOUNT_SERVICE_MANAGEMENT_SERVICE_PLAN_ASSIGNMENT_MANAGE:\n \"account.service-management.service-plan.assignment.manage\",\n ACCOUNT_SERVICE_MANAGEMENT_SERVICE_PLAN_ASSIGNMENT_REPORT:\n \"account.service-management.service-plan.assignment.report\",\n ACCOUNT_SERVICE_MANAGEMENT_SERVICE_PLAN_ASSIGNMENT_SERVICE_REGISTRATION_REGISTER:\n \"account.service-management.service-plan.assignment.service-registration.register\",\n ACCOUNT_SERVICE_MANAGEMENT_SERVICE_PLAN_ASSIGNMENT_SERVICE_REGISTRATION_VIEW:\n \"account.service-management.service-plan.assignment.service-registration.view\",\n ACCOUNT_SERVICE_MANAGEMENT_SERVICE_PLAN_ASSIGNMENT_VIEW: \"account.service-management.service-plan.assignment.view\",\n ACCOUNT_SERVICE_MANAGEMENT_SERVICE_PLAN_MANAGE: \"account.service-management.service-plan.manage\",\n ACCOUNT_SERVICE_MANAGEMENT_SERVICE_PLAN_VIEW: \"account.service-management.service-plan.view\",\n ACCOUNT_SITE_MANAGE: \"account.site.manage\",\n ACCOUNT_CUSTOMER_MANAGE: \"account.customer.manage\",\n ACCOUNT_SUPPORT_ACCESS_APPROVAL_FLOW: \"account.support-access.approval-flow\",\n ACCOUNT_USER_MANAGE: \"account.user.manage\",\n ACCOUNT_VIEW: \"account.view\",\n ACCOUNT_IRIS_APP_STORE_SECRET: \"account.iris.app.store-secret\",\n ACCOUNT_IRISX_MANAGE: \"account.irisx.manage\",\n ACCOUNT_BRANDING_MANAGE: \"account.branding.manage\",\n ACCOUNT_REMOTE_COMMAND_CONFIGURATION_VIEW: \"account.remote-commands.configuration-tool.view\",\n ACCOUNT_SUPPORT_ACCESS: \"account.support-access\",\n ACCOUNT_SITE_EMISSIONS_ASSET_HISTORY_VIEW: \"account.site-emissions.asset-history.view\",\n ACCOUNT_SHOW_HISTORICAL_DATA: \"account.show-historical-data\",\n ACCOUNT_MARKETPLACE_APP_APPROVE: \"account.marketplace.app.approve\",\n ACCOUNT_IRIS_APP_DEVELOPER: \"account.iris.app.developer\",\n ACCOUNT_IRISX_ANALYTICS_ADMIN: \"account.irisx.analytics.admin\",\n ACCOUNT_IRISX_ANALYTICS_READ_ONLY: \"account.irisx.analytics.read_only\",\n ACCOUNT_MY_HOME_MANAGE: \"account.my-home.manage\",\n ACCOUNT_MY_HOME_CANVAS_EDIT: \"account.my-home.canvas.edit\",\n ACCOUNT_INTERNAL_TOOLS_PACKAGE_OVERVIEW: \"account.internal-tools.package-overview\",\n ACCOUNT_INTERNAL_TOOLS_BRANDING: \"account.internal-tools.branding\",\n ACCOUNT_SUBSCRIPTION_PACKAGE_MANAGE: \"account.subscription.package-manage\",\n ACCOUNT_TOP_LEVEL_CREATE: \"account.top-level.create\",\n ACCOUNT_PARTNER_MANAGE: \"account.partner.manage\",\n ACCOUNT_ORGANIZATION_MANAGE: \"account.organization.manage\",\n ACCOUNT_LICENSE_VIEW: \"account.license.view\",\n ACCOUNT_SUPPORT_ACCESS_PRE_APPROVED: \"account.support-access.pre-approved\",\n ACCOUNT_SUPPORT_ACCESS_EXTENDED_PERIOD: \"account.support-access.extended-period\",\n ACCOUNT_CLASSIC_MANAGER_ACCESS: \"account.classic-manager.access\",\n} as const;\nexport type AccountScope = (typeof accountScope)[keyof typeof accountScope];\n\nexport const assetScope = {\n ASSET_VIEW: \"asset.view\",\n} as const;\nexport type AssetScope = (typeof assetScope)[keyof typeof assetScope];\n\nexport const siteScope = {\n SITE_VIEW: \"site.view\",\n} as const;\nexport type SiteScope = (typeof siteScope)[keyof typeof siteScope];\n\nexport type Scope = AccountScope | AssetScope | SiteScope;\n\nexport const allScopes = { ...accountScope, ...assetScope, ...siteScope };\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serversideInterfaces.js","sourceRoot":"","sources":["../../../../../../libs/iris-app-sdk/iris-app-api/src/types/serversideInterfaces.ts"],"names":[],"mappings":"","sourcesContent":["export interface IrisAppLifecycleInterface {\n appInstalled?(appToken: string, accountId: string): Promise<unknown>;\n appUpdated?(appToken: string, accountId: string): Promise<unknown>;\n appUninstalled?(appToken: string, accountId: string): Promise<unknown>;\n}\n\nexport type IrisAppLifecycleAppInstalled = NonNullable<IrisAppLifecycleInterface[\"appInstalled\"]>;\nexport type IrisAppLifecycleAppUpdated = NonNullable<IrisAppLifecycleInterface[\"appUpdated\"]>;\nexport type IrisAppLifecycleAppUninstalled = NonNullable<IrisAppLifecycleInterface[\"appUninstalled\"]>;\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subscriptionPackages.js","sourceRoot":"","sources":["../../../../../../libs/iris-app-sdk/iris-app-api/src/types/subscriptionPackages.ts"],"names":[],"mappings":";;;AAAa,QAAA,mBAAmB,GAAG;IACjC,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,KAAK,EAAE,OAAO;IACd,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,eAAe,EAAE,iBAAiB;CAC1B,CAAC","sourcesContent":["export const subscriptionPackage = {\n VIEW: \"VIEW\",\n COLLECT: \"COLLECT\",\n INSIGHT: \"INSIGHT\",\n ENTRY: \"ENTRY\",\n EXPLORE: \"EXPLORE\",\n EVOLVE: \"EVOLVE\",\n EXPAND: \"EXPAND\",\n LINK: \"LINK\",\n LIFT: \"LIFT\",\n LEAP: \"LEAP\",\n CUSTOMER_PORTAL: \"CUSTOMER_PORTAL\",\n} as const;\nexport type SubscriptionPackage = (typeof subscriptionPackage)[keyof typeof subscriptionPackage];\n"]}