@ai-matrx/desktop-protocol 0.15.0 → 0.16.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/dist/index.cjs CHANGED
@@ -52,6 +52,17 @@ __export(src_exports, {
52
52
  ClipboardWriteResult: () => ClipboardWriteResult,
53
53
  CloseCode: () => CloseCode,
54
54
  CloseCodeValue: () => CloseCodeValue,
55
+ CodingHistoryBlocked: () => CodingHistoryBlocked,
56
+ CodingHistoryFailure: () => CodingHistoryFailure,
57
+ CodingHistoryImportMissingParams: () => CodingHistoryImportMissingParams,
58
+ CodingHistoryImportMissingResult: () => CodingHistoryImportMissingResult,
59
+ CodingHistoryProgressEvent: () => CodingHistoryProgressEvent,
60
+ CodingHistoryRun: () => CodingHistoryRun,
61
+ CodingHistoryStep: () => CodingHistoryStep,
62
+ CodingImportNextParams: () => CodingImportNextParams,
63
+ CodingPlanMissingParams: () => CodingPlanMissingParams,
64
+ CodingServiceCredentials: () => CodingServiceCredentials,
65
+ CodingServiceProgress: () => CodingServiceProgress,
55
66
  ContractHash: () => ContractHash,
56
67
  CoreToClientMsg: () => CoreToClientMsg,
57
68
  CoreToServiceMsg: () => CoreToServiceMsg,
@@ -314,7 +325,7 @@ module.exports = __toCommonJS(src_exports);
314
325
  // src/schema/primitives.ts
315
326
  var import_zod = require("zod");
316
327
  var PROTOCOL_MAJOR = 1;
317
- var PROTOCOL_MINOR = 4;
328
+ var PROTOCOL_MINOR = 5;
318
329
  var PROTOCOL_VERSION = `${PROTOCOL_MAJOR}.${PROTOCOL_MINOR}`;
319
330
  var ProtocolVersion = import_zod.z.string().regex(/^[1-9][0-9]{0,2}\.[0-9]{1,3}$/);
320
331
  var RequestId = import_zod.z.string().min(1).max(64).regex(/^[A-Za-z0-9_-]+$/);
@@ -1190,7 +1201,7 @@ var AppsOpenResult = import_zod11.z.strictObject({
1190
1201
  // src/schema/service.ts
1191
1202
  var import_zod12 = require("zod");
1192
1203
  var SERVICE_MAX_FRAME_BYTES = 16777216;
1193
- var ServiceName = import_zod12.z.enum(["ml"]);
1204
+ var ServiceName = import_zod12.z.enum(["ml", "coding"]);
1194
1205
  var ContractHash = import_zod12.z.string().regex(/^[0-9a-f]{64}$/);
1195
1206
  var ServiceToken = import_zod12.z.string().regex(/^[A-Za-z0-9_-]{43}$/);
1196
1207
  var ServiceRequestId = u32;
@@ -1660,6 +1671,81 @@ var ExecJobInfo = import_zod23.z.strictObject({
1660
1671
  var ExecJobListParams = import_zod23.z.strictObject({});
1661
1672
  var ExecJobListResult = import_zod23.z.strictObject({ jobs: import_zod23.z.array(ExecJobInfo).max(64) });
1662
1673
 
1674
+ // src/schema/coding.ts
1675
+ var import_zod24 = require("zod");
1676
+ var CodingServiceCredentials = import_zod24.z.strictObject({
1677
+ access_token: import_zod24.z.string().min(16).max(16384),
1678
+ user_id: import_zod24.z.string().regex(/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/),
1679
+ /** The AI Matrx server this app talks to (production, or a local server on the nightly copy). */
1680
+ server_url: import_zod24.z.string().min(1).max(2048).regex(/^https?:\/\/[^\s/?#]+(\/[^\s?#]*)?$/)
1681
+ });
1682
+ var CodingHistoryBlocked = import_zod24.z.enum([
1683
+ "signed_out",
1684
+ "offline",
1685
+ "organization_required",
1686
+ "claude_unavailable",
1687
+ "cloud_list_unavailable",
1688
+ "history_too_large"
1689
+ ]);
1690
+ var CodingHistoryFailure = import_zod24.z.strictObject({
1691
+ session_id: import_zod24.z.string().max(64),
1692
+ reason: import_zod24.z.string().max(300)
1693
+ });
1694
+ var CodingHistoryRun = import_zod24.z.strictObject({
1695
+ /** Claude Code sessions found on this computer. */
1696
+ local_sessions: nonNegInt,
1697
+ /** Of those, already complete in AI Matrx. */
1698
+ in_cloud: nonNegInt,
1699
+ /** In AI Matrx under neither of its identities. */
1700
+ missing: nonNegInt,
1701
+ /** In AI Matrx, but changed here after the last turn AI Matrx received (turns the hook lost). */
1702
+ behind: nonNegInt,
1703
+ /** Over the importer's size cap; never imported. */
1704
+ too_large: nonNegInt,
1705
+ imported: nonNegInt,
1706
+ /** Changed while being read; a later run takes them. */
1707
+ changed: nonNegInt,
1708
+ failed: nonNegInt,
1709
+ failures: import_zod24.z.array(CodingHistoryFailure).max(20),
1710
+ /** Candidates not reached yet. */
1711
+ remaining: nonNegInt,
1712
+ /** The one line a person reads, e.g. "Imported 12 of 14 sessions. 140 already in AI Matrx." */
1713
+ summary: import_zod24.z.string().max(400)
1714
+ });
1715
+ var CodingHistoryStep = import_zod24.z.strictObject({
1716
+ /** Null when the run could not start (blocked before a plan existed). */
1717
+ plan_id: import_zod24.z.string().regex(/^[0-9a-f]{32}$/).nullable(),
1718
+ finished: import_zod24.z.boolean(),
1719
+ blocked: CodingHistoryBlocked.nullable(),
1720
+ run: CodingHistoryRun
1721
+ });
1722
+ var CodingPlanMissingParams = import_zod24.z.strictObject({ credentials: CodingServiceCredentials });
1723
+ var CodingImportNextParams = import_zod24.z.strictObject({
1724
+ plan_id: import_zod24.z.string().regex(/^[0-9a-f]{32}$/),
1725
+ credentials: CodingServiceCredentials
1726
+ });
1727
+ var CodingServiceProgress = import_zod24.z.strictObject({
1728
+ phase: import_zod24.z.enum(["checking", "importing"]),
1729
+ done: nonNegInt,
1730
+ total: nonNegInt
1731
+ });
1732
+ var CodingHistoryImportMissingParams = import_zod24.z.strictObject({});
1733
+ var CodingHistoryImportMissingResult = import_zod24.z.strictObject({
1734
+ state: import_zod24.z.enum(["done", "blocked", "cancelled"]),
1735
+ blocked: CodingHistoryBlocked.nullable(),
1736
+ run: CodingHistoryRun,
1737
+ elapsed_ms: nonNegInt
1738
+ });
1739
+ var CodingHistoryProgressEvent = import_zod24.z.strictObject({
1740
+ request_id: RequestId,
1741
+ phase: import_zod24.z.enum(["checking", "importing"]),
1742
+ /** Sessions settled so far, of `total` candidates (0 of 0 while checking). */
1743
+ done: nonNegInt,
1744
+ total: nonNegInt,
1745
+ imported: nonNegInt,
1746
+ failed: nonNegInt
1747
+ });
1748
+
1663
1749
  // src/schema/registry.ts
1664
1750
  var FS_ERR = ["NOT_FOUND", "PERMISSION_DENIED_OS", "INVALID_PARAMS", "RESOURCE_BUSY", "INTERNAL"];
1665
1751
  var OPS = {
@@ -1724,7 +1810,9 @@ var OPS = {
1724
1810
  "input.mouse_click": { params: InputMouseClickParams, result: InputMouseClickResult, kind: "unary", since: "1.4", errors: ["INVALID_PARAMS", "PERMISSION_DENIED_OS", "PLATFORM_UNSUPPORTED", "INTERNAL"] },
1725
1811
  "power.status": { params: PowerStatusParams, result: PowerStatusResult, kind: "unary", since: "1.4", errors: ["INTERNAL"] },
1726
1812
  "power.prevent_sleep": { params: PowerPreventSleepParams, result: PowerPreventSleepResult, kind: "unary", since: "1.4", errors: ["PERMISSION_DENIED_OS", "PLATFORM_UNSUPPORTED", "INTERNAL"] },
1727
- "resources.snapshot": { params: ResourcesSnapshotParams, result: ResourcesSnapshotResult, kind: "unary", since: "1.4", errors: ["INTERNAL"] }
1813
+ "resources.snapshot": { params: ResourcesSnapshotParams, result: ResourcesSnapshotResult, kind: "unary", since: "1.4", errors: ["INTERNAL"] },
1814
+ // Claude Code history (SPEC §6 coding): served by the `coding` Python service through SERVICES below.
1815
+ "coding.history.import_missing": { params: CodingHistoryImportMissingParams, result: CodingHistoryImportMissingResult, kind: "unary", since: "1.5", errors: ["RESOURCE_BUSY", "RESOURCE_GONE", "CANCELLED", "INTERNAL"] }
1728
1816
  };
1729
1817
  var EVENTS = {
1730
1818
  "fs.changed": FsChangedEvent,
@@ -1733,6 +1821,7 @@ var EVENTS = {
1733
1821
  "exec.cwd": ExecCwdEvent,
1734
1822
  "session.control_changed": SessionControlChangedEvent,
1735
1823
  "models.progress": ModelsProgressEvent,
1824
+ "coding.history.progress": CodingHistoryProgressEvent,
1736
1825
  "relay.device_status": RelayDeviceStatusEvent,
1737
1826
  "relay.auth_expiring": RelayAuthExpiringEvent
1738
1827
  };
@@ -1744,6 +1833,13 @@ var SERVICES = {
1744
1833
  "ml.install": { params: ModelsInstallParams, result: ModelsInstallResult },
1745
1834
  "ml.transcribe": { params: ModelsTranscribeParams, result: ModelsTranscribeResult }
1746
1835
  }
1836
+ },
1837
+ coding: {
1838
+ progress: CodingServiceProgress,
1839
+ ops: {
1840
+ "coding.plan_missing": { params: CodingPlanMissingParams, result: CodingHistoryStep },
1841
+ "coding.import_next": { params: CodingImportNextParams, result: CodingHistoryStep }
1842
+ }
1747
1843
  }
1748
1844
  };
1749
1845
  var NAMED_SCHEMAS = {
@@ -1852,6 +1948,17 @@ var NAMED_SCHEMAS = {
1852
1948
  ModelsStatusParams,
1853
1949
  ModelsStatusResult,
1854
1950
  ModelsProgressEvent,
1951
+ CodingServiceCredentials,
1952
+ CodingHistoryBlocked,
1953
+ CodingHistoryFailure,
1954
+ CodingHistoryRun,
1955
+ CodingHistoryStep,
1956
+ CodingPlanMissingParams,
1957
+ CodingImportNextParams,
1958
+ CodingServiceProgress,
1959
+ CodingHistoryImportMissingParams,
1960
+ CodingHistoryImportMissingResult,
1961
+ CodingHistoryProgressEvent,
1855
1962
  ServiceName,
1856
1963
  ContractHash,
1857
1964
  ServiceToken,
@@ -2048,7 +2155,7 @@ function forPeer(op, part, value, version) {
2048
2155
  var VERSIONED_RESULT_OPS = [...RESULT_PATH.keys()];
2049
2156
 
2050
2157
  // src/contract.ts
2051
- var CONTRACT_SHA256 = "a5378bb523cbf52619f16e2accc788931ffb443e762052db4ca42c598792c181";
2158
+ var CONTRACT_SHA256 = "c536cb055d02ce0704cee4693f08b4af9e83a38e00e6879160037c1006f2e72e";
2052
2159
 
2053
2160
  // src/close-policy.ts
2054
2161
  var CLOSE_RULES = {