opencami 1.7.0 → 1.8.3

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 (83) hide show
  1. package/README.md +167 -7
  2. package/bin/opencami.js +15 -6
  3. package/dist/client/assets/{CSPContext-a-MQmQQt.js → CSPContext-DeJH85nm.js} +1 -1
  4. package/dist/client/assets/{DirectionContext-DRcND-Cm.js → DirectionContext-CxhRpXkm.js} +1 -1
  5. package/dist/client/assets/_sessionKey-CQE0brGK.js +23 -0
  6. package/dist/client/assets/agents-CMTFd_sG.js +2 -0
  7. package/dist/client/assets/agents-screen-BNQGEqcW.js +1 -0
  8. package/dist/client/assets/bots-B6oGzCxP.js +2 -0
  9. package/dist/client/assets/bots-screen-Be3cfGgq.js +1 -0
  10. package/dist/client/assets/button-D9Plv7hu.js +1 -0
  11. package/dist/client/assets/composite-B2KCZKKL.js +1 -0
  12. package/dist/client/assets/{connect-BX1MWO82.js → connect-DuJfnyNK.js} +1 -1
  13. package/dist/client/assets/dashboard-00GpXm5V.js +1 -0
  14. package/dist/client/assets/event-DD8Cz4O9.js +1 -0
  15. package/dist/client/assets/file-explorer-screen-CxwemBES.js +1 -0
  16. package/dist/client/assets/files-DyBJVXBu.js +2 -0
  17. package/dist/client/assets/{index-BlC2sH55.js → index-DtGzE-ea.js} +1 -1
  18. package/dist/client/assets/{index-Dg0mbvtv.js → index-Yo5UhdZV.js} +1 -1
  19. package/dist/client/assets/keyboard-shortcuts-dialog-BZwd-iyV.js +1 -0
  20. package/dist/client/assets/{main-CEuT8-Qi.js → main-CgwdHc9W.js} +16 -8
  21. package/dist/client/assets/{markdown-DKD6ZLRJ.js → markdown-DtWnt4NA.js} +1 -1
  22. package/dist/client/assets/memory-l756yiNq.js +2 -0
  23. package/dist/client/assets/memory-screen-BQtVRuzE.js +1 -0
  24. package/dist/client/assets/menu-BsS6CDf_.js +1 -0
  25. package/dist/client/assets/{opencami-logo-DA69yVKc.js → opencami-logo-Bmge6-FB.js} +1 -1
  26. package/dist/client/assets/popupStateMapping-D0ZbJR_o.js +1 -0
  27. package/dist/client/assets/{proxy-Cawf6X0W.js → proxy-CYZeDXoy.js} +1 -1
  28. package/dist/client/assets/{react-K9goXsVv.js → react-DODKNyyU.js} +1 -1
  29. package/dist/client/assets/search-dialog-DW91SK30.js +1 -0
  30. package/dist/client/assets/session-export-dialog-CliO9Ob-.js +1 -0
  31. package/dist/client/assets/settings-dialog-C1u52aju.js +1 -0
  32. package/dist/client/assets/skills-8T_avaVb.js +2 -0
  33. package/dist/client/assets/{skills-panel-DFL-3BRH.js → skills-panel-DSiH-DLs.js} +1 -1
  34. package/dist/client/assets/styles-DvaLh0o1.css +1 -0
  35. package/dist/client/assets/switch-DbgQPO6i.js +1 -0
  36. package/dist/client/assets/tabs-BsAvZnlD.js +1 -0
  37. package/dist/client/assets/tooltip-DLmutB5C.js +1 -0
  38. package/dist/client/assets/use-file-explorer-state-Cg_yDYJl.js +12 -0
  39. package/dist/client/assets/useBaseUiId-KQTzRPLp.js +1 -0
  40. package/dist/client/assets/useCompositeItem-BPY2_hF_.js +1 -0
  41. package/dist/client/assets/{useControlled-Cl9XA2_f.js → useControlled-B5pEEz2V.js} +1 -1
  42. package/dist/client/assets/{useMutation-C5bTdeC1.js → useMutation-BsQD6FKe.js} +1 -1
  43. package/dist/client/assets/useQuery-CmAJuY2W.js +1 -0
  44. package/dist/client/assets/visuallyHidden-COI6QeQH.js +1 -0
  45. package/dist/client/sw.js +5 -164
  46. package/dist/server/assets/{_sessionKey-BBG3ZUlo.js → _sessionKey-C9o7YfxA.js} +878 -755
  47. package/dist/server/assets/_tanstack-start-manifest_v-BMCAWon2.js +4 -0
  48. package/dist/server/assets/dashboard-GCKodTiJ.js +214 -0
  49. package/dist/server/assets/{index-BgMPaOsU.js → index-Bw-bA_2M.js} +4 -3
  50. package/dist/server/assets/{router-Bl2uabfY.js → router-DCjikH21.js} +704 -207
  51. package/dist/server/assets/{search-dialog-BtSQW9SR.js → search-dialog-BnwiXpdA.js} +5 -4
  52. package/dist/server/assets/settings-dialog-ClKFnZ1x.js +1511 -0
  53. package/dist/server/server.js +2 -2
  54. package/package.json +1 -1
  55. package/dist/client/assets/_sessionKey-BAmpzUOP.js +0 -23
  56. package/dist/client/assets/agents-BkeWu_3a.js +0 -2
  57. package/dist/client/assets/agents-screen-Cb76bcxn.js +0 -1
  58. package/dist/client/assets/bots-CyJwr-JU.js +0 -2
  59. package/dist/client/assets/bots-screen-CzNjLsQH.js +0 -1
  60. package/dist/client/assets/button-DNC5N25i.js +0 -1
  61. package/dist/client/assets/composite-Bliqcmg4.js +0 -1
  62. package/dist/client/assets/file-explorer-screen-CpY1O_ag.js +0 -1
  63. package/dist/client/assets/files-HiN5rXWq.js +0 -2
  64. package/dist/client/assets/keyboard-shortcuts-dialog-C2Hq19LN.js +0 -1
  65. package/dist/client/assets/memory-lhzf-8Q4.js +0 -2
  66. package/dist/client/assets/memory-screen-Zq9qfnJK.js +0 -1
  67. package/dist/client/assets/menu-47ooFeSm.js +0 -1
  68. package/dist/client/assets/owner-CFRNz_Tp.js +0 -1
  69. package/dist/client/assets/popupStateMapping-D5k-jOeY.js +0 -1
  70. package/dist/client/assets/search-dialog-C5Yae9rb.js +0 -1
  71. package/dist/client/assets/session-export-dialog-CBeTfbll.js +0 -1
  72. package/dist/client/assets/settings-dialog-CoeG9M1b.js +0 -1
  73. package/dist/client/assets/skills-BEkw619A.js +0 -2
  74. package/dist/client/assets/styles-D4EBtWYc.css +0 -1
  75. package/dist/client/assets/switch-DAFvLxNX.js +0 -1
  76. package/dist/client/assets/tabs-B2Y_7MvG.js +0 -1
  77. package/dist/client/assets/tooltip-D57Pal0B.js +0 -1
  78. package/dist/client/assets/use-file-explorer-state-DppKEjcl.js +0 -12
  79. package/dist/client/assets/useButton-DVAfkehQ.js +0 -1
  80. package/dist/client/assets/useCompositeItem-CzdGhGcj.js +0 -1
  81. package/dist/client/assets/visuallyHidden-CO3ZD5AQ.js +0 -1
  82. package/dist/server/assets/_tanstack-start-manifest_v-DmMFarHb.js +0 -4
  83. package/dist/server/assets/settings-dialog-D3fOAswX.js +0 -1173
package/dist/client/sw.js CHANGED
@@ -1,165 +1,6 @@
1
- /**
2
- * OpenCami Service Worker
3
- * Provides offline caching and PWA support.
4
- *
5
- * Strategies:
6
- * - Cache-first for static assets (images, fonts)
7
- * - StaleWhileRevalidate for JS/CSS bundles
8
- * - Network-first for API calls
9
- * - Network-only for WebSocket connections
10
- * - Network-first for navigation (HTML pages)
11
- */
12
-
13
- const CACHE_NAME = 'opencami-v1'
14
- const STATIC_CACHE = 'opencami-static-v1'
15
- const API_CACHE = 'opencami-api-v1'
16
-
17
- // Assets to precache on install
18
- const PRECACHE_URLS = [
19
- '/',
20
- '/favicon.svg',
21
- '/manifest.json',
22
- '/pwa-192x192.png',
23
- '/pwa-512x512.png',
24
- '/apple-touch-icon-180x180.png',
25
- ]
26
-
27
- // Install: precache essential assets
28
- self.addEventListener('install', (event) => {
29
- event.waitUntil(
30
- caches
31
- .open(CACHE_NAME)
32
- .then((cache) => cache.addAll(PRECACHE_URLS))
33
- .then(() => self.skipWaiting())
34
- )
35
- })
36
-
37
- // Activate: clean up old caches
38
- self.addEventListener('activate', (event) => {
39
- const currentCaches = [CACHE_NAME, STATIC_CACHE, API_CACHE]
40
- event.waitUntil(
41
- caches
42
- .keys()
43
- .then((cacheNames) =>
44
- Promise.all(
45
- cacheNames
46
- .filter((name) => !currentCaches.includes(name))
47
- .map((name) => caches.delete(name))
48
- )
49
- )
50
- .then(() => self.clients.claim())
51
- )
52
- })
53
-
54
- // Helper: is this a static asset request?
55
- function isStaticAsset(url) {
56
- return /\.(?:png|jpg|jpeg|svg|gif|webp|ico|woff|woff2|ttf|eot)$/i.test(url.pathname)
57
- }
58
-
59
- // Helper: is this a JS/CSS bundle?
60
- function isBundle(url) {
61
- return /\.(?:js|css)$/i.test(url.pathname) && url.pathname.includes('/assets/')
62
- }
63
-
64
- // Helper: is this an API call?
65
- function isApiCall(url) {
66
- return url.pathname.startsWith('/api/')
67
- }
68
-
69
- // Helper: is this a WebSocket request?
70
- function isWebSocket(request) {
71
- return request.headers.get('Upgrade') === 'websocket'
72
- }
73
-
74
- // Helper: is this a navigation request?
75
- function isNavigation(request) {
76
- return request.mode === 'navigate'
77
- }
78
-
79
- // Fetch handler with strategy routing
80
- self.addEventListener('fetch', (event) => {
81
- const url = new URL(event.request.url)
82
-
83
- // Skip non-HTTP(S) requests
84
- if (!url.protocol.startsWith('http')) return
85
-
86
- // Network-only for WebSocket upgrade requests
87
- if (isWebSocket(event.request)) return
88
-
89
- // Cache-first for static assets
90
- if (isStaticAsset(url)) {
91
- event.respondWith(
92
- caches.open(STATIC_CACHE).then((cache) =>
93
- cache.match(event.request).then((cached) => {
94
- if (cached) return cached
95
- return fetch(event.request).then((response) => {
96
- if (response.ok) {
97
- cache.put(event.request, response.clone())
98
- }
99
- return response
100
- })
101
- })
102
- )
103
- )
104
- return
105
- }
106
-
107
- // Cache-first for hashed JS/CSS bundles (Vite adds content hashes)
108
- if (isBundle(url)) {
109
- event.respondWith(
110
- caches.open(STATIC_CACHE).then((cache) =>
111
- cache.match(event.request).then((cached) => {
112
- if (cached) return cached
113
- return fetch(event.request).then((response) => {
114
- if (response.ok) {
115
- cache.put(event.request, response.clone())
116
- }
117
- return response
118
- })
119
- })
120
- )
121
- )
122
- return
123
- }
124
-
125
- // Network-first for API calls
126
- if (isApiCall(url)) {
127
- event.respondWith(
128
- caches.open(API_CACHE).then((cache) =>
129
- fetch(event.request)
130
- .then((response) => {
131
- if (response.ok) {
132
- cache.put(event.request, response.clone())
133
- }
134
- return response
135
- })
136
- .catch(() => cache.match(event.request))
137
- )
138
- )
139
- return
140
- }
141
-
142
- // Network-first for navigation (HTML pages)
143
- if (isNavigation(event.request)) {
144
- event.respondWith(
145
- caches.open(CACHE_NAME).then((cache) =>
146
- fetch(event.request)
147
- .then((response) => {
148
- if (response.ok) {
149
- cache.put(event.request, response.clone())
150
- }
151
- return response
152
- })
153
- .catch(() => cache.match(event.request) || cache.match('/'))
154
- )
155
- )
156
- return
157
- }
158
- })
159
-
160
- // Listen for skip waiting message from the app
161
- self.addEventListener('message', (event) => {
162
- if (event.data && event.data.type === 'SKIP_WAITING') {
163
- self.skipWaiting()
164
- }
1
+ // Service worker disabled — unregister self immediately
2
+ self.addEventListener('install', () => self.skipWaiting())
3
+ self.addEventListener('activate', () => {
4
+ self.registration.unregister()
5
+ self.clients.matchAll().then(clients => clients.forEach(c => c.navigate(c.url)))
165
6
  })