@kaeawc/auto-mobile 0.0.35 → 0.0.37

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/README.md CHANGED
@@ -8,7 +8,7 @@
8
8
  ![Platform: macOS](https://img.shields.io/badge/platform-macOS-lightgrey)
9
9
  ![Platform: Linux](https://img.shields.io/badge/platform-Linux-lightgrey)
10
10
 
11
- ![TypeScript tests: 4,251](https://img.shields.io/badge/TypeScript_tests-4%2C251-3178C6)
11
+ ![TypeScript tests: 4,296](https://img.shields.io/badge/TypeScript_tests-4%2C296-3178C6)
12
12
  ![Kotlin tests: 1,122](https://img.shields.io/badge/Kotlin_tests-1%2C122-7F52FF)
13
13
  ![Swift tests: 435](https://img.shields.io/badge/Swift_tests-435-F05138)
14
14
  ![Kotlin coverage](https://img.shields.io/endpoint?url=https://kaeawc.github.io/auto-mobile/kotlin-coverage-badge.json)
package/README.md.backup CHANGED
@@ -8,7 +8,7 @@
8
8
  ![Platform: macOS](https://img.shields.io/badge/platform-macOS-lightgrey)
9
9
  ![Platform: Linux](https://img.shields.io/badge/platform-Linux-lightgrey)
10
10
 
11
- ![TypeScript tests: 4,251](https://img.shields.io/badge/TypeScript_tests-4%2C251-3178C6)
11
+ ![TypeScript tests: 4,296](https://img.shields.io/badge/TypeScript_tests-4%2C296-3178C6)
12
12
  ![Kotlin tests: 1,122](https://img.shields.io/badge/Kotlin_tests-1%2C122-7F52FF)
13
13
  ![Swift tests: 435](https://img.shields.io/badge/Swift_tests-435-F05138)
14
14
  ![Kotlin coverage](https://img.shields.io/endpoint?url=https://kaeawc.github.io/auto-mobile/kotlin-coverage-badge.json)
@@ -1782,7 +1782,7 @@
1782
1782
  },
1783
1783
  {
1784
1784
  "name": "inputText",
1785
- "description": "Input text",
1785
+ "description": "Input text. The optional mode field is Android-only and ignored on iOS.",
1786
1786
  "inputSchema": {
1787
1787
  "$schema": "https://json-schema.org/draft/2020-12/schema",
1788
1788
  "type": "object",
@@ -1792,6 +1792,15 @@
1792
1792
  "minLength": 1,
1793
1793
  "description": "Text to input"
1794
1794
  },
1795
+ "mode": {
1796
+ "description": "(Android only; ignored on iOS) Text input mode. a11y (default) sets text directly. eventLast sets text with a11y up to the last printable non-whitespace ASCII character, sends that character as a real key event, then restores any suffix with a11y. eventAll clears the field with a11y, sends key events for mappable ASCII characters, and uses a11y for Unicode/emoji runs. Search fields that use autocomplete should probably try eventLast; otherwise accept the default.",
1797
+ "type": "string",
1798
+ "enum": [
1799
+ "a11y",
1800
+ "eventLast",
1801
+ "eventAll"
1802
+ ]
1803
+ },
1795
1804
  "imeAction": {
1796
1805
  "description": "IME action after input",
1797
1806
  "type": "string",
@@ -0,0 +1,51 @@
1
+ import type { Kysely } from "kysely";
2
+
3
+ export async function up(db: Kysely<unknown>): Promise<void> {
4
+ await db.schema
5
+ .createTable("device_sessions")
6
+ .ifNotExists()
7
+ .addColumn("session_uuid", "text", col => col.primaryKey())
8
+ .addColumn("device_id", "text", col => col.notNull())
9
+ .addColumn("platform", "text", col => col.notNull())
10
+ .addColumn("status", "text", col => col.notNull())
11
+ .addColumn("source", "text")
12
+ .addColumn("autolock_enabled", "integer", col => col.notNull().defaultTo(0))
13
+ .addColumn("mcp_session_id", "text")
14
+ .addColumn("daemon_session_id", "text")
15
+ .addColumn("created_at_ms", "integer", col => col.notNull())
16
+ .addColumn("last_used_at_ms", "integer", col => col.notNull())
17
+ .addColumn("expires_at_ms", "integer", col => col.notNull())
18
+ .addColumn("released_at_ms", "integer")
19
+ .addColumn("release_reason", "text")
20
+ .addColumn("session_timeout_ms", "integer", col => col.notNull())
21
+ .addColumn("heartbeat_timeout_ms", "integer", col => col.notNull())
22
+ .addColumn("has_received_heartbeat", "integer", col => col.notNull().defaultTo(0))
23
+ .addColumn("created_at", "text", col => col.notNull().defaultTo("datetime('now')"))
24
+ .addColumn("updated_at", "text", col => col.notNull().defaultTo("datetime('now')"))
25
+ .execute();
26
+
27
+ await db.schema
28
+ .createIndex("idx_device_sessions_device_id")
29
+ .ifNotExists()
30
+ .on("device_sessions")
31
+ .column("device_id")
32
+ .execute();
33
+
34
+ await db.schema
35
+ .createIndex("idx_device_sessions_status")
36
+ .ifNotExists()
37
+ .on("device_sessions")
38
+ .column("status")
39
+ .execute();
40
+
41
+ await db.schema
42
+ .createIndex("idx_device_sessions_mcp_session")
43
+ .ifNotExists()
44
+ .on("device_sessions")
45
+ .column("mcp_session_id")
46
+ .execute();
47
+ }
48
+
49
+ export async function down(db: Kysely<unknown>): Promise<void> {
50
+ await db.schema.dropTable("device_sessions").execute();
51
+ }