@ascendenceai/cortena-extensions-e2e-kit 0.1.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 (42) hide show
  1. package/LICENSE +7 -0
  2. package/README.md +126 -0
  3. package/dist/config.d.ts +59 -0
  4. package/dist/config.js +63 -0
  5. package/dist/config.js.map +1 -0
  6. package/dist/env.d.ts +43 -0
  7. package/dist/env.js +67 -0
  8. package/dist/env.js.map +1 -0
  9. package/dist/fixtures/consent.d.ts +107 -0
  10. package/dist/fixtures/consent.js +220 -0
  11. package/dist/fixtures/consent.js.map +1 -0
  12. package/dist/fixtures/embedded.d.ts +47 -0
  13. package/dist/fixtures/embedded.js +60 -0
  14. package/dist/fixtures/embedded.js.map +1 -0
  15. package/dist/fixtures/list-state.d.ts +43 -0
  16. package/dist/fixtures/list-state.js +58 -0
  17. package/dist/fixtures/list-state.js.map +1 -0
  18. package/dist/fixtures/popup.d.ts +44 -0
  19. package/dist/fixtures/popup.js +81 -0
  20. package/dist/fixtures/popup.js.map +1 -0
  21. package/dist/fixtures/shell.d.ts +63 -0
  22. package/dist/fixtures/shell.js +96 -0
  23. package/dist/fixtures/shell.js.map +1 -0
  24. package/dist/fixtures/sign-in.d.ts +59 -0
  25. package/dist/fixtures/sign-in.js +115 -0
  26. package/dist/fixtures/sign-in.js.map +1 -0
  27. package/dist/fixtures/theme.d.ts +42 -0
  28. package/dist/fixtures/theme.js +79 -0
  29. package/dist/fixtures/theme.js.map +1 -0
  30. package/dist/index.d.ts +34 -0
  31. package/dist/index.js +25 -0
  32. package/dist/index.js.map +1 -0
  33. package/dist/locators.d.ts +210 -0
  34. package/dist/locators.js +212 -0
  35. package/dist/locators.js.map +1 -0
  36. package/dist/protocol/suite.d.ts +31 -0
  37. package/dist/protocol/suite.js +196 -0
  38. package/dist/protocol/suite.js.map +1 -0
  39. package/dist/protocol/types.d.ts +61 -0
  40. package/dist/protocol/types.js +4 -0
  41. package/dist/protocol/types.js.map +1 -0
  42. package/package.json +58 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"suite.js","sourceRoot":"","sources":["../../src/protocol/suite.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,61 @@
1
+ import type { BrandedAnnotation } from '@ascendenceai/cortena-extensions-assure-reporters/annotations';
2
+ import type { ListStateFilter, ListStateOptions } from '../fixtures/list-state.js';
3
+ import type { ShellExpectations } from '../fixtures/shell.js';
4
+ /**
5
+ * The six cases, one per spec.
6
+ *
7
+ * They are passed **in** rather than built here, and that is not an oversight.
8
+ * `assure-sync-cases` reads `assureCase({ … })` out of the source *without
9
+ * running it* — it parses the object literal, and it skips `node_modules`. A
10
+ * case built inside this package is therefore a case the sync cannot see, and
11
+ * a spec with no case records no result. So the literals live in the
12
+ * extension's own `e2e/protocol.spec.ts`, where the scanner walks, and the
13
+ * *behaviour* lives here, where it is written once. The generator emits the
14
+ * literals; an adopter copies them with the config.
15
+ */
16
+ export interface ProtocolCases {
17
+ login: BrandedAnnotation;
18
+ embedded: BrandedAnnotation;
19
+ consent: BrandedAnnotation;
20
+ popup: BrandedAnnotation;
21
+ listState: BrandedAnnotation;
22
+ shell: BrandedAnnotation;
23
+ }
24
+ export declare const PROTOCOL_CASE_KEYS: readonly ["login", "embedded", "consent", "popup", "listState", "shell"];
25
+ /** What only the extension can say about its own screens. */
26
+ export interface ProtocolExpectations extends ShellExpectations {
27
+ /**
28
+ * Something on the list route that proves it rendered — a heading, usually.
29
+ * Matched as an accessible name, so it is the thing a person reads.
30
+ */
31
+ listHeading: string | RegExp;
32
+ /** A question for the agent that is safe to ask on every run and changes nothing. */
33
+ agentPrompt: string;
34
+ /**
35
+ * A question whose answer the agent draws as A2UI or an MCP App. Left unset,
36
+ * the A2UI half of P-25 is asserted against whatever `agentPrompt` produced,
37
+ * which is usually nothing — so set it.
38
+ */
39
+ a2uiPrompt?: string;
40
+ /**
41
+ * The scopes the consent page must name. Left unset, the first scope the
42
+ * extension's own `/.well-known/oauth-protected-resource` advertises is
43
+ * asked for — which is the one an MCP client would discover.
44
+ */
45
+ consentScopes?: string[];
46
+ }
47
+ export interface ProtocolSuiteOptions {
48
+ /** The deployed test host, e.g. `https://test.tasks.ascendenceai.com`. */
49
+ host: string;
50
+ /** The extension's first list route, without a query. */
51
+ listRoute: string;
52
+ /** One filter on that list, as the query parameter that must hold it (§9). */
53
+ filter: ListStateFilter;
54
+ detail: ListStateOptions['detail'];
55
+ /** The AgentTemplate slug, which is also the extension id and the mark id (§19.1). */
56
+ agentSlug: string;
57
+ /** Words the help panel must contain — the extension's own functional document (§13). */
58
+ helpTopic: string;
59
+ expects: ProtocolExpectations;
60
+ cases: ProtocolCases;
61
+ }
@@ -0,0 +1,4 @@
1
+ export const PROTOCOL_CASE_KEYS = [
2
+ 'login', 'embedded', 'consent', 'popup', 'listState', 'shell',
3
+ ];
4
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/protocol/types.ts"],"names":[],"mappings":"AAyBA,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO;CACR,CAAC"}
package/package.json ADDED
@@ -0,0 +1,58 @@
1
+ {
2
+ "name": "@ascendenceai/cortena-extensions-e2e-kit",
3
+ "version": "0.1.0",
4
+ "description": "The shared Playwright layer-3 kit: the six protocol flows every extension must prove, as fixtures and one defineProtocolSuite() — §23.4, rule P-36.",
5
+ "license": "SEE LICENSE IN LICENSE",
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "git+https://github.com/Ascendence-AI-Technology-Pvt-Ltd/cortena-extensions.git",
9
+ "directory": "packages/e2e-kit"
10
+ },
11
+ "type": "module",
12
+ "main": "dist/index.js",
13
+ "types": "dist/index.d.ts",
14
+ "exports": {
15
+ ".": {
16
+ "types": "./dist/index.d.ts",
17
+ "default": "./dist/index.js"
18
+ },
19
+ "./locators": {
20
+ "types": "./dist/locators.d.ts",
21
+ "default": "./dist/locators.js"
22
+ },
23
+ "./config": {
24
+ "types": "./dist/config.d.ts",
25
+ "default": "./dist/config.js"
26
+ },
27
+ "./package.json": "./package.json"
28
+ },
29
+ "files": [
30
+ "dist",
31
+ "README.md",
32
+ "LICENSE"
33
+ ],
34
+ "publishConfig": {
35
+ "access": "public"
36
+ },
37
+ "dependencies": {
38
+ "@ascendenceai/cortena-extensions-assure-reporters": "0.1.0"
39
+ },
40
+ "peerDependencies": {
41
+ "@playwright/test": ">=1.50.0"
42
+ },
43
+ "devDependencies": {
44
+ "@playwright/test": "^1.50.0",
45
+ "@types/node": "^22.0.0",
46
+ "typescript": "^5.7.0",
47
+ "vitest": "^3.0.0"
48
+ },
49
+ "engines": {
50
+ "node": ">=22"
51
+ },
52
+ "scripts": {
53
+ "build": "tsc",
54
+ "typecheck": "tsc --noEmit -p tsconfig.test.json",
55
+ "lint": "tsc --noEmit -p tsconfig.test.json",
56
+ "test": "vitest run"
57
+ }
58
+ }