@tuturuuu/utils 0.30.0 → 0.32.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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,37 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.32.0](https://github.com/tutur3u/platform/compare/utils-v0.31.0...utils-v0.32.0) (2026-09-29)
4
+
5
+
6
+ ### Features
7
+
8
+ * **cron:** gate immediate recovery on Cloudflare ([546f389](https://github.com/tutur3u/platform/commit/546f3899143c09d52dfa198698b1c4310b860db2)) ([#5615](https://github.com/tutur3u/platform/issues/5615)) ([8eac476](https://github.com/tutur3u/platform/commit/8eac47606da1e1295cb3e6c80c96e5b4d3750068))
9
+ * **devboxes:** route agent control through Cloudflare ([98d4580](https://github.com/tutur3u/platform/commit/98d4580b39308fdd835e1762ebad102fe6ca3f02)) ([#5614](https://github.com/tutur3u/platform/issues/5614)) ([cbd18fa](https://github.com/tutur3u/platform/commit/cbd18fa70ee2d88c8b7e607ab56631c581b723c9))
10
+
11
+
12
+ ### Bug Fixes
13
+
14
+ * **devboxes:** load Durable Object base and register internal app ([50a4ed0](https://github.com/tutur3u/platform/commit/50a4ed0dd5f639c44f513e6d7e2ca663452b76bb))
15
+
16
+ ## [0.31.0](https://github.com/tutur3u/platform/compare/utils-v0.30.0...utils-v0.31.0) (2026-09-25)
17
+
18
+
19
+ ### Features
20
+
21
+ * **auth:** enforce required account MFA lifecycle ([e08f27d](https://github.com/tutur3u/platform/commit/e08f27dbc082f7d9c951bb0792357638f3dcfb0a)) ([#5448](https://github.com/tutur3u/platform/issues/5448)) ([d7a5ed4](https://github.com/tutur3u/platform/commit/d7a5ed453963e619bd1dc3bd8c8a18c5e027317c))
22
+ * **calendar:** add provider invitation and RSVP adapters ([90aa756](https://github.com/tutur3u/platform/commit/90aa756e4834f9ee441182a64cb4ca003fa8e867))
23
+ * **calendar:** deliver retry-safe meeting invitations and RSVP ([#5410](https://github.com/tutur3u/platform/issues/5410)) ([40fa0cc](https://github.com/tutur3u/platform/commit/40fa0cccd4b068cb26787a7b7d7cd55eef86782e))
24
+ * **infrastructure:** coordinate authenticator and meeting leases on Cloudflare ([2582bf2](https://github.com/tutur3u/platform/commit/2582bf2f72670e1f2696de80820eddd118c27d29))
25
+ * **infrastructure:** use Cloudflare for authenticator and meeting coordination ([#5411](https://github.com/tutur3u/platform/issues/5411)) ([a154602](https://github.com/tutur3u/platform/commit/a15460282959831fe617494126d9955b772957aa))
26
+ * **parley:** add private multiplayer training and shared AI Hub billing ([#5505](https://github.com/tutur3u/platform/issues/5505)) ([038e05c](https://github.com/tutur3u/platform/commit/038e05c69a0e4a080f62d6441ae4dd2b15721dba))
27
+ * **parley:** share Meet runtime and integrate private training with AI Hub billing ([66d40e2](https://github.com/tutur3u/platform/commit/66d40e23a8110bd43be652e1181205cf50e506ab))
28
+
29
+
30
+ ### Bug Fixes
31
+
32
+ * **auth:** reuse completed session-bound challenges ([b63d510](https://github.com/tutur3u/platform/commit/b63d51046b427350d959137cf37058223e544788))
33
+ * **mobile:** repair Live persistence and reuse session verification ([#5436](https://github.com/tutur3u/platform/issues/5436)) ([cb452e1](https://github.com/tutur3u/platform/commit/cb452e1908eab3db2dce9dfd1d57d721284a2e49))
34
+
3
35
  ## [0.30.0](https://github.com/tutur3u/platform/compare/utils-v0.29.1...utils-v0.30.0) (2026-09-25)
4
36
 
5
37
 
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@tuturuuu/utils",
3
3
  "license": "MIT",
4
- "version": "0.30.0",
4
+ "version": "0.32.0",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "https://github.com/tutur3u/platform",
@@ -24,7 +24,7 @@
24
24
  "@tiptap/react": "3.31.3",
25
25
  "@tuturuuu/google": "0.1.1",
26
26
  "@tuturuuu/icons": "0.1.1",
27
- "@tuturuuu/internal-api": "0.41.0",
27
+ "@tuturuuu/internal-api": "0.46.0",
28
28
  "@tuturuuu/supabase": "0.5.2",
29
29
  "@upstash/ratelimit": "^2.0.8",
30
30
  "@upstash/redis": "^1.38.4",
@@ -45,7 +45,7 @@
45
45
  "zod": "^4.6.2"
46
46
  },
47
47
  "devDependencies": {
48
- "@tuturuuu/types": "0.32.0",
48
+ "@tuturuuu/types": "0.33.0",
49
49
  "@tuturuuu/typescript-config": "0.1.2",
50
50
  "@types/diff": "^8.0.0",
51
51
  "@types/node": "^26.5.1",
@@ -9,6 +9,20 @@ import { features2 } from './commercial-comparison-2';
9
9
 
10
10
  const gateOrder = ['FREE', 'PLUS', 'PRO', 'ENTERPRISE'];
11
11
  const advanced: ComparisonFeature[] = [
12
+ {
13
+ id: 'cronControl',
14
+ app: 'cron-control',
15
+ category: 'internal',
16
+ detail: 'standard',
17
+ values: ['internal', 'internal', 'internal', 'internal'],
18
+ },
19
+ {
20
+ id: 'devboxControl',
21
+ app: 'devbox-control',
22
+ category: 'internal',
23
+ detail: 'standard',
24
+ values: ['internal', 'internal', 'internal', 'internal'],
25
+ },
12
26
  {
13
27
  id: 'parley_0',
14
28
  app: 'parley',
@@ -0,0 +1,23 @@
1
+ /** Best-effort wake signal. The runner also polls, so enqueue never depends on it. */
2
+ export async function notifyDevboxRun(runId: string) {
3
+ const origin = process.env.TUTURUUU_DEVBOX_CONTROL_URL?.trim();
4
+ const token = process.env.TUTURUUU_DEVBOX_CONTROL_TOKEN?.trim();
5
+ if (!origin || !token) return;
6
+ try {
7
+ const url = new URL('/v1/notify', origin);
8
+ if (url.protocol !== 'https:') throw new Error('Invalid control URL');
9
+ const response = await fetch(url, {
10
+ method: 'POST',
11
+ headers: {
12
+ Authorization: `Bearer ${token}`,
13
+ 'Content-Type': 'application/json',
14
+ },
15
+ body: JSON.stringify({ runId }),
16
+ signal: AbortSignal.timeout(2000),
17
+ });
18
+ if (!response.ok)
19
+ console.warn('Devbox wake signal rejected', response.status);
20
+ } catch {
21
+ console.warn('Devbox wake signal unavailable');
22
+ }
23
+ }
@@ -7,7 +7,7 @@ import {
7
7
 
8
8
  describe('platform release metadata', () => {
9
9
  it('uses the centralized shared browser app version', () => {
10
- expect(TUTURUUU_PLATFORM_VERSION).toBe('0.54.0'); // x-release-please-version
10
+ expect(TUTURUUU_PLATFORM_VERSION).toBe('0.61.0'); // x-release-please-version
11
11
  });
12
12
 
13
13
  it('preserves the source timestamp in builtAt and derives a short hash', () => {
@@ -1,6 +1,6 @@
1
1
  import { PLATFORM_BUILD_METADATA } from './generated/platform-build-metadata';
2
2
 
3
- export const TUTURUUU_PLATFORM_VERSION = '0.54.0'; // x-release-please-version
3
+ export const TUTURUUU_PLATFORM_VERSION = '0.61.0'; // x-release-please-version
4
4
 
5
5
  export type PlatformBuildMetadataInput = {
6
6
  /** ISO timestamp of the source commit used for the build, not deployment time. */