qiksy 1.0.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 (78) hide show
  1. package/ARCHITECTURE.md +78 -0
  2. package/INSTALL-PROMPT.md +53 -0
  3. package/bin/qiksy.mjs +302 -0
  4. package/package.json +32 -0
  5. package/tools/client-finder/vendor/README.md +70 -0
  6. package/tools/client-finder/vendor/find.mjs +121 -0
  7. package/tools/client-finder/vendor/icp/assist-pl-shops.json +30 -0
  8. package/tools/client-finder/vendor/icp/assist-ua-shops.json +30 -0
  9. package/tools/client-finder/vendor/knowledge/assist.md +68 -0
  10. package/tools/client-finder/vendor/knowledge/custom.md +36 -0
  11. package/tools/client-finder/vendor/knowledge/multilogin.md +29 -0
  12. package/tools/client-finder/vendor/knowledge/pay.md +26 -0
  13. package/tools/client-finder/vendor/knowledge/qa-copilot.md +43 -0
  14. package/tools/client-finder/vendor/knowledge/travel.md +43 -0
  15. package/tools/client-finder/vendor/knowledge/work-finder.md +52 -0
  16. package/tools/client-finder/vendor/lib/access.mjs +108 -0
  17. package/tools/client-finder/vendor/lib/agent.mjs +204 -0
  18. package/tools/client-finder/vendor/lib/approver-mcp.mjs +78 -0
  19. package/tools/client-finder/vendor/lib/browser.mjs +108 -0
  20. package/tools/client-finder/vendor/lib/catalog.mjs +86 -0
  21. package/tools/client-finder/vendor/lib/channels.mjs +54 -0
  22. package/tools/client-finder/vendor/lib/deliver.mjs +89 -0
  23. package/tools/client-finder/vendor/lib/engine.mjs +283 -0
  24. package/tools/client-finder/vendor/lib/formats.mjs +108 -0
  25. package/tools/client-finder/vendor/lib/jobs.mjs +75 -0
  26. package/tools/client-finder/vendor/lib/knowledge.mjs +26 -0
  27. package/tools/client-finder/vendor/lib/prompts.mjs +183 -0
  28. package/tools/client-finder/vendor/lib/report.mjs +75 -0
  29. package/tools/client-finder/vendor/lib/scope.mjs +162 -0
  30. package/tools/client-finder/vendor/lib/spawn-claude.mjs +44 -0
  31. package/tools/client-finder/vendor/lib/verify.mjs +96 -0
  32. package/tools/client-finder/vendor/package.json +8 -0
  33. package/tools/client-finder/vendor/server.mjs +390 -0
  34. package/tools/travel/vendor/README.md +58 -0
  35. package/tools/travel/vendor/docs/CONTRACT.md +174 -0
  36. package/tools/travel/vendor/docs/ENGINE-MIGRATION.md +33 -0
  37. package/tools/travel/vendor/lib/agent.mjs +190 -0
  38. package/tools/travel/vendor/lib/engine.mjs +283 -0
  39. package/tools/travel/vendor/lib/jobs.mjs +125 -0
  40. package/tools/travel/vendor/lib/license.mjs +41 -0
  41. package/tools/travel/vendor/lib/plans.mjs +28 -0
  42. package/tools/travel/vendor/lib/prompts.mjs +394 -0
  43. package/tools/travel/vendor/lib/proposal.mjs +207 -0
  44. package/tools/travel/vendor/lib/spawn-claude.mjs +44 -0
  45. package/tools/travel/vendor/lib/store.mjs +75 -0
  46. package/tools/travel/vendor/package.json +12 -0
  47. package/tools/travel/vendor/public/app.js +996 -0
  48. package/tools/travel/vendor/public/index.html +112 -0
  49. package/tools/travel/vendor/public/styles.css +760 -0
  50. package/tools/travel/vendor/scripts/approver-mcp.mjs +80 -0
  51. package/tools/travel/vendor/scripts/launch-browser.mjs +77 -0
  52. package/tools/travel/vendor/server.mjs +755 -0
  53. package/tools/work-finder/vendor/.claude/settings.local.json +27 -0
  54. package/tools/work-finder/vendor/.mcp.json +9 -0
  55. package/tools/work-finder/vendor/CLAUDE.md +24 -0
  56. package/tools/work-finder/vendor/README.md +44 -0
  57. package/tools/work-finder/vendor/bin/qiksy-work-finder.mjs +127 -0
  58. package/tools/work-finder/vendor/lib/agent.mjs +159 -0
  59. package/tools/work-finder/vendor/lib/catalog.mjs +41 -0
  60. package/tools/work-finder/vendor/lib/channels.mjs +73 -0
  61. package/tools/work-finder/vendor/lib/engine.mjs +283 -0
  62. package/tools/work-finder/vendor/lib/jobs.mjs +127 -0
  63. package/tools/work-finder/vendor/lib/license.mjs +60 -0
  64. package/tools/work-finder/vendor/lib/linkcheck.mjs +72 -0
  65. package/tools/work-finder/vendor/lib/linkedin.mjs +22 -0
  66. package/tools/work-finder/vendor/lib/plans.mjs +33 -0
  67. package/tools/work-finder/vendor/lib/prompts.mjs +217 -0
  68. package/tools/work-finder/vendor/lib/spawn-claude.mjs +44 -0
  69. package/tools/work-finder/vendor/lib/store.mjs +125 -0
  70. package/tools/work-finder/vendor/package.json +41 -0
  71. package/tools/work-finder/vendor/public/app.js +1863 -0
  72. package/tools/work-finder/vendor/public/index.html +518 -0
  73. package/tools/work-finder/vendor/public/styles.css +930 -0
  74. package/tools/work-finder/vendor/scripts/approver-mcp.mjs +69 -0
  75. package/tools/work-finder/vendor/scripts/extract-linkedin.mjs +81 -0
  76. package/tools/work-finder/vendor/scripts/launch-browser.mjs +78 -0
  77. package/tools/work-finder/vendor/scripts/screenshot.mjs +17 -0
  78. package/tools/work-finder/vendor/server.mjs +1006 -0
@@ -0,0 +1,112 @@
1
+ <!doctype html>
2
+ <html lang="ru">
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1">
6
+ <title>Travel Assistant</title>
7
+ <link rel="icon" href="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%230d9488' d='M21 16v-2l-8-5V3.5a1.5 1.5 0 0 0-3 0V9l-8 5v2l8-2.5V19l-2 1.5V22l3.5-1 3.5 1v-1.5L13 19v-5.5z'/%3E%3C/svg%3E">
8
+ <link rel="stylesheet" href="./styles.css">
9
+ </head>
10
+ <body>
11
+
12
+ <header class="topbar">
13
+ <div class="brand"><span class="brand-mark" aria-hidden="true"><svg viewBox="0 0 24 24" width="18" height="18" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M17.8 19.2 16 11l3.5-3.5C21 6 21.5 4 21 3c-1-.5-3 0-4.5 1.5L13 8 4.8 6.2c-.5-.1-.9.1-1.1.5l-.3.5c-.2.5-.1 1 .3 1.3L9 12l-2 3H4l-1 1 3 2 2 3 1-1v-3l3-2 3.5 5.3c.3.4.8.5 1.3.3l.5-.2c.4-.3.6-.7.5-1.2z"/></svg></span>Travel Assistant</div>
14
+ <nav class="tabs">
15
+ <a class="nav-tab" data-tab="trips" href="#trips">Поездки</a>
16
+ <a class="nav-tab" data-tab="team" href="#team">Команда</a>
17
+ <a class="nav-tab" data-tab="settings" href="#settings">Настройки</a>
18
+ </nav>
19
+ <div class="topbar-right">
20
+ <div id="jobs-widget" hidden>
21
+ <button id="jobs-toggle" class="jobs-toggle" type="button"></button>
22
+ <div id="jobs-panel" class="jobs-panel" hidden></div>
23
+ </div>
24
+ <span id="browser-pill" class="browser-pill"><span class="dot"></span><span class="lbl">браузер</span></span>
25
+ </div>
26
+ </header>
27
+
28
+ <main id="view-trips" class="view">
29
+ <div class="view-head">
30
+ <h1>Поездки</h1>
31
+ <button id="new-trip" class="btn primary" type="button">Новая поездка</button>
32
+ </div>
33
+ <div id="trips-list" class="trips-grid"></div>
34
+ </main>
35
+
36
+ <main id="view-trip" class="view" hidden>
37
+ <a class="back-link" href="#trips">← Все поездки</a>
38
+ <div id="trip-detail"></div>
39
+ </main>
40
+
41
+ <main id="view-team" class="view" hidden>
42
+ <div class="view-head">
43
+ <h1>Команда</h1>
44
+ <button id="new-member" class="btn primary" type="button">Добавить сотрудника</button>
45
+ </div>
46
+ <div id="team-list" class="team-grid"></div>
47
+ </main>
48
+
49
+ <main id="view-settings" class="view" hidden>
50
+ <h1>Настройки</h1>
51
+ <form id="settings-form" class="card settings-card">
52
+ <h2 class="settings-sec">Корпоративные дефолты</h2>
53
+ <div class="form-grid">
54
+ <label>Юр.лицо для счетов <input name="legalEntity" type="text" placeholder="название, юр.адрес, VAT"></label>
55
+ <label>Тревел-агентство <input name="travelAgency" type="text" placeholder="нет / BCD / HRG"></label>
56
+ <label>Booking Genius уровень <input name="geniusLevel" type="text" placeholder="нет / 1 / 2 / 3"></label>
57
+ <label>Корп. коды авиакомпаний <input name="airlineCodes" type="text" placeholder="LH XXXXX / нет"></label>
58
+ <label>Travel-страховка <input name="insurance" type="text" placeholder="полис на компанию / оформлять каждый раз"></label>
59
+ <label>Поставщик трансфера <input name="transferVendor" type="text" placeholder="Welcome Pickups / Bolt Business / нет"></label>
60
+ <label>Класс перелёта <input name="flightClass" type="text" placeholder="эконом"></label>
61
+ <label>Класс поезда <input name="trainClass" type="text" placeholder="2 класс"></label>
62
+ <label>Звёздность отеля <input name="hotelStars" type="text" placeholder="3-4*"></label>
63
+ <label>Суточные (per diem) <input name="perDiem" type="text" placeholder="$X/день"></label>
64
+ <label>Часовой пояс HR <input name="hrTimezone" type="text" placeholder="Europe/Kyiv"></label>
65
+ <label>Валюта подбора <input name="currency" type="text" placeholder="EUR"></label>
66
+ </div>
67
+ <h2 class="settings-sec">Агент</h2>
68
+ <div class="form-grid">
69
+ <label>Модель
70
+ <select name="model">
71
+ <option value="haiku">haiku</option>
72
+ <option value="sonnet">sonnet</option>
73
+ <option value="opus">opus</option>
74
+ </select>
75
+ </label>
76
+ <label class="check"><input type="checkbox" name="browserSearch"> Поиск через браузер</label>
77
+ <label class="wide">Дополнительные инструкции агенту <textarea name="extraInstructions" rows="4" placeholder="например: не предлагать лоукостеры для перелётов > 3 часов"></textarea></label>
78
+ </div>
79
+ <h2 class="settings-sec">Тариф и лицензия</h2>
80
+ <div class="form-grid">
81
+ <label class="wide">Ключ лицензии
82
+ <span class="row" style="display:flex;gap:8px;align-items:center">
83
+ <input name="licenseKey" type="text" autocomplete="off" spellcheck="false" style="flex:1" placeholder="tr_… — вставьте ключ из письма о покупке">
84
+ <button class="btn" type="button" id="license-apply">Применить</button>
85
+ </span>
86
+ </label>
87
+ <p class="muted wide" id="license-status" style="margin:2px 0 0"></p>
88
+ <span class="row wide" style="display:flex;gap:8px;margin-top:2px">
89
+ <button class="btn" type="button" id="buy-pro">Купить Pro — $99/год</button>
90
+ </span>
91
+ </div>
92
+ <div class="form-actions">
93
+ <button class="btn primary" type="submit">Сохранить</button>
94
+ </div>
95
+ </form>
96
+ </main>
97
+
98
+ <div id="modal" class="modal" hidden>
99
+ <div id="modal-backdrop" class="modal-backdrop"></div>
100
+ <div class="modal-card">
101
+ <button id="modal-close" class="modal-close" type="button" aria-label="Закрыть">
102
+ <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><path d="M6 6l12 12M18 6 6 18"/></svg>
103
+ </button>
104
+ <div id="modal-body"></div>
105
+ </div>
106
+ </div>
107
+
108
+ <div id="toast" class="toast"></div>
109
+
110
+ <script src="./app.js"></script>
111
+ </body>
112
+ </html>