@motebit/protocol 0.7.0 → 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 (72) hide show
  1. package/LICENSE +198 -18
  2. package/NOTICE +19 -0
  3. package/README.md +37 -5
  4. package/dist/agent-settlement-anchor.d.ts +102 -0
  5. package/dist/agent-settlement-anchor.d.ts.map +1 -0
  6. package/dist/agent-settlement-anchor.js +18 -0
  7. package/dist/agent-settlement-anchor.js.map +1 -0
  8. package/dist/computer-use.d.ts +312 -0
  9. package/dist/computer-use.d.ts.map +1 -0
  10. package/dist/computer-use.js +86 -0
  11. package/dist/computer-use.js.map +1 -0
  12. package/dist/credential-anchor.d.ts +101 -0
  13. package/dist/credential-anchor.d.ts.map +1 -0
  14. package/dist/credential-anchor.js +9 -0
  15. package/dist/credential-anchor.js.map +1 -0
  16. package/dist/crypto-suite.d.ts +100 -0
  17. package/dist/crypto-suite.d.ts.map +1 -0
  18. package/dist/crypto-suite.js +93 -0
  19. package/dist/crypto-suite.js.map +1 -0
  20. package/dist/discovery.d.ts +87 -0
  21. package/dist/discovery.d.ts.map +1 -0
  22. package/dist/discovery.js +9 -0
  23. package/dist/discovery.js.map +1 -0
  24. package/dist/dispute.d.ts +176 -0
  25. package/dist/dispute.d.ts.map +1 -0
  26. package/dist/dispute.js +9 -0
  27. package/dist/dispute.js.map +1 -0
  28. package/dist/goal-lifecycle.d.ts +129 -0
  29. package/dist/goal-lifecycle.d.ts.map +1 -0
  30. package/dist/goal-lifecycle.js +29 -0
  31. package/dist/goal-lifecycle.js.map +1 -0
  32. package/dist/graph.d.ts +50 -0
  33. package/dist/graph.d.ts.map +1 -0
  34. package/dist/graph.js +95 -0
  35. package/dist/graph.js.map +1 -0
  36. package/dist/index.d.ts +790 -3
  37. package/dist/index.d.ts.map +1 -1
  38. package/dist/index.js +37 -0
  39. package/dist/index.js.map +1 -1
  40. package/dist/memory-events.d.ts +140 -0
  41. package/dist/memory-events.d.ts.map +1 -0
  42. package/dist/memory-events.js +29 -0
  43. package/dist/memory-events.js.map +1 -0
  44. package/dist/migration.d.ts +180 -0
  45. package/dist/migration.d.ts.map +1 -0
  46. package/dist/migration.js +9 -0
  47. package/dist/migration.js.map +1 -0
  48. package/dist/plan-lifecycle.d.ts +147 -0
  49. package/dist/plan-lifecycle.d.ts.map +1 -0
  50. package/dist/plan-lifecycle.js +36 -0
  51. package/dist/plan-lifecycle.js.map +1 -0
  52. package/dist/semiring.d.ts +104 -0
  53. package/dist/semiring.d.ts.map +1 -0
  54. package/dist/semiring.js +187 -0
  55. package/dist/semiring.js.map +1 -0
  56. package/dist/settlement-mode.d.ts +68 -0
  57. package/dist/settlement-mode.d.ts.map +1 -0
  58. package/dist/settlement-mode.js +8 -0
  59. package/dist/settlement-mode.js.map +1 -0
  60. package/dist/tool-mode.d.ts +46 -0
  61. package/dist/tool-mode.d.ts.map +1 -0
  62. package/dist/tool-mode.js +50 -0
  63. package/dist/tool-mode.js.map +1 -0
  64. package/dist/traversal.d.ts +60 -0
  65. package/dist/traversal.d.ts.map +1 -0
  66. package/dist/traversal.js +183 -0
  67. package/dist/traversal.js.map +1 -0
  68. package/dist/trust-algebra.d.ts +34 -0
  69. package/dist/trust-algebra.d.ts.map +1 -0
  70. package/dist/trust-algebra.js +58 -0
  71. package/dist/trust-algebra.js.map +1 -0
  72. package/package.json +13 -9
package/dist/graph.js ADDED
@@ -0,0 +1,95 @@
1
+ /**
2
+ * Weighted directed graph parameterized by a semiring.
3
+ *
4
+ * The graph represents the agent network. Nodes are motebits.
5
+ * Edges carry semiring-valued weights (trust, cost, latency, or products thereof).
6
+ *
7
+ * Key insight: the same graph structure supports different queries by
8
+ * swapping the semiring used in traversal. The graph stores raw edge data;
9
+ * the semiring determines how to compose and compare paths.
10
+ */
11
+ /**
12
+ * Immutable-ish weighted digraph. Nodes are string IDs (motebit_id).
13
+ * Edges are stored adjacency-list style for efficient traversal.
14
+ */
15
+ export class WeightedDigraph {
16
+ semiring;
17
+ _adj = new Map();
18
+ _nodes = new Set();
19
+ constructor(semiring) {
20
+ this.semiring = semiring;
21
+ }
22
+ /** The semiring this graph operates over. */
23
+ get sr() {
24
+ return this.semiring;
25
+ }
26
+ addNode(id) {
27
+ this._nodes.add(id);
28
+ if (!this._adj.has(id))
29
+ this._adj.set(id, new Map());
30
+ }
31
+ /**
32
+ * Set an edge weight. If the edge already exists, the new weight
33
+ * is ⊕-combined with the existing weight (parallel edges merge).
34
+ */
35
+ addEdge(from, to, weight) {
36
+ this.addNode(from);
37
+ this.addNode(to);
38
+ const neighbors = this._adj.get(from);
39
+ const existing = neighbors.get(to);
40
+ neighbors.set(to, existing !== undefined ? this.semiring.add(existing, weight) : weight);
41
+ }
42
+ /** Set an edge weight, replacing any existing weight. */
43
+ setEdge(from, to, weight) {
44
+ this.addNode(from);
45
+ this.addNode(to);
46
+ this._adj.get(from).set(to, weight);
47
+ }
48
+ removeEdge(from, to) {
49
+ this._adj.get(from)?.delete(to);
50
+ }
51
+ removeNode(id) {
52
+ this._nodes.delete(id);
53
+ this._adj.delete(id);
54
+ for (const neighbors of this._adj.values()) {
55
+ neighbors.delete(id);
56
+ }
57
+ }
58
+ hasNode(id) {
59
+ return this._nodes.has(id);
60
+ }
61
+ hasEdge(from, to) {
62
+ return this._adj.get(from)?.has(to) ?? false;
63
+ }
64
+ /** Get edge weight, or semiring zero if no edge exists. */
65
+ getEdge(from, to) {
66
+ return this._adj.get(from)?.get(to) ?? this.semiring.zero;
67
+ }
68
+ nodes() {
69
+ return this._nodes;
70
+ }
71
+ nodeCount() {
72
+ return this._nodes.size;
73
+ }
74
+ /** Outgoing edges from a node. */
75
+ neighbors(id) {
76
+ return this._adj.get(id) ?? new Map();
77
+ }
78
+ /** All edges in the graph. */
79
+ edges() {
80
+ const result = [];
81
+ for (const [from, neighbors] of this._adj) {
82
+ for (const [to, weight] of neighbors) {
83
+ result.push({ from, to, weight });
84
+ }
85
+ }
86
+ return result;
87
+ }
88
+ edgeCount() {
89
+ let count = 0;
90
+ for (const neighbors of this._adj.values())
91
+ count += neighbors.size;
92
+ return count;
93
+ }
94
+ }
95
+ //# sourceMappingURL=graph.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graph.js","sourceRoot":"","sources":["../src/graph.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAUH;;;GAGG;AACH,MAAM,OAAO,eAAe;IAIG;IAHZ,IAAI,GAAG,IAAI,GAAG,EAA0B,CAAC;IACzC,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;IAE5C,YAA6B,QAAqB;QAArB,aAAQ,GAAR,QAAQ,CAAa;IAAG,CAAC;IAEtD,6CAA6C;IAC7C,IAAI,EAAE;QACJ,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,OAAO,CAAC,EAAU;QAChB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACpB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;IACvD,CAAC;IAED;;;OAGG;IACH,OAAO,CAAC,IAAY,EAAE,EAAU,EAAE,MAAS;QACzC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACnB,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACjB,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC;QACvC,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACnC,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAC3F,CAAC;IAED,yDAAyD;IACzD,OAAO,CAAC,IAAY,EAAE,EAAU,EAAE,MAAS;QACzC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACnB,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACjB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;IACvC,CAAC;IAED,UAAU,CAAC,IAAY,EAAE,EAAU;QACjC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;IAClC,CAAC;IAED,UAAU,CAAC,EAAU;QACnB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACvB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACrB,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;YAC3C,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IAED,OAAO,CAAC,EAAU;QAChB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC7B,CAAC;IAED,OAAO,CAAC,IAAY,EAAE,EAAU;QAC9B,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC;IAC/C,CAAC;IAED,2DAA2D;IAC3D,OAAO,CAAC,IAAY,EAAE,EAAU;QAC9B,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;IAC5D,CAAC;IAED,KAAK;QACH,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;IAC1B,CAAC;IAED,kCAAkC;IAClC,SAAS,CAAC,EAAU;QAClB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,GAAG,EAAE,CAAC;IACxC,CAAC;IAED,8BAA8B;IAC9B,KAAK;QACH,MAAM,MAAM,GAAc,EAAE,CAAC;QAC7B,KAAK,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YAC1C,KAAK,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;gBACrC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;YACpC,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,SAAS;QACP,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YAAE,KAAK,IAAI,SAAS,CAAC,IAAI,CAAC;QACpE,OAAO,KAAK,CAAC;IACf,CAAC;CACF"}