@itmetsam/samurai-framework 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 (175) hide show
  1. package/.claude/settings.local.json +7 -0
  2. package/.env.example +3 -0
  3. package/.github/actions/setup/action.yml +16 -0
  4. package/.github/workflows/ci.yml +71 -0
  5. package/.trunk/configs/.markdownlint.yaml +2 -0
  6. package/.trunk/configs/.yamllint.yaml +7 -0
  7. package/.trunk/configs/svgo.config.mjs +14 -0
  8. package/.trunk/trunk.yaml +34 -0
  9. package/docs/superpowers/bidi-roadmap.md +60 -0
  10. package/docs/superpowers/plans/2026-09-29-auto-wait.md +1827 -0
  11. package/docs/superpowers/plans/2026-09-29-expect.md +1350 -0
  12. package/docs/superpowers/plans/2026-10-01-ci.md +350 -0
  13. package/docs/superpowers/plans/2026-10-01-test-api-alignment.md +1821 -0
  14. package/docs/superpowers/recorder-roadmap.md +52 -0
  15. package/docs/superpowers/specs/2026-09-29-auto-wait-design.md +185 -0
  16. package/docs/superpowers/specs/2026-09-29-bidi-foundation-design.md +130 -0
  17. package/docs/superpowers/specs/2026-09-29-contexts-and-storage-design.md +88 -0
  18. package/docs/superpowers/specs/2026-09-29-downloads-and-file-dialogs-design.md +94 -0
  19. package/docs/superpowers/specs/2026-09-29-emulation-design.md +88 -0
  20. package/docs/superpowers/specs/2026-09-29-expect-design.md +130 -0
  21. package/docs/superpowers/specs/2026-09-29-locate-nodes-design.md +90 -0
  22. package/docs/superpowers/specs/2026-09-29-logs-and-errors-design.md +87 -0
  23. package/docs/superpowers/specs/2026-09-29-navigation-waits-design.md +83 -0
  24. package/docs/superpowers/specs/2026-09-29-network-data-design.md +78 -0
  25. package/docs/superpowers/specs/2026-09-29-network-interception-design.md +91 -0
  26. package/docs/superpowers/specs/2026-09-29-network-tracking-design.md +86 -0
  27. package/docs/superpowers/specs/2026-09-29-page-api-design.md +90 -0
  28. package/docs/superpowers/specs/2026-09-29-preload-scripts-design.md +82 -0
  29. package/docs/superpowers/specs/2026-09-29-script-call-function-design.md +107 -0
  30. package/docs/superpowers/specs/2026-09-29-set-files-design.md +62 -0
  31. package/docs/superpowers/specs/2026-09-29-user-prompts-design.md +75 -0
  32. package/docs/superpowers/specs/2026-10-01-ci-design.md +106 -0
  33. package/docs/superpowers/specs/2026-10-01-test-api-alignment-design.md +241 -0
  34. package/package.json +27 -0
  35. package/public/logo-dark.svg +236 -0
  36. package/public/logo-light.svg +262 -0
  37. package/samurai.config.ts +7 -0
  38. package/src/api.ts +4 -0
  39. package/src/assert/assertion-error.test.ts +55 -0
  40. package/src/assert/assertion-error.ts +62 -0
  41. package/src/assert/expect-locator.test.ts +217 -0
  42. package/src/assert/expect.test.ts +73 -0
  43. package/src/assert/expect.ts +299 -0
  44. package/src/browser/browser-context.browser-test.ts +201 -0
  45. package/src/browser/browser-context.test.ts +407 -0
  46. package/src/browser/browser-context.ts +208 -0
  47. package/src/browser/browser-finder.ts +110 -0
  48. package/src/browser/browser.test.ts +88 -0
  49. package/src/browser/browser.ts +515 -0
  50. package/src/browser/context-tree.test.ts +86 -0
  51. package/src/browser/context-tree.ts +70 -0
  52. package/src/browser/dialog.browser-test.ts +144 -0
  53. package/src/browser/dialog.test.ts +322 -0
  54. package/src/browser/dialog.ts +83 -0
  55. package/src/browser/download.test.ts +161 -0
  56. package/src/browser/download.ts +172 -0
  57. package/src/browser/downloads-dir.test.ts +75 -0
  58. package/src/browser/downloads-dir.ts +39 -0
  59. package/src/browser/emulation.browser-test.ts +186 -0
  60. package/src/browser/emulation.test.ts +200 -0
  61. package/src/browser/emulation.ts +204 -0
  62. package/src/browser/file-chooser.test.ts +142 -0
  63. package/src/browser/file-chooser.ts +99 -0
  64. package/src/browser/file-paths.ts +18 -0
  65. package/src/browser/goto.browser-test.ts +44 -0
  66. package/src/browser/navigation-error.ts +26 -0
  67. package/src/browser/navigation.browser-test.ts +172 -0
  68. package/src/browser/page-api.browser-test.ts +228 -0
  69. package/src/browser/page-logs.browser-test.ts +119 -0
  70. package/src/browser/page-logs.test.ts +212 -0
  71. package/src/browser/page-logs.ts +208 -0
  72. package/src/browser/page-wait.ts +19 -0
  73. package/src/browser/page.test.ts +1567 -0
  74. package/src/browser/page.ts +1176 -0
  75. package/src/browser/pdf.ts +62 -0
  76. package/src/browser/screenshot.ts +65 -0
  77. package/src/browser/transfers.browser-test.ts +180 -0
  78. package/src/config/config.ts +33 -0
  79. package/src/config/default.ts +5 -0
  80. package/src/config/fixtures.test.ts +137 -0
  81. package/src/config/mask.test.ts +143 -0
  82. package/src/config/mask.ts +87 -0
  83. package/src/config/run-settings.test.ts +163 -0
  84. package/src/config/run-settings.ts +114 -0
  85. package/src/config/secrets.ts +70 -0
  86. package/src/config/variables.ts +31 -0
  87. package/src/index.ts +10 -0
  88. package/src/locator/action-timeout-error.test.ts +83 -0
  89. package/src/locator/action-timeout-error.ts +72 -0
  90. package/src/locator/element-state.test.ts +181 -0
  91. package/src/locator/element-state.ts +159 -0
  92. package/src/locator/locate-nodes.browser-test.ts +169 -0
  93. package/src/locator/locator-actions.test.ts +355 -0
  94. package/src/locator/locator-chain.test.ts +292 -0
  95. package/src/locator/locator.browser-test.ts +137 -0
  96. package/src/locator/locator.test.ts +179 -0
  97. package/src/locator/locator.ts +656 -0
  98. package/src/locator/selector-errors.ts +18 -0
  99. package/src/locator/selector.test.ts +124 -0
  100. package/src/locator/selector.ts +107 -0
  101. package/src/locator/set-files.browser-test.ts +141 -0
  102. package/src/locator/set-files.test.ts +191 -0
  103. package/src/locator/text-locator.test.ts +118 -0
  104. package/src/locator/text-locator.ts +38 -0
  105. package/src/logger/index.test.ts +28 -0
  106. package/src/logger/index.ts +40 -0
  107. package/src/network/data-collector.test.ts +111 -0
  108. package/src/network/data-collector.ts +92 -0
  109. package/src/network/network-data.browser-test.ts +192 -0
  110. package/src/network/network-tracker.browser-test.ts +151 -0
  111. package/src/network/network-tracker.test.ts +307 -0
  112. package/src/network/network-tracker.ts +286 -0
  113. package/src/network/network-wait.ts +28 -0
  114. package/src/network/response.test.ts +93 -0
  115. package/src/network/response.ts +58 -0
  116. package/src/network/router.browser-test.ts +260 -0
  117. package/src/network/router.test.ts +528 -0
  118. package/src/network/router.ts +420 -0
  119. package/src/network/url-match.test.ts +69 -0
  120. package/src/network/url-match.ts +41 -0
  121. package/src/runner/page-logs-report.test.ts +144 -0
  122. package/src/runner/page-logs-report.ts +82 -0
  123. package/src/runner/prepare-run.test.ts +33 -0
  124. package/src/runner/prepare-run.ts +36 -0
  125. package/src/runner/registry.test.ts +59 -0
  126. package/src/runner/registry.ts +46 -0
  127. package/src/runner/reporter.test.ts +73 -0
  128. package/src/runner/reporter.ts +109 -0
  129. package/src/runner/test-error.test.ts +39 -0
  130. package/src/runner/test-error.ts +20 -0
  131. package/src/runner/test-runner.ts +184 -0
  132. package/src/script/call-function.browser-test.ts +112 -0
  133. package/src/script/call-function.test.ts +174 -0
  134. package/src/script/call-function.ts +113 -0
  135. package/src/script/element-handle.ts +11 -0
  136. package/src/script/helpers.test.ts +116 -0
  137. package/src/script/helpers.ts +68 -0
  138. package/src/script/preload.browser-test.ts +144 -0
  139. package/src/script/preload.test.ts +180 -0
  140. package/src/script/preload.ts +102 -0
  141. package/src/script/serialize.test.ts +182 -0
  142. package/src/script/serialize.ts +203 -0
  143. package/src/testing/browser-fixture.ts +18 -0
  144. package/src/testing/fake-websocket.ts +72 -0
  145. package/src/testing/stub-connector.ts +154 -0
  146. package/src/tests/index.spec.ts +30 -0
  147. package/src/transport/bidi-connection.test.ts +155 -0
  148. package/src/transport/bidi-connection.ts +256 -0
  149. package/src/transport/bidi-error.ts +23 -0
  150. package/src/transport/foundation.browser-test.ts +73 -0
  151. package/src/transport/subscriptions.test.ts +140 -0
  152. package/src/transport/subscriptions.ts +110 -0
  153. package/src/types/bidi-commands.test-d.ts +55 -0
  154. package/src/types/bidi-modules/browser.d.ts +103 -0
  155. package/src/types/bidi-modules/browsing-context.d.ts +430 -0
  156. package/src/types/bidi-modules/emulation.d.ts +280 -0
  157. package/src/types/bidi-modules/input.d.ts +201 -0
  158. package/src/types/bidi-modules/log.d.ts +49 -0
  159. package/src/types/bidi-modules/network.d.ts +358 -0
  160. package/src/types/bidi-modules/permissions.d.ts +19 -0
  161. package/src/types/bidi-modules/script.d.ts +543 -0
  162. package/src/types/bidi-modules/session.d.ts +135 -0
  163. package/src/types/bidi-modules/storage.d.ts +92 -0
  164. package/src/types/bidi-modules/web-extensions.d.ts +9 -0
  165. package/src/types/bidi-protocols/command.d.ts +7 -0
  166. package/src/types/bidi-protocols/error.d.ts +38 -0
  167. package/src/types/bidi-protocols/event.d.ts +17 -0
  168. package/src/types/bidi.d.ts +65 -0
  169. package/src/types/browser.d.ts +1 -0
  170. package/src/types/config.d.ts +157 -0
  171. package/src/types/env.d.ts +5 -0
  172. package/src/types/test.d.ts +95 -0
  173. package/src/wait/wait-until.test.ts +117 -0
  174. package/src/wait/wait-until.ts +86 -0
  175. package/tsconfig.json +44 -0
package/tsconfig.json ADDED
@@ -0,0 +1,44 @@
1
+ {
2
+ // Visit https://aka.ms/tsconfig to read more about this file
3
+ "compilerOptions": {
4
+ // File Layout
5
+ "rootDir": "./src",
6
+ "outDir": "./dist",
7
+ "paths": {
8
+ "browsers/*": ["./browsers"]
9
+ },
10
+
11
+ // Environment Settings
12
+ // See also https://aka.ms/tsconfig/module
13
+ "module": "nodenext",
14
+ "target": "es2021",
15
+ "types": ["node"],
16
+ // For nodejs:
17
+ // "lib": ["esnext"],
18
+
19
+ // Other Outputs
20
+ "sourceMap": false,
21
+ "declaration": true,
22
+ "declarationMap": false,
23
+
24
+ // Stricter Typechecking Options
25
+ "noUncheckedIndexedAccess": true,
26
+
27
+ // Style Optiong
28
+ // "noImplicitReturns": true,
29
+ // "noImplicitOverride": true,
30
+ // "noUnusedLocals": true,
31
+ // "noUnusedParameters": true,
32
+ // "noFallthroughCasesInSwitch": true,
33
+ // "noPropertyAccessFromIndexSignature": true,
34
+
35
+ // Recommended Options
36
+ "strict": true,
37
+ "verbatimModuleSyntax": true,
38
+ "isolatedModules": true,
39
+ "noUncheckedSideEffectImports": true,
40
+ "moduleDetection": "force",
41
+ "skipLibCheck": true
42
+ },
43
+ "include": ["src"]
44
+ }