@greensecurity/javascript-sdk 0.46.0-beta.9 → 0.47.0-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.
- package/dist/commonjs/__tests__/apps/contract.test.js +288 -4
- package/dist/commonjs/__tests__/apps/contract.test.js.map +1 -1
- package/dist/commonjs/__tests__/apps/devpreview-routes.test.d.ts +2 -0
- package/dist/commonjs/__tests__/apps/devpreview-routes.test.d.ts.map +1 -0
- package/dist/commonjs/__tests__/apps/devpreview-routes.test.js +86 -0
- package/dist/commonjs/__tests__/apps/devpreview-routes.test.js.map +1 -0
- package/dist/commonjs/__tests__/apps/kit/example.test.js +84 -4
- package/dist/commonjs/__tests__/apps/kit/example.test.js.map +1 -1
- package/dist/commonjs/__tests__/apps/kit/pages.test.d.ts +2 -0
- package/dist/commonjs/__tests__/apps/kit/pages.test.d.ts.map +1 -0
- package/dist/commonjs/__tests__/apps/kit/pages.test.js +119 -0
- package/dist/commonjs/__tests__/apps/kit/pages.test.js.map +1 -0
- package/dist/commonjs/__tests__/apps/kit/render.test.js +24 -0
- package/dist/commonjs/__tests__/apps/kit/render.test.js.map +1 -1
- package/dist/commonjs/__tests__/apps/kit/store.test.d.ts +2 -0
- package/dist/commonjs/__tests__/apps/kit/store.test.d.ts.map +1 -0
- package/dist/commonjs/__tests__/apps/kit/store.test.js +123 -0
- package/dist/commonjs/__tests__/apps/kit/store.test.js.map +1 -0
- package/dist/commonjs/__tests__/apps/post-install-page.test.d.ts +2 -0
- package/dist/commonjs/__tests__/apps/post-install-page.test.d.ts.map +1 -0
- package/dist/commonjs/__tests__/apps/post-install-page.test.js +110 -0
- package/dist/commonjs/__tests__/apps/post-install-page.test.js.map +1 -0
- package/dist/commonjs/__tests__/apps/routes.test.d.ts +2 -0
- package/dist/commonjs/__tests__/apps/routes.test.d.ts.map +1 -0
- package/dist/commonjs/__tests__/apps/routes.test.js +238 -0
- package/dist/commonjs/__tests__/apps/routes.test.js.map +1 -0
- package/dist/commonjs/__tests__/vendors.test.js +1 -1
- package/dist/commonjs/__tests__/zoneDevicesCreate.test.d.ts +2 -0
- package/dist/commonjs/__tests__/zoneDevicesCreate.test.d.ts.map +1 -0
- package/dist/commonjs/__tests__/zoneDevicesCreate.test.js +47 -0
- package/dist/commonjs/__tests__/zoneDevicesCreate.test.js.map +1 -0
- package/dist/commonjs/__tests__/zones.test.js +4 -28
- package/dist/commonjs/__tests__/zones.test.js.map +1 -1
- package/dist/commonjs/admin-funcs/zoneDevicesCreate.d.ts +11 -0
- package/dist/commonjs/admin-funcs/zoneDevicesCreate.d.ts.map +1 -0
- package/dist/commonjs/admin-funcs/zoneDevicesCreate.js +14 -0
- package/dist/commonjs/admin-funcs/zoneDevicesCreate.js.map +1 -0
- package/dist/commonjs/admin-funcs/zoneDevicesMacAvailability.d.ts +3 -0
- package/dist/commonjs/admin-funcs/zoneDevicesMacAvailability.d.ts.map +1 -0
- package/dist/commonjs/admin-funcs/zoneDevicesMacAvailability.js +11 -0
- package/dist/commonjs/admin-funcs/zoneDevicesMacAvailability.js.map +1 -0
- package/dist/commonjs/apps/components.d.ts +321 -0
- package/dist/commonjs/apps/components.d.ts.map +1 -1
- package/dist/commonjs/apps/components.js +168 -2
- package/dist/commonjs/apps/components.js.map +1 -1
- package/dist/commonjs/apps/context.d.ts +24 -0
- package/dist/commonjs/apps/context.d.ts.map +1 -1
- package/dist/commonjs/apps/context.js.map +1 -1
- package/dist/commonjs/apps/devpreview.d.ts +20 -3
- package/dist/commonjs/apps/devpreview.d.ts.map +1 -1
- package/dist/commonjs/apps/devpreview.js +18 -7
- package/dist/commonjs/apps/devpreview.js.map +1 -1
- package/dist/commonjs/apps/hooks/index.d.ts +33 -2
- package/dist/commonjs/apps/hooks/index.d.ts.map +1 -1
- package/dist/commonjs/apps/hooks/index.js +41 -1
- package/dist/commonjs/apps/hooks/index.js.map +1 -1
- package/dist/commonjs/apps/hooks/store.d.ts +48 -0
- package/dist/commonjs/apps/hooks/store.d.ts.map +1 -0
- package/dist/commonjs/apps/hooks/store.js +87 -0
- package/dist/commonjs/apps/hooks/store.js.map +1 -0
- package/dist/commonjs/apps/manifest.d.ts +64 -3
- package/dist/commonjs/apps/manifest.d.ts.map +1 -1
- package/dist/commonjs/apps/manifest.js +128 -27
- package/dist/commonjs/apps/manifest.js.map +1 -1
- package/dist/commonjs/apps/protocol.d.ts +1 -1
- package/dist/commonjs/apps/protocol.d.ts.map +1 -1
- package/dist/commonjs/apps/route.d.ts +11 -1
- package/dist/commonjs/apps/route.d.ts.map +1 -1
- package/dist/commonjs/apps/route.js +13 -7
- package/dist/commonjs/apps/route.js.map +1 -1
- package/dist/commonjs/apps/routes.d.ts +65 -0
- package/dist/commonjs/apps/routes.d.ts.map +1 -0
- package/dist/commonjs/apps/routes.js +202 -0
- package/dist/commonjs/apps/routes.js.map +1 -0
- package/dist/commonjs/apps/surfaces.d.ts +20 -2
- package/dist/commonjs/apps/surfaces.d.ts.map +1 -1
- package/dist/commonjs/apps/surfaces.js +45 -7
- package/dist/commonjs/apps/surfaces.js.map +1 -1
- package/dist/commonjs/apps/testing/index.d.ts +17 -1
- package/dist/commonjs/apps/testing/index.d.ts.map +1 -1
- package/dist/commonjs/apps/testing/index.js +50 -1
- package/dist/commonjs/apps/testing/index.js.map +1 -1
- package/dist/commonjs/apps/ui/index.d.ts +13 -0
- package/dist/commonjs/apps/ui/index.d.ts.map +1 -1
- package/dist/commonjs/apps/ui/index.js +19 -2
- package/dist/commonjs/apps/ui/index.js.map +1 -1
- package/dist/commonjs/index.extras.d.ts +4 -0
- package/dist/commonjs/index.extras.d.ts.map +1 -1
- package/dist/commonjs/index.extras.js +5 -1
- package/dist/commonjs/index.extras.js.map +1 -1
- package/dist/commonjs/lib/config.d.ts +3 -3
- package/dist/commonjs/lib/config.js +3 -3
- package/dist/commonjs/models/components/vendorcredentialsummary.d.ts +7 -0
- package/dist/commonjs/models/components/vendorcredentialsummary.d.ts.map +1 -1
- package/dist/commonjs/models/components/vendorcredentialsummary.js +2 -0
- package/dist/commonjs/models/components/vendorcredentialsummary.js.map +1 -1
- package/dist/esm/__tests__/apps/contract.test.js +289 -5
- package/dist/esm/__tests__/apps/contract.test.js.map +1 -1
- package/dist/esm/__tests__/apps/devpreview-routes.test.d.ts +2 -0
- package/dist/esm/__tests__/apps/devpreview-routes.test.d.ts.map +1 -0
- package/dist/esm/__tests__/apps/devpreview-routes.test.js +84 -0
- package/dist/esm/__tests__/apps/devpreview-routes.test.js.map +1 -0
- package/dist/esm/__tests__/apps/kit/example.test.js +85 -5
- package/dist/esm/__tests__/apps/kit/example.test.js.map +1 -1
- package/dist/esm/__tests__/apps/kit/pages.test.d.ts +2 -0
- package/dist/esm/__tests__/apps/kit/pages.test.d.ts.map +1 -0
- package/dist/esm/__tests__/apps/kit/pages.test.js +117 -0
- package/dist/esm/__tests__/apps/kit/pages.test.js.map +1 -0
- package/dist/esm/__tests__/apps/kit/render.test.js +25 -1
- package/dist/esm/__tests__/apps/kit/render.test.js.map +1 -1
- package/dist/esm/__tests__/apps/kit/store.test.d.ts +2 -0
- package/dist/esm/__tests__/apps/kit/store.test.d.ts.map +1 -0
- package/dist/esm/__tests__/apps/kit/store.test.js +121 -0
- package/dist/esm/__tests__/apps/kit/store.test.js.map +1 -0
- package/dist/esm/__tests__/apps/post-install-page.test.d.ts +2 -0
- package/dist/esm/__tests__/apps/post-install-page.test.d.ts.map +1 -0
- package/dist/esm/__tests__/apps/post-install-page.test.js +108 -0
- package/dist/esm/__tests__/apps/post-install-page.test.js.map +1 -0
- package/dist/esm/__tests__/apps/routes.test.d.ts +2 -0
- package/dist/esm/__tests__/apps/routes.test.d.ts.map +1 -0
- package/dist/esm/__tests__/apps/routes.test.js +236 -0
- package/dist/esm/__tests__/apps/routes.test.js.map +1 -0
- package/dist/esm/__tests__/vendors.test.js +1 -1
- package/dist/esm/__tests__/zoneDevicesCreate.test.d.ts +2 -0
- package/dist/esm/__tests__/zoneDevicesCreate.test.d.ts.map +1 -0
- package/dist/esm/__tests__/zoneDevicesCreate.test.js +45 -0
- package/dist/esm/__tests__/zoneDevicesCreate.test.js.map +1 -0
- package/dist/esm/__tests__/zones.test.js +4 -28
- package/dist/esm/__tests__/zones.test.js.map +1 -1
- package/dist/esm/admin-funcs/zoneDevicesCreate.d.ts +11 -0
- package/dist/esm/admin-funcs/zoneDevicesCreate.d.ts.map +1 -0
- package/dist/esm/admin-funcs/zoneDevicesCreate.js +11 -0
- package/dist/esm/admin-funcs/zoneDevicesCreate.js.map +1 -0
- package/dist/esm/admin-funcs/zoneDevicesMacAvailability.d.ts +3 -0
- package/dist/esm/admin-funcs/zoneDevicesMacAvailability.d.ts.map +1 -0
- package/dist/esm/admin-funcs/zoneDevicesMacAvailability.js +8 -0
- package/dist/esm/admin-funcs/zoneDevicesMacAvailability.js.map +1 -0
- package/dist/esm/apps/components.d.ts +321 -0
- package/dist/esm/apps/components.d.ts.map +1 -1
- package/dist/esm/apps/components.js +163 -1
- package/dist/esm/apps/components.js.map +1 -1
- package/dist/esm/apps/context.d.ts +24 -0
- package/dist/esm/apps/context.d.ts.map +1 -1
- package/dist/esm/apps/context.js.map +1 -1
- package/dist/esm/apps/devpreview.d.ts +20 -3
- package/dist/esm/apps/devpreview.d.ts.map +1 -1
- package/dist/esm/apps/devpreview.js +19 -8
- package/dist/esm/apps/devpreview.js.map +1 -1
- package/dist/esm/apps/hooks/index.d.ts +33 -2
- package/dist/esm/apps/hooks/index.d.ts.map +1 -1
- package/dist/esm/apps/hooks/index.js +37 -1
- package/dist/esm/apps/hooks/index.js.map +1 -1
- package/dist/esm/apps/hooks/store.d.ts +48 -0
- package/dist/esm/apps/hooks/store.d.ts.map +1 -0
- package/dist/esm/apps/hooks/store.js +84 -0
- package/dist/esm/apps/hooks/store.js.map +1 -0
- package/dist/esm/apps/manifest.d.ts +64 -3
- package/dist/esm/apps/manifest.d.ts.map +1 -1
- package/dist/esm/apps/manifest.js +116 -26
- package/dist/esm/apps/manifest.js.map +1 -1
- package/dist/esm/apps/protocol.d.ts +1 -1
- package/dist/esm/apps/protocol.d.ts.map +1 -1
- package/dist/esm/apps/route.d.ts +11 -1
- package/dist/esm/apps/route.d.ts.map +1 -1
- package/dist/esm/apps/route.js +14 -8
- package/dist/esm/apps/route.js.map +1 -1
- package/dist/esm/apps/routes.d.ts +65 -0
- package/dist/esm/apps/routes.d.ts.map +1 -0
- package/dist/esm/apps/routes.js +194 -0
- package/dist/esm/apps/routes.js.map +1 -0
- package/dist/esm/apps/surfaces.d.ts +20 -2
- package/dist/esm/apps/surfaces.d.ts.map +1 -1
- package/dist/esm/apps/surfaces.js +39 -2
- package/dist/esm/apps/surfaces.js.map +1 -1
- package/dist/esm/apps/testing/index.d.ts +17 -1
- package/dist/esm/apps/testing/index.d.ts.map +1 -1
- package/dist/esm/apps/testing/index.js +49 -1
- package/dist/esm/apps/testing/index.js.map +1 -1
- package/dist/esm/apps/ui/index.d.ts +13 -0
- package/dist/esm/apps/ui/index.d.ts.map +1 -1
- package/dist/esm/apps/ui/index.js +17 -1
- package/dist/esm/apps/ui/index.js.map +1 -1
- package/dist/esm/index.extras.d.ts +4 -0
- package/dist/esm/index.extras.d.ts.map +1 -1
- package/dist/esm/index.extras.js +5 -1
- package/dist/esm/index.extras.js.map +1 -1
- package/dist/esm/lib/config.d.ts +3 -3
- package/dist/esm/lib/config.js +3 -3
- package/dist/esm/models/components/vendorcredentialsummary.d.ts +7 -0
- package/dist/esm/models/components/vendorcredentialsummary.d.ts.map +1 -1
- package/dist/esm/models/components/vendorcredentialsummary.js +2 -0
- package/dist/esm/models/components/vendorcredentialsummary.js.map +1 -1
- package/examples/apps/hello-green/src/store.ts +15 -0
- package/jsr.json +1 -1
- package/package.json +1 -1
- package/src/__tests__/apps/contract.test.ts +305 -4
- package/src/__tests__/apps/devpreview-routes.test.ts +103 -0
- package/src/__tests__/apps/kit/example.test.ts +94 -5
- package/src/__tests__/apps/kit/pages.test.ts +137 -0
- package/src/__tests__/apps/kit/render.test.ts +35 -1
- package/src/__tests__/apps/kit/store.test.ts +149 -0
- package/src/__tests__/apps/post-install-page.test.ts +126 -0
- package/src/__tests__/apps/routes.test.ts +318 -0
- package/src/__tests__/vendors.test.ts +1 -1
- package/src/__tests__/zoneDevicesCreate.test.ts +56 -0
- package/src/__tests__/zones.test.ts +4 -28
- package/src/admin-funcs/zoneDevicesCreate.ts +22 -0
- package/src/admin-funcs/zoneDevicesMacAvailability.ts +8 -0
- package/src/apps/components.ts +183 -1
- package/src/apps/context.ts +25 -0
- package/src/apps/devpreview.ts +20 -7
- package/src/apps/hooks/index.ts +42 -2
- package/src/apps/hooks/store.ts +115 -0
- package/src/apps/manifest.ts +151 -27
- package/src/apps/protocol.ts +1 -1
- package/src/apps/route.ts +22 -10
- package/src/apps/routes.ts +230 -0
- package/src/apps/surfaces.ts +45 -12
- package/src/apps/testing/index.ts +48 -2
- package/src/apps/ui/index.ts +18 -1
- package/src/index.extras.ts +5 -1
- package/src/lib/config.ts +3 -3
- package/src/models/components/vendorcredentialsummary.ts +9 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../../src/apps/manifest.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../../src/apps/manifest.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,7 +12,7 @@ export interface RemoteConnection {
|
|
|
12
12
|
}
|
|
13
13
|
/** `@remote-dom/core` mutation records: insert child, remove child, update text, update property. */
|
|
14
14
|
export type RemoteMutationRecord = readonly [type: 0, parentId: string, child: unknown, index: number] | readonly [type: 1, parentId: string, index: number] | readonly [type: 2, textId: string, text: string] | readonly [type: 3, id: string, name: string, value: unknown, updateType?: 1 | 2 | 3];
|
|
15
|
-
export type ViewType = "context" | "focus" | "settings";
|
|
15
|
+
export type ViewType = "context" | "focus" | "settings" | "page";
|
|
16
16
|
/** Implemented inside the worker by the SDK runtime (`defineApp`). */
|
|
17
17
|
export interface SandboxExports {
|
|
18
18
|
mount(args: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../../src/apps/protocol.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/C;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,MAAM,CAAC,OAAO,EAAE,SAAS,oBAAoB,EAAE,GAAG,IAAI,CAAC;IACvD,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,SAAS,OAAO,EAAE,GAAG,OAAO,CAAC;CACxE;AAED,qGAAqG;AACrG,MAAM,MAAM,oBAAoB,GAC5B,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,GACnE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,GACnD,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,GAChD,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AAEzF,MAAM,MAAM,QAAQ,GAAG,SAAS,GAAG,OAAO,GAAG,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../../src/apps/protocol.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type SurfaceId } from "./surfaces.js";
|
|
2
|
-
/** Values the destination view receives as `environment.queryParams`. Strings only. */
|
|
2
|
+
/** Values the destination view receives as `environment.navParams`, never as `queryParams`. Strings only. */
|
|
3
3
|
export type EnvParams = Record<string, string>;
|
|
4
4
|
export type RouteDescriptor =
|
|
5
5
|
/** The screen a surface lives on, optionally for one record (detail surfaces). */
|
|
@@ -13,6 +13,16 @@ export type RouteDescriptor =
|
|
|
13
13
|
| {
|
|
14
14
|
type: "appSettings";
|
|
15
15
|
envParams?: EnvParams;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* One of the calling app's own pages, by concrete path in the app's space (`/reports/7`, not
|
|
19
|
+
* `/reports/:id`). The host checks that it matches one of the app's routes offered in the
|
|
20
|
+
* current portal. There is no `appId`: an app can only open its own pages.
|
|
21
|
+
*/
|
|
22
|
+
| {
|
|
23
|
+
type: "appPage";
|
|
24
|
+
path: string;
|
|
25
|
+
envParams?: EnvParams;
|
|
16
26
|
};
|
|
17
27
|
export declare function isRouteDescriptor(value: unknown): value is RouteDescriptor;
|
|
18
28
|
//# sourceMappingURL=route.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../src/apps/route.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../src/apps/route.ts"],"names":[],"mappings":"AAUA,OAAO,EAAc,KAAK,SAAS,EAAE,MAAM,eAAe,CAAC;AAE3D,6GAA6G;AAC7G,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAE/C,MAAM,MAAM,eAAe;AACzB,kFAAkF;AAChF;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,SAAS,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,SAAS,CAAA;CAAE;AACrF,oEAAoE;GAClE;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,SAAS,CAAC,EAAE,SAAS,CAAA;CAAE;AAChD;;;;GAIG;GACD;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,SAAS,CAAA;CAAE,CAAC;AAE7D,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,eAAe,CAuB1E"}
|
|
@@ -3,11 +3,13 @@
|
|
|
3
3
|
* Hand-written (not generated by Speakeasy). Part of the third-party app platform contract;
|
|
4
4
|
* see docs/third-party-apps/plan.md.
|
|
5
5
|
*
|
|
6
|
-
* Apps never navigate by path. They name a destination and the host maps it to its own
|
|
7
|
-
* which keeps host URLs free to change and stops an app from steering users to arbitrary
|
|
6
|
+
* Apps never navigate by host path. They name a destination and the host maps it to its own
|
|
7
|
+
* routes, which keeps host URLs free to change and stops an app from steering users to arbitrary
|
|
8
|
+
* pages. The one path an app writes, `appPage`, is a path inside its own pages space.
|
|
8
9
|
*/
|
|
9
10
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
11
|
exports.isRouteDescriptor = isRouteDescriptor;
|
|
12
|
+
const routes_js_1 = require("./routes.js");
|
|
11
13
|
const surfaces_js_1 = require("./surfaces.js");
|
|
12
14
|
function isRouteDescriptor(value) {
|
|
13
15
|
if (typeof value !== "object" || value === null || !("type" in value))
|
|
@@ -17,14 +19,18 @@ function isRouteDescriptor(value) {
|
|
|
17
19
|
return false;
|
|
18
20
|
switch (v["type"]) {
|
|
19
21
|
case "surface":
|
|
20
|
-
// Only catalog surfaces: the host has no route for anything else. Safe integers
|
|
21
|
-
// record id is never silently rounded on its way through JSON.
|
|
22
|
-
//
|
|
23
|
-
// would name another
|
|
24
|
-
|
|
22
|
+
// Only catalog surfaces of a portal: the host has no route for anything else. Safe integers
|
|
23
|
+
// only, so a record id is never silently rounded on its way through JSON. The portal-less
|
|
24
|
+
// surfaces belong to an app and are reachable only through descriptors that always mean the
|
|
25
|
+
// calling app (`appSettings`, `appPage`): as a plain surface, `objectId` would name another
|
|
26
|
+
// app's settings page or pages.
|
|
27
|
+
return typeof v["surfaceId"] === "string" && ((0, surfaces_js_1.getSurface)(v["surfaceId"])?.portal ?? null) !== null &&
|
|
25
28
|
(v["objectId"] === undefined || (Number.isSafeInteger(v["objectId"]) && v["objectId"] > 0));
|
|
26
29
|
case "appSettings":
|
|
27
30
|
return true;
|
|
31
|
+
case "appPage":
|
|
32
|
+
// Concrete paths only, in the route grammar: no params, dots, escapes or empty segments.
|
|
33
|
+
return (0, routes_js_1.isConcreteRoutePath)(v["path"]);
|
|
28
34
|
default:
|
|
29
35
|
return false;
|
|
30
36
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"route.js","sourceRoot":"","sources":["../../../src/apps/route.ts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"route.js","sourceRoot":"","sources":["../../../src/apps/route.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;AAoBH,8CAuBC;AAzCD,2CAAkD;AAClD,+CAA2D;AAiB3D,SAAgB,iBAAiB,CAAC,KAAc;IAC9C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAEpF,MAAM,CAAC,GAAG,KAAgC,CAAC;IAC3C,IAAI,CAAC,CAAC,WAAW,CAAC,KAAK,SAAS,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IAE/E,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;QAClB,KAAK,SAAS;YACZ,4FAA4F;YAC5F,0FAA0F;YAC1F,4FAA4F;YAC5F,4FAA4F;YAC5F,gCAAgC;YAChC,OAAO,OAAO,CAAC,CAAC,WAAW,CAAC,KAAK,QAAQ,IAAI,CAAC,IAAA,wBAAU,EAAC,CAAC,CAAC,WAAW,CAAC,CAAC,EAAE,MAAM,IAAI,IAAI,CAAC,KAAK,IAAI;gBAChG,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,IAAK,CAAC,CAAC,UAAU,CAAY,GAAG,CAAC,CAAC,CAAC,CAAC;QAC5G,KAAK,aAAa;YAChB,OAAO,IAAI,CAAC;QACd,KAAK,SAAS;YACZ,yFAAyF;YACzF,OAAO,IAAA,+BAAmB,EAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;QACxC;YACE,OAAO,KAAK,CAAC;IACjB,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IACjC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACzE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC;AAC7D,CAAC"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A declared route path: `/`, or `/seg(/seg)*` where each segment is static or a `:param`. No dots,
|
|
3
|
+
* percent-escapes, upper case, empty segments or trailing slash, so no path can climb out of the
|
|
4
|
+
* app's own space. `pages` is not reserved inside that space: `/pages/foo` is an ordinary path.
|
|
5
|
+
*/
|
|
6
|
+
export declare const ROUTE_PATH_PATTERN = "^/(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|:[a-z][a-z0-9_]*)(?:/(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|:[a-z][a-z0-9_]*))*)?$";
|
|
7
|
+
/** A concrete path an app navigates to (`{ type: "appPage" }`): the same grammar without params. */
|
|
8
|
+
export declare const CONCRETE_ROUTE_PATH_PATTERN = "^/(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?(?:/[a-z0-9](?:[a-z0-9-]*[a-z0-9])?)*)?$";
|
|
9
|
+
export declare const ROUTE_PATH_MAX_CHARS = 200;
|
|
10
|
+
/** Segments in one path; `/` has none. */
|
|
11
|
+
export declare const ROUTE_PATH_MAX_SEGMENTS = 8;
|
|
12
|
+
/** Routes in one manifest. */
|
|
13
|
+
export declare const APP_ROUTES_MAX = 50;
|
|
14
|
+
/** A declared route path: the {@link ROUTE_PATH_PATTERN} grammar, ≤ 200 characters and ≤ 8 segments. */
|
|
15
|
+
export declare function isRoutePath(value: unknown): value is string;
|
|
16
|
+
/** A concrete route path (no `:param` segments) within the same limits as a declared one. */
|
|
17
|
+
export declare function isConcreteRoutePath(value: unknown): value is string;
|
|
18
|
+
/**
|
|
19
|
+
* Renames every param segment to `:_`. Two paths that normalize to the same string claim the same
|
|
20
|
+
* URLs (`/vendors/:id` and `/vendors/:vendor_id`), so a manifest may declare only one of them.
|
|
21
|
+
*/
|
|
22
|
+
export declare function normalizeRoutePath(path: string): string;
|
|
23
|
+
export interface RouteSetIssue {
|
|
24
|
+
/** Index of the offending entry in `routes`. */
|
|
25
|
+
index: number;
|
|
26
|
+
field: "path" | "portals" | "navigation";
|
|
27
|
+
message: string;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* The rules over a set of routes that a pattern alone cannot express: the segment cap, a param
|
|
31
|
+
* name used twice in one path, two paths claiming the same URLs, and a repeated portal. Grammar,
|
|
32
|
+
* length and the per-field limits are the schema's job; a path that fails the grammar is skipped
|
|
33
|
+
* here. The zod schema and `apps-cli validate` both report these, and the server repeats them.
|
|
34
|
+
*/
|
|
35
|
+
export declare function routeSetIssues(routes: ReadonlyArray<{
|
|
36
|
+
path: string;
|
|
37
|
+
portals?: readonly string[] | undefined;
|
|
38
|
+
navigation?: unknown;
|
|
39
|
+
}>): RouteSetIssue[];
|
|
40
|
+
export interface AppRouteMatch<R> {
|
|
41
|
+
route: R;
|
|
42
|
+
/** Param values by name, percent-decoded. Always strings: the app parses ids itself. */
|
|
43
|
+
params: Record<string, string>;
|
|
44
|
+
/** Index of `route` in the list passed to {@link matchAppRoute}. */
|
|
45
|
+
index: number;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Finds the route a pathname in the app's own space renders (`/reports/7` for
|
|
49
|
+
* `/{portal}/apps/{appId}/pages/reports/7`), or `null` when none does.
|
|
50
|
+
*
|
|
51
|
+
* `pathname` is URL-encoded, as it appears in a URL: `/` or `/seg(/seg)*` with no empty segment,
|
|
52
|
+
* trailing slash, query or fragment (anything else matches nothing). A host that receives decoded
|
|
53
|
+
* segments encodes each with `encodeURIComponent` before joining them.
|
|
54
|
+
*
|
|
55
|
+
* A static route segment matches only the identical pathname segment. A param segment matches any
|
|
56
|
+
* other segment that decodes to a plain value (see `paramValue`); a segment containing `:` never
|
|
57
|
+
* matches a param. When several routes match, the one with a static segment at the first position
|
|
58
|
+
* where they differ wins (static before param, left to right); among equals, the first declared.
|
|
59
|
+
* Routes whose path is not in the grammar are ignored, so a stale or hand-edited feed entry can
|
|
60
|
+
* never match.
|
|
61
|
+
*/
|
|
62
|
+
export declare function matchAppRoute<R extends {
|
|
63
|
+
path: string;
|
|
64
|
+
}>(routes: readonly R[], pathname: string): AppRouteMatch<R> | null;
|
|
65
|
+
//# sourceMappingURL=routes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../../src/apps/routes.ts"],"names":[],"mappings":"AAkBA;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,2HAC2F,CAAC;AAE3H,oGAAoG;AACpG,eAAO,MAAM,2BAA2B,iFAAqD,CAAC;AAE9F,eAAO,MAAM,oBAAoB,MAAM,CAAC;AACxC,0CAA0C;AAC1C,eAAO,MAAM,uBAAuB,IAAI,CAAC;AACzC,8BAA8B;AAC9B,eAAO,MAAM,cAAc,KAAK,CAAC;AAkBjC,wGAAwG;AACxG,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAE3D;AAED,6FAA6F;AAC7F,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAEnE;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAKvD;AAED,MAAM,WAAW,aAAa;IAC5B,gDAAgD;IAChD,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,YAAY,CAAC;IACzC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,aAAa,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;IAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,GACrG,aAAa,EAAE,CAgDjB;AAED,MAAM,WAAW,aAAa,CAAC,CAAC;IAC9B,KAAK,EAAE,CAAC,CAAC;IACT,wFAAwF;IACxF,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,oEAAoE;IACpE,KAAK,EAAE,MAAM,CAAC;CACf;AAmBD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,EACtD,MAAM,EAAE,SAAS,CAAC,EAAE,EACpB,QAAQ,EAAE,MAAM,GACf,aAAa,CAAC,CAAC,CAAC,GAAG,IAAI,CAazB"}
|
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Hand-written (not generated by Speakeasy). Part of the third-party app platform contract;
|
|
4
|
+
* see docs/third-party-apps/fullpageview-plan.md.
|
|
5
|
+
*
|
|
6
|
+
* App page routes (`ui_extensions.routes[]`): the path grammar, the uniqueness rule and the one
|
|
7
|
+
* matcher every consumer shares (the host, `apps-cli validate`, the contract tests). Deliberately
|
|
8
|
+
* dependency-free (no zod) so the host renderer can import it without bundling zod; `manifest.ts`
|
|
9
|
+
* re-exports it because it is part of the manifest contract.
|
|
10
|
+
*
|
|
11
|
+
* The server mirrors the grammar and `normalizeRoutePath` in Ruby and reads the same fixtures
|
|
12
|
+
* (`src/__tests__/apps/fixtures/routes.json`).
|
|
13
|
+
*/
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.APP_ROUTES_MAX = exports.ROUTE_PATH_MAX_SEGMENTS = exports.ROUTE_PATH_MAX_CHARS = exports.CONCRETE_ROUTE_PATH_PATTERN = exports.ROUTE_PATH_PATTERN = void 0;
|
|
16
|
+
exports.isRoutePath = isRoutePath;
|
|
17
|
+
exports.isConcreteRoutePath = isConcreteRoutePath;
|
|
18
|
+
exports.normalizeRoutePath = normalizeRoutePath;
|
|
19
|
+
exports.routeSetIssues = routeSetIssues;
|
|
20
|
+
exports.matchAppRoute = matchAppRoute;
|
|
21
|
+
/** A static segment: lower-case letters, digits and inner hyphens. */
|
|
22
|
+
const STATIC_SEGMENT = "[a-z0-9](?:[a-z0-9-]*[a-z0-9])?";
|
|
23
|
+
/** A param segment: `:` and a lower-case name. */
|
|
24
|
+
const PARAM_SEGMENT = ":[a-z][a-z0-9_]*";
|
|
25
|
+
/**
|
|
26
|
+
* A declared route path: `/`, or `/seg(/seg)*` where each segment is static or a `:param`. No dots,
|
|
27
|
+
* percent-escapes, upper case, empty segments or trailing slash, so no path can climb out of the
|
|
28
|
+
* app's own space. `pages` is not reserved inside that space: `/pages/foo` is an ordinary path.
|
|
29
|
+
*/
|
|
30
|
+
exports.ROUTE_PATH_PATTERN = "^/(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|:[a-z][a-z0-9_]*)(?:/(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|:[a-z][a-z0-9_]*))*)?$";
|
|
31
|
+
/** A concrete path an app navigates to (`{ type: "appPage" }`): the same grammar without params. */
|
|
32
|
+
exports.CONCRETE_ROUTE_PATH_PATTERN = `^/(?:${STATIC_SEGMENT}(?:/${STATIC_SEGMENT})*)?$`;
|
|
33
|
+
exports.ROUTE_PATH_MAX_CHARS = 200;
|
|
34
|
+
/** Segments in one path; `/` has none. */
|
|
35
|
+
exports.ROUTE_PATH_MAX_SEGMENTS = 8;
|
|
36
|
+
/** Routes in one manifest. */
|
|
37
|
+
exports.APP_ROUTES_MAX = 50;
|
|
38
|
+
/** What every param segment becomes in {@link normalizeRoutePath}. */
|
|
39
|
+
const PARAM_PLACEHOLDER = ":_";
|
|
40
|
+
const ROUTE_PATH_RE = new RegExp(exports.ROUTE_PATH_PATTERN);
|
|
41
|
+
const CONCRETE_ROUTE_PATH_RE = new RegExp(exports.CONCRETE_ROUTE_PATH_PATTERN);
|
|
42
|
+
const PARAM_SEGMENT_RE = new RegExp(`^${PARAM_SEGMENT}$`);
|
|
43
|
+
/** The segments of a path in the grammar; `/` has none. */
|
|
44
|
+
function segmentsOf(path) {
|
|
45
|
+
return path === "/" ? [] : path.slice(1).split("/");
|
|
46
|
+
}
|
|
47
|
+
function withinLimits(path) {
|
|
48
|
+
return path.length <= exports.ROUTE_PATH_MAX_CHARS && segmentsOf(path).length <= exports.ROUTE_PATH_MAX_SEGMENTS;
|
|
49
|
+
}
|
|
50
|
+
/** A declared route path: the {@link ROUTE_PATH_PATTERN} grammar, ≤ 200 characters and ≤ 8 segments. */
|
|
51
|
+
function isRoutePath(value) {
|
|
52
|
+
return typeof value === "string" && ROUTE_PATH_RE.test(value) && withinLimits(value);
|
|
53
|
+
}
|
|
54
|
+
/** A concrete route path (no `:param` segments) within the same limits as a declared one. */
|
|
55
|
+
function isConcreteRoutePath(value) {
|
|
56
|
+
return typeof value === "string" && CONCRETE_ROUTE_PATH_RE.test(value) && withinLimits(value);
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Renames every param segment to `:_`. Two paths that normalize to the same string claim the same
|
|
60
|
+
* URLs (`/vendors/:id` and `/vendors/:vendor_id`), so a manifest may declare only one of them.
|
|
61
|
+
*/
|
|
62
|
+
function normalizeRoutePath(path) {
|
|
63
|
+
return path
|
|
64
|
+
.split("/")
|
|
65
|
+
.map((segment) => (segment.startsWith(":") ? PARAM_PLACEHOLDER : segment))
|
|
66
|
+
.join("/");
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* The rules over a set of routes that a pattern alone cannot express: the segment cap, a param
|
|
70
|
+
* name used twice in one path, two paths claiming the same URLs, and a repeated portal. Grammar,
|
|
71
|
+
* length and the per-field limits are the schema's job; a path that fails the grammar is skipped
|
|
72
|
+
* here. The zod schema and `apps-cli validate` both report these, and the server repeats them.
|
|
73
|
+
*/
|
|
74
|
+
function routeSetIssues(routes) {
|
|
75
|
+
const issues = [];
|
|
76
|
+
const claimed = new Map();
|
|
77
|
+
routes.forEach((route, index) => {
|
|
78
|
+
const portals = route.portals ?? [];
|
|
79
|
+
if (new Set(portals).size !== portals.length) {
|
|
80
|
+
issues.push({ index, field: "portals", message: "portals must not repeat" });
|
|
81
|
+
}
|
|
82
|
+
if (!ROUTE_PATH_RE.test(route.path))
|
|
83
|
+
return;
|
|
84
|
+
const segments = segmentsOf(route.path);
|
|
85
|
+
if (segments.length > exports.ROUTE_PATH_MAX_SEGMENTS) {
|
|
86
|
+
issues.push({
|
|
87
|
+
index,
|
|
88
|
+
field: "path",
|
|
89
|
+
message: `${route.path} has ${segments.length} segments; the limit is ${exports.ROUTE_PATH_MAX_SEGMENTS}`,
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
const params = segments.filter((s) => s.startsWith(":"));
|
|
93
|
+
if (new Set(params).size !== params.length) {
|
|
94
|
+
issues.push({ index, field: "path", message: `${route.path} uses a param name twice` });
|
|
95
|
+
}
|
|
96
|
+
// A sidebar entry links to one fixed address, and a path with params has none.
|
|
97
|
+
if (params.length > 0 && route.navigation !== undefined) {
|
|
98
|
+
issues.push({
|
|
99
|
+
index,
|
|
100
|
+
field: "navigation",
|
|
101
|
+
message: `${route.path} has params, so it cannot have a navigation entry; add one to a path without params`,
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
const normalized = normalizeRoutePath(route.path);
|
|
105
|
+
const earlier = claimed.get(normalized);
|
|
106
|
+
if (earlier === undefined) {
|
|
107
|
+
claimed.set(normalized, route.path);
|
|
108
|
+
}
|
|
109
|
+
else {
|
|
110
|
+
issues.push({
|
|
111
|
+
index,
|
|
112
|
+
field: "path",
|
|
113
|
+
message: `${route.path} is declared twice (as ${earlier}); each path takes one page`,
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
});
|
|
117
|
+
return issues;
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Decodes one pathname segment into a param value, or returns `null` when it cannot be one: a
|
|
121
|
+
* malformed escape, an empty value, `.` or `..`, or a value containing `/` or `:` (raw or
|
|
122
|
+
* encoded). A param therefore never carries a path or a host-looking value into the app.
|
|
123
|
+
*/
|
|
124
|
+
function paramValue(segment) {
|
|
125
|
+
if (segment.includes(":"))
|
|
126
|
+
return null;
|
|
127
|
+
let value;
|
|
128
|
+
try {
|
|
129
|
+
value = decodeURIComponent(segment);
|
|
130
|
+
}
|
|
131
|
+
catch {
|
|
132
|
+
return null;
|
|
133
|
+
}
|
|
134
|
+
if (value === "" || value === "." || value === ".." || value.includes("/") || value.includes(":"))
|
|
135
|
+
return null;
|
|
136
|
+
return value;
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Finds the route a pathname in the app's own space renders (`/reports/7` for
|
|
140
|
+
* `/{portal}/apps/{appId}/pages/reports/7`), or `null` when none does.
|
|
141
|
+
*
|
|
142
|
+
* `pathname` is URL-encoded, as it appears in a URL: `/` or `/seg(/seg)*` with no empty segment,
|
|
143
|
+
* trailing slash, query or fragment (anything else matches nothing). A host that receives decoded
|
|
144
|
+
* segments encodes each with `encodeURIComponent` before joining them.
|
|
145
|
+
*
|
|
146
|
+
* A static route segment matches only the identical pathname segment. A param segment matches any
|
|
147
|
+
* other segment that decodes to a plain value (see `paramValue`); a segment containing `:` never
|
|
148
|
+
* matches a param. When several routes match, the one with a static segment at the first position
|
|
149
|
+
* where they differ wins (static before param, left to right); among equals, the first declared.
|
|
150
|
+
* Routes whose path is not in the grammar are ignored, so a stale or hand-edited feed entry can
|
|
151
|
+
* never match.
|
|
152
|
+
*/
|
|
153
|
+
function matchAppRoute(routes, pathname) {
|
|
154
|
+
if (!pathname.startsWith("/") || /[?#]/.test(pathname))
|
|
155
|
+
return null;
|
|
156
|
+
const segments = segmentsOf(pathname);
|
|
157
|
+
if (segments.some((s) => s === ""))
|
|
158
|
+
return null;
|
|
159
|
+
let best = null;
|
|
160
|
+
for (const [index, route] of routes.entries()) {
|
|
161
|
+
const candidate = matchOne(route, index, segments);
|
|
162
|
+
if (candidate !== null && (best === null || outranks(candidate.rank, best.rank)))
|
|
163
|
+
best = candidate;
|
|
164
|
+
}
|
|
165
|
+
return best === null ? null : best.match;
|
|
166
|
+
}
|
|
167
|
+
/** Matches one route against the pathname's segments, with its static/param rank. */
|
|
168
|
+
function matchOne(route, index, segments) {
|
|
169
|
+
if (!isRoutePath(route.path))
|
|
170
|
+
return null;
|
|
171
|
+
const pattern = segmentsOf(route.path);
|
|
172
|
+
if (pattern.length !== segments.length)
|
|
173
|
+
return null;
|
|
174
|
+
const params = {};
|
|
175
|
+
const rank = [];
|
|
176
|
+
for (let i = 0; i < pattern.length; i++) {
|
|
177
|
+
const expected = pattern[i] ?? "";
|
|
178
|
+
const actual = segments[i] ?? "";
|
|
179
|
+
if (PARAM_SEGMENT_RE.test(expected)) {
|
|
180
|
+
const value = paramValue(actual);
|
|
181
|
+
if (value === null)
|
|
182
|
+
return null;
|
|
183
|
+
params[expected.slice(1)] = value;
|
|
184
|
+
rank.push(false);
|
|
185
|
+
}
|
|
186
|
+
else {
|
|
187
|
+
if (expected !== actual)
|
|
188
|
+
return null;
|
|
189
|
+
rank.push(true);
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
return { match: { route, params, index }, rank };
|
|
193
|
+
}
|
|
194
|
+
/** Whether `a` has a static segment at the first position where it and `b` differ. */
|
|
195
|
+
function outranks(a, b) {
|
|
196
|
+
for (let i = 0; i < a.length; i++) {
|
|
197
|
+
if (a[i] !== b[i])
|
|
198
|
+
return a[i] === true;
|
|
199
|
+
}
|
|
200
|
+
return false;
|
|
201
|
+
}
|
|
202
|
+
//# sourceMappingURL=routes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"routes.js","sourceRoot":"","sources":["../../../src/apps/routes.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
export type Portal = "vendor" | "company" | "facility" | "system";
|
|
2
|
-
export type SurfaceKind = "navigation" | "drawer.default" | "overview" | "list" | "list.row_action" | "detail" | "detail.tabs" | "settings"
|
|
2
|
+
export type SurfaceKind = "navigation" | "drawer.default" | "overview" | "list" | "list.row_action" | "detail" | "detail.tabs" | "settings"
|
|
3
|
+
/** An app page: one of the app's own `ui_extensions.routes`, rendered full screen. */
|
|
4
|
+
| "page";
|
|
3
5
|
/**
|
|
4
6
|
* The kind of record a surface is showing. These match the public API resource each one is
|
|
5
7
|
* read through (`/vendors`, `/vendors/credentials`, `/facilities`, `/companies`,
|
|
@@ -27,6 +29,19 @@ export interface SurfaceDef {
|
|
|
27
29
|
/** Wave 1 surfaces are rendered by the host; Wave 2 ids are reserved and accepted in manifests. */
|
|
28
30
|
readonly wave: 1 | 2;
|
|
29
31
|
}
|
|
32
|
+
/**
|
|
33
|
+
* Host URL segment reserved for app pages: `/{portal}/apps/{appId}/pages{path}`. No host route may
|
|
34
|
+
* be defined under it except the screens that render app pages, so an app path can never shadow a
|
|
35
|
+
* host page. It is not reserved inside an app's own space: `/pages/foo` is an ordinary app path.
|
|
36
|
+
*/
|
|
37
|
+
export declare const APP_PAGES_SEGMENT = "pages";
|
|
38
|
+
/**
|
|
39
|
+
* The host pathname of an app page: `/{portal}/apps/{appId}/pages{path}`, with the root path `/`
|
|
40
|
+
* at `/{portal}/apps/{appId}/pages`. Throws unless `appId` is a positive integer and `path` is a
|
|
41
|
+
* concrete route path (`isConcreteRoutePath`), so no input can resolve outside the app's own pages
|
|
42
|
+
* (`/../settings`, `//evil.example`).
|
|
43
|
+
*/
|
|
44
|
+
export declare function appPagePathname(portal: Portal, appId: number, path: string): string;
|
|
30
45
|
export declare const SURFACES: readonly SurfaceDef[];
|
|
31
46
|
/**
|
|
32
47
|
* A surface identifier. This is deliberately a plain `string`: the catalog is data-driven, so the
|
|
@@ -38,6 +53,9 @@ export declare function isSurfaceId(value: unknown): value is SurfaceId;
|
|
|
38
53
|
export declare function getSurface(id: string): SurfaceDef | undefined;
|
|
39
54
|
/** The fallback surface a portal resolves to when an app has no view for the exact surface. */
|
|
40
55
|
export declare function drawerDefaultFor(portal: Portal): SurfaceId;
|
|
41
|
-
/**
|
|
56
|
+
/**
|
|
57
|
+
* Surfaces the host renders for a portal in the given wave (and earlier waves). Portal-less
|
|
58
|
+
* surfaces (`settings`, `page`) are never included: they belong to an app, not to a portal screen.
|
|
59
|
+
*/
|
|
42
60
|
export declare function surfacesForPortal(portal: Portal, wave?: 1 | 2): SurfaceDef[];
|
|
43
61
|
//# sourceMappingURL=surfaces.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"surfaces.d.ts","sourceRoot":"","sources":["../../../src/apps/surfaces.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"surfaces.d.ts","sourceRoot":"","sources":["../../../src/apps/surfaces.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,MAAM,GAAG,QAAQ,GAAG,SAAS,GAAG,UAAU,GAAG,QAAQ,CAAC;AAElE,MAAM,MAAM,WAAW,GACnB,YAAY,GACZ,gBAAgB,GAChB,UAAU,GACV,MAAM,GACN,iBAAiB,GACjB,QAAQ,GACR,aAAa,GACb,UAAU;AACZ,sFAAsF;GACpF,MAAM,CAAC;AAEX;;;;;GAKG;AACH,MAAM,MAAM,UAAU,GACpB,QAAQ,GAAG,mBAAmB,GAAG,UAAU,GAAG,SAAS,GAAG,aAAa,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,CAAC;AAExH,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI,CAAC;IACvC;;;;OAIG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB;;;;OAIG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,mGAAmG;IACnG,QAAQ,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC;CACtB;AAED;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,UAAU,CAAC;AAEzC;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAQnF;AA8ED,eAAO,MAAM,QAAQ,EAAE,SAAS,UAAU,EAWxC,CAAC;AAEH;;;;GAIG;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC;AAI/B,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,SAAS,CAE9D;AAED,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAE7D;AAED,+FAA+F;AAC/F,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAE1D;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,GAAE,CAAC,GAAG,CAAK,GAAG,UAAU,EAAE,CAE/E"}
|
|
@@ -1,14 +1,37 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
/*
|
|
3
|
-
* Hand-written (not generated by Speakeasy). Part of the third-party app platform contract;
|
|
4
|
-
* see docs/third-party-apps/plan.md. Host (web-mobile-client) and SDK both import from here.
|
|
5
|
-
*/
|
|
6
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.SURFACES = void 0;
|
|
3
|
+
exports.SURFACES = exports.APP_PAGES_SEGMENT = void 0;
|
|
4
|
+
exports.appPagePathname = appPagePathname;
|
|
8
5
|
exports.isSurfaceId = isSurfaceId;
|
|
9
6
|
exports.getSurface = getSurface;
|
|
10
7
|
exports.drawerDefaultFor = drawerDefaultFor;
|
|
11
8
|
exports.surfacesForPortal = surfacesForPortal;
|
|
9
|
+
/*
|
|
10
|
+
* Hand-written (not generated by Speakeasy). Part of the third-party app platform contract;
|
|
11
|
+
* see docs/third-party-apps/plan.md. Host (web-mobile-client) and SDK both import from here.
|
|
12
|
+
*/
|
|
13
|
+
const routes_js_1 = require("./routes.js");
|
|
14
|
+
/**
|
|
15
|
+
* Host URL segment reserved for app pages: `/{portal}/apps/{appId}/pages{path}`. No host route may
|
|
16
|
+
* be defined under it except the screens that render app pages, so an app path can never shadow a
|
|
17
|
+
* host page. It is not reserved inside an app's own space: `/pages/foo` is an ordinary app path.
|
|
18
|
+
*/
|
|
19
|
+
exports.APP_PAGES_SEGMENT = "pages";
|
|
20
|
+
/**
|
|
21
|
+
* The host pathname of an app page: `/{portal}/apps/{appId}/pages{path}`, with the root path `/`
|
|
22
|
+
* at `/{portal}/apps/{appId}/pages`. Throws unless `appId` is a positive integer and `path` is a
|
|
23
|
+
* concrete route path (`isConcreteRoutePath`), so no input can resolve outside the app's own pages
|
|
24
|
+
* (`/../settings`, `//evil.example`).
|
|
25
|
+
*/
|
|
26
|
+
function appPagePathname(portal, appId, path) {
|
|
27
|
+
if (!Number.isSafeInteger(appId) || appId <= 0) {
|
|
28
|
+
throw new RangeError(`appPagePathname: app id must be a positive integer, got ${String(appId)}`);
|
|
29
|
+
}
|
|
30
|
+
if (!(0, routes_js_1.isConcreteRoutePath)(path)) {
|
|
31
|
+
throw new RangeError(`appPagePathname: not a concrete route path: ${JSON.stringify(path)}`);
|
|
32
|
+
}
|
|
33
|
+
return `/${portal}/apps/${appId}/${exports.APP_PAGES_SEGMENT}${path === "/" ? "" : path}`;
|
|
34
|
+
}
|
|
12
35
|
/** Expands a list surface into the surface itself and its row-action surface. */
|
|
13
36
|
function list(portal, entity, objectType, route) {
|
|
14
37
|
return [
|
|
@@ -67,7 +90,15 @@ function staffPortal(portal) {
|
|
|
67
90
|
];
|
|
68
91
|
}
|
|
69
92
|
function define(portal, wave, entries) {
|
|
70
|
-
return entries.map(([id, kind, objectType, route, idParam]) => ({
|
|
93
|
+
return entries.map(([id, kind, objectType, route, idParam]) => ({
|
|
94
|
+
id,
|
|
95
|
+
portal,
|
|
96
|
+
kind,
|
|
97
|
+
objectType,
|
|
98
|
+
route,
|
|
99
|
+
idParam,
|
|
100
|
+
wave,
|
|
101
|
+
}));
|
|
71
102
|
}
|
|
72
103
|
exports.SURFACES = Object.freeze([
|
|
73
104
|
...define("company", 1, COMPANY),
|
|
@@ -76,6 +107,10 @@ exports.SURFACES = Object.freeze([
|
|
|
76
107
|
...define("system", 2, staffPortal("system")),
|
|
77
108
|
// The app's own settings page. Every portal has one, so the route names the portal as a segment.
|
|
78
109
|
...define(null, 1, [["settings", "settings", null, "/[portal]/apps/[appId]/settings", "appId"]]),
|
|
110
|
+
// Every app page (`ui_extensions.routes`), under the one prefix reserved for apps. Like
|
|
111
|
+
// `settings` it has no portal of its own, and it is not a view viewport or a `surface` target:
|
|
112
|
+
// apps declare pages as routes and reach them with `{ type: "appPage" }`.
|
|
113
|
+
...define(null, 1, [["page", "page", null, `/[portal]/apps/[appId]/${exports.APP_PAGES_SEGMENT}/[...path]`, "appId"]]),
|
|
79
114
|
]);
|
|
80
115
|
const SURFACES_BY_ID = new Map(exports.SURFACES.map((s) => [s.id, s]));
|
|
81
116
|
function isSurfaceId(value) {
|
|
@@ -88,7 +123,10 @@ function getSurface(id) {
|
|
|
88
123
|
function drawerDefaultFor(portal) {
|
|
89
124
|
return `gs.${portal}.drawer.default`;
|
|
90
125
|
}
|
|
91
|
-
/**
|
|
126
|
+
/**
|
|
127
|
+
* Surfaces the host renders for a portal in the given wave (and earlier waves). Portal-less
|
|
128
|
+
* surfaces (`settings`, `page`) are never included: they belong to an app, not to a portal screen.
|
|
129
|
+
*/
|
|
92
130
|
function surfacesForPortal(portal, wave = 1) {
|
|
93
131
|
return exports.SURFACES.filter((s) => s.portal === portal && s.wave <= wave);
|
|
94
132
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"surfaces.js","sourceRoot":"","sources":["../../../src/apps/surfaces.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"surfaces.js","sourceRoot":"","sources":["../../../src/apps/surfaces.ts"],"names":[],"mappings":"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"}
|