@roster-lock/match-agent 0.1.0 → 0.2.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 (107) hide show
  1. package/client/dist/assets/index-DeYshswm.js +125 -0
  2. package/client/dist/assets/index-gxAuIfGQ.css +1 -0
  3. package/client/dist/index.html +13 -0
  4. package/client/index.html +12 -0
  5. package/client/node_modules/.bin/terser +17 -0
  6. package/client/node_modules/.bin/tsc +17 -0
  7. package/client/node_modules/.bin/vite +17 -0
  8. package/client/node_modules/.vite/deps/@rjsf_core.js +6609 -0
  9. package/client/node_modules/.vite/deps/@rjsf_core.js.map +7 -0
  10. package/client/node_modules/.vite/deps/@rjsf_validator-ajv8.js +13 -0
  11. package/client/node_modules/.vite/deps/@rjsf_validator-ajv8.js.map +7 -0
  12. package/client/node_modules/.vite/deps/@roster-lock_ts-client.js +419 -0
  13. package/client/node_modules/.vite/deps/@roster-lock_ts-client.js.map +7 -0
  14. package/client/node_modules/.vite/deps/@roster-lock_types.js +5 -0
  15. package/client/node_modules/.vite/deps/@roster-lock_types.js.map +7 -0
  16. package/client/node_modules/.vite/deps/@roster-lock_utils.js +5 -0
  17. package/client/node_modules/.vite/deps/@roster-lock_utils.js.map +7 -0
  18. package/client/node_modules/.vite/deps/_metadata.json +97 -0
  19. package/client/node_modules/.vite/deps/chunk-4D2L7OBZ.js +16039 -0
  20. package/client/node_modules/.vite/deps/chunk-4D2L7OBZ.js.map +7 -0
  21. package/client/node_modules/.vite/deps/chunk-5KLROPUR.js +292 -0
  22. package/client/node_modules/.vite/deps/chunk-5KLROPUR.js.map +7 -0
  23. package/client/node_modules/.vite/deps/chunk-77TXW5ZT.js +280 -0
  24. package/client/node_modules/.vite/deps/chunk-77TXW5ZT.js.map +7 -0
  25. package/client/node_modules/.vite/deps/chunk-I55GDNGV.js +1004 -0
  26. package/client/node_modules/.vite/deps/chunk-I55GDNGV.js.map +7 -0
  27. package/client/node_modules/.vite/deps/chunk-IIDO6PKU.js +2337 -0
  28. package/client/node_modules/.vite/deps/chunk-IIDO6PKU.js.map +7 -0
  29. package/client/node_modules/.vite/deps/chunk-NE7PXY4V.js +466 -0
  30. package/client/node_modules/.vite/deps/chunk-NE7PXY4V.js.map +7 -0
  31. package/client/node_modules/.vite/deps/chunk-WMTNK64S.js +52 -0
  32. package/client/node_modules/.vite/deps/chunk-WMTNK64S.js.map +7 -0
  33. package/client/node_modules/.vite/deps/package.json +3 -0
  34. package/client/node_modules/.vite/deps/react-dom.js +6 -0
  35. package/client/node_modules/.vite/deps/react-dom.js.map +7 -0
  36. package/client/node_modules/.vite/deps/react-dom_client.js +20217 -0
  37. package/client/node_modules/.vite/deps/react-dom_client.js.map +7 -0
  38. package/client/node_modules/.vite/deps/react-router-dom.js +14702 -0
  39. package/client/node_modules/.vite/deps/react-router-dom.js.map +7 -0
  40. package/client/node_modules/.vite/deps/react.js +5 -0
  41. package/client/node_modules/.vite/deps/react.js.map +7 -0
  42. package/client/node_modules/.vite/deps/react_jsx-dev-runtime.js +278 -0
  43. package/client/node_modules/.vite/deps/react_jsx-dev-runtime.js.map +7 -0
  44. package/client/node_modules/.vite/deps/react_jsx-runtime.js +6 -0
  45. package/client/node_modules/.vite/deps/react_jsx-runtime.js.map +7 -0
  46. package/client/node_modules/.vite/deps_temp_ab51ebe9/package.json +3 -0
  47. package/client/package.json +30 -0
  48. package/client/src/App.tsx +56 -0
  49. package/client/src/NavBar.tsx +13 -0
  50. package/client/src/api/matchAgent.ts +159 -0
  51. package/client/src/bridge/hostBridge.ts +149 -0
  52. package/client/src/components/GameLauncherSettingsForm.tsx +140 -0
  53. package/client/src/components/InstallGameLauncherLightbox.tsx +31 -0
  54. package/client/src/components/Lightbox.tsx +15 -0
  55. package/client/src/components/RequireConnection.tsx +9 -0
  56. package/client/src/components/Selection/PieceCard.tsx +36 -0
  57. package/client/src/components/Selection/PieceTypeSection.tsx +112 -0
  58. package/client/src/components/Selection/PieceTypeTabs.tsx +31 -0
  59. package/client/src/components/Selection/PlayerSelectionPanel.tsx +40 -0
  60. package/client/src/components/Selection/index.tsx +147 -0
  61. package/client/src/components/Selection/selectionPlan.ts +75 -0
  62. package/client/src/context/DownloadSessionContext.tsx +48 -0
  63. package/client/src/context/IdentityContext.tsx +53 -0
  64. package/client/src/context/JoinSettingsContext.tsx +83 -0
  65. package/client/src/context/MatchAgentContext.tsx +85 -0
  66. package/client/src/hooks/useCursorInput.ts +55 -0
  67. package/client/src/hooks/useGamepads.ts +31 -0
  68. package/client/src/main.tsx +10 -0
  69. package/client/src/pages/Connect/index.tsx +46 -0
  70. package/client/src/pages/Download/index.tsx +175 -0
  71. package/client/src/pages/Game/index.tsx +65 -0
  72. package/client/src/pages/GameLauncher/Detail.tsx +12 -0
  73. package/client/src/pages/GameLauncher/index.tsx +32 -0
  74. package/client/src/pages/JoinSettings/index.tsx +58 -0
  75. package/client/src/pages/MatchMaking/index.tsx +190 -0
  76. package/client/src/styles/global.css +355 -0
  77. package/client/tsconfig.json +17 -0
  78. package/client/tsconfig.tsbuildinfo +1 -0
  79. package/client/vite.config.ts +33 -0
  80. package/dist/config/manage.js.map +1 -1
  81. package/dist/handle-room/version-1/game-launcher.js +181 -0
  82. package/dist/handle-room/version-1/game-launcher.js.map +1 -0
  83. package/dist/handle-room/version-1/index.js +15 -2
  84. package/dist/handle-room/version-1/index.js.map +1 -1
  85. package/dist/handle-room/version-1/piece-sort.js +1 -0
  86. package/dist/handle-room/version-1/piece-sort.js.map +1 -1
  87. package/dist/index.js +7 -4
  88. package/dist/index.js.map +1 -1
  89. package/dist/serve-client.js +88 -0
  90. package/dist/serve-client.js.map +1 -0
  91. package/dist/server.js +1 -1
  92. package/dist/server.js.map +1 -1
  93. package/package.json +12 -6
  94. package/src/config/manage.ts +5 -1
  95. package/src/handle-room/version-1/game-launcher.ts +263 -0
  96. package/src/handle-room/version-1/globals/types.ts +24 -0
  97. package/src/handle-room/version-1/index.ts +23 -3
  98. package/src/handle-room/version-1/piece-sort.ts +1 -1
  99. package/src/index.ts +25 -5
  100. package/src/serve-client.ts +100 -0
  101. package/src/server.ts +1 -1
  102. package/tests/integration/game-launcher-list.test.ts +77 -0
  103. package/tests/integration/game-launcher-settings.test.ts +138 -0
  104. package/tests/integration/game-launcher-start.test.ts +81 -0
  105. package/tests/integration/helpers/fakePluginRuntime.ts +26 -1
  106. package/tests/integration/helpers/server.ts +8 -2
  107. package/src/index.old.ts +0 -71
@@ -0,0 +1 @@
1
+ :root{color-scheme:dark;--bg: #1e293b;--panel: #0f172a;--border: #334155;--accent: #38bdf8;--text: #e2e8f0;--error: #f87171;--success: #4ade80;font-family:system-ui,sans-serif}body{margin:0;background:var(--bg);color:var(--text)}.nav-bar{display:flex;gap:1rem;padding:.75rem 1.5rem;background:var(--panel);border-bottom:1px solid var(--border)}.nav-bar a{color:var(--accent);text-decoration:none}.page{max-width:960px;margin:0 auto;padding:1.5rem;display:flex;flex-direction:column;gap:.75rem}.page form{display:flex;flex-direction:column;gap:.75rem}label{display:flex;flex-direction:column;gap:.25rem;font-size:.9rem}input,select,button{padding:.5rem;border-radius:6px;border:1px solid var(--border);background:var(--panel);color:var(--text)}button{cursor:pointer;width:fit-content}button:disabled{opacity:.5;cursor:not-allowed}.error{color:var(--error)}.success{color:var(--success)}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:.35rem}.piece-card{display:flex;flex-direction:column;align-items:center;gap:.15rem;padding:.3rem}.piece-card[data-selected=true]{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}.piece-card[data-cursored=true]{outline:2px dashed var(--accent)}.piece-card-image{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--bg);border-radius:4px;overflow:hidden}.piece-card-image img{width:100%;height:100%;object-fit:cover}.piece-card-name{font-size:.75rem;text-align:center;line-height:1.1}.piece-card-status{font-size:.65rem;opacity:.7}.piece-card-image{position:relative}.piece-card-order-badge{position:absolute;top:-6px;left:-6px;min-width:18px;height:18px;padding:0 4px;border-radius:999px;background:var(--accent);color:var(--panel);font-size:.7rem;font-weight:700;display:flex;align-items:center;justify-content:center}.selection-board{display:flex;flex-direction:column;gap:.75rem}.selection-board-info{display:flex;flex-wrap:wrap;gap:.5rem;font-size:.8rem;opacity:.7}.piece-type-info-chip{border:1px solid var(--border);border-radius:999px;padding:.15rem .6rem}.piece-type-tabs{display:flex;flex-wrap:wrap;gap:.5rem;border-bottom:1px solid var(--border);padding-bottom:.5rem}.piece-type-tab{display:flex;align-items:center;gap:.4rem;background:transparent}.piece-type-tab[data-active=true]{border-color:var(--accent);background:var(--panel)}.piece-type-tab-dot{width:8px;height:8px;border-radius:999px;background:var(--error)}.piece-type-tab-dot[data-ready=true]{background:var(--success)}.selection-board-panels{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.75rem;align-items:start}.selection-board-footer{display:flex;align-items:center;gap:.75rem}.selection-board-hint{font-size:.85rem;color:var(--error)}.player-selection-panel{border:1px solid var(--border);border-radius:8px;padding:.75rem}.player-selection-header{display:flex;justify-content:space-between;font-weight:600;margin-bottom:.5rem}.piece-type-header{display:flex;justify-content:flex-end;font-size:.85rem;opacity:.8;margin-bottom:.25rem}.pick-order-list{list-style:none;margin:.5rem 0 0;padding:0;display:flex;flex-direction:column;gap:.25rem}.pick-order-item{display:flex;align-items:center;gap:.4rem;font-size:.8rem;border:1px solid var(--border);border-radius:6px;padding:.2rem .4rem}.pick-order-index{font-weight:700;color:var(--accent);min-width:1.2em}.pick-order-name{flex:1}.pick-order-move,.pick-order-remove{padding:.15rem .4rem;font-size:.75rem}.progress-bar{width:100%;height:10px;background:var(--panel);border:1px solid var(--border);border-radius:6px;overflow:hidden}.progress-fill{height:100%;background:var(--accent)}.tabs{display:flex;gap:.5rem}.tabs button[data-active=true]{border-color:var(--accent)}.player-slot-row{display:flex;gap:.5rem;align-items:center}.room-list,.participant-list,.game-process-list{list-style:none;padding:0;display:flex;flex-direction:column;gap:.5rem}.game-process-row{display:flex;gap:.5rem;align-items:center}.room-browse-controls{display:flex;gap:.5rem}.matchmaker-frame-wrap{display:flex;flex-direction:column;gap:.5rem}.matchmaker-frame{width:100%;height:70vh;border:1px solid var(--border);border-radius:8px;background:#fff}.lightbox-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:100}.lightbox-box{background:var(--bg);border:1px solid var(--border);border-radius:8px;width:98vw;height:96vh;max-width:98vw;max-height:96vh;overflow:auto;padding:1rem;box-sizing:border-box}
@@ -0,0 +1,13 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
+ <title>Roster Lock - Match Agent</title>
7
+ <script type="module" crossorigin src="/assets/index-DeYshswm.js"></script>
8
+ <link rel="stylesheet" crossorigin href="/assets/index-gxAuIfGQ.css">
9
+ </head>
10
+ <body>
11
+ <div id="root"></div>
12
+ </body>
13
+ </html>
@@ -0,0 +1,12 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
+ <title>Roster Lock - Match Agent</title>
7
+ </head>
8
+ <body>
9
+ <div id="root"></div>
10
+ <script type="module" src="/src/main.tsx"></script>
11
+ </body>
12
+ </html>
@@ -0,0 +1,17 @@
1
+ #!/bin/sh
2
+ basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
3
+
4
+ case `uname` in
5
+ *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
6
+ esac
7
+
8
+ if [ -z "$NODE_PATH" ]; then
9
+ export NODE_PATH="/home/sam/Programming/games/match-lock/node_modules/.pnpm/terser@5.49.0/node_modules/terser/bin/node_modules:/home/sam/Programming/games/match-lock/node_modules/.pnpm/terser@5.49.0/node_modules/terser/node_modules:/home/sam/Programming/games/match-lock/node_modules/.pnpm/terser@5.49.0/node_modules:/home/sam/Programming/games/match-lock/node_modules/.pnpm/node_modules"
10
+ else
11
+ export NODE_PATH="/home/sam/Programming/games/match-lock/node_modules/.pnpm/terser@5.49.0/node_modules/terser/bin/node_modules:/home/sam/Programming/games/match-lock/node_modules/.pnpm/terser@5.49.0/node_modules/terser/node_modules:/home/sam/Programming/games/match-lock/node_modules/.pnpm/terser@5.49.0/node_modules:/home/sam/Programming/games/match-lock/node_modules/.pnpm/node_modules:$NODE_PATH"
12
+ fi
13
+ if [ -x "$basedir/node" ]; then
14
+ exec "$basedir/node" "$basedir/../../../../../node_modules/.pnpm/terser@5.49.0/node_modules/terser/bin/terser" "$@"
15
+ else
16
+ exec node "$basedir/../../../../../node_modules/.pnpm/terser@5.49.0/node_modules/terser/bin/terser" "$@"
17
+ fi
@@ -0,0 +1,17 @@
1
+ #!/bin/sh
2
+ basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
3
+
4
+ case `uname` in
5
+ *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
6
+ esac
7
+
8
+ if [ -z "$NODE_PATH" ]; then
9
+ export NODE_PATH="/home/sam/Programming/games/match-lock/node_modules/.pnpm/typescript@7.0.2/node_modules/typescript/bin/node_modules:/home/sam/Programming/games/match-lock/node_modules/.pnpm/typescript@7.0.2/node_modules/typescript/node_modules:/home/sam/Programming/games/match-lock/node_modules/.pnpm/typescript@7.0.2/node_modules:/home/sam/Programming/games/match-lock/node_modules/.pnpm/node_modules"
10
+ else
11
+ export NODE_PATH="/home/sam/Programming/games/match-lock/node_modules/.pnpm/typescript@7.0.2/node_modules/typescript/bin/node_modules:/home/sam/Programming/games/match-lock/node_modules/.pnpm/typescript@7.0.2/node_modules/typescript/node_modules:/home/sam/Programming/games/match-lock/node_modules/.pnpm/typescript@7.0.2/node_modules:/home/sam/Programming/games/match-lock/node_modules/.pnpm/node_modules:$NODE_PATH"
12
+ fi
13
+ if [ -x "$basedir/node" ]; then
14
+ exec "$basedir/node" "$basedir/../typescript/bin/tsc" "$@"
15
+ else
16
+ exec node "$basedir/../typescript/bin/tsc" "$@"
17
+ fi
@@ -0,0 +1,17 @@
1
+ #!/bin/sh
2
+ basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
3
+
4
+ case `uname` in
5
+ *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
6
+ esac
7
+
8
+ if [ -z "$NODE_PATH" ]; then
9
+ export NODE_PATH="/home/sam/Programming/games/match-lock/node_modules/.pnpm/vite@5.4.21_@types+node@26.2.0_terser@5.49.0/node_modules/vite/bin/node_modules:/home/sam/Programming/games/match-lock/node_modules/.pnpm/vite@5.4.21_@types+node@26.2.0_terser@5.49.0/node_modules/vite/node_modules:/home/sam/Programming/games/match-lock/node_modules/.pnpm/vite@5.4.21_@types+node@26.2.0_terser@5.49.0/node_modules:/home/sam/Programming/games/match-lock/node_modules/.pnpm/node_modules"
10
+ else
11
+ export NODE_PATH="/home/sam/Programming/games/match-lock/node_modules/.pnpm/vite@5.4.21_@types+node@26.2.0_terser@5.49.0/node_modules/vite/bin/node_modules:/home/sam/Programming/games/match-lock/node_modules/.pnpm/vite@5.4.21_@types+node@26.2.0_terser@5.49.0/node_modules/vite/node_modules:/home/sam/Programming/games/match-lock/node_modules/.pnpm/vite@5.4.21_@types+node@26.2.0_terser@5.49.0/node_modules:/home/sam/Programming/games/match-lock/node_modules/.pnpm/node_modules:$NODE_PATH"
12
+ fi
13
+ if [ -x "$basedir/node" ]; then
14
+ exec "$basedir/node" "$basedir/../vite/bin/vite.js" "$@"
15
+ else
16
+ exec node "$basedir/../vite/bin/vite.js" "$@"
17
+ fi