@wowok/agent-mcp 2.6.0 → 2.6.1

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 (133) hide show
  1. package/README.md +5 -3
  2. package/dist/extensions/capability-manifest.d.ts +125 -0
  3. package/dist/extensions/capability-manifest.js +594 -0
  4. package/dist/extensions/constraint-registry.d.ts +24 -0
  5. package/dist/extensions/constraint-registry.js +196 -0
  6. package/dist/extensions/index.d.ts +12 -0
  7. package/dist/extensions/index.js +6 -0
  8. package/dist/extensions/metric-registry.d.ts +26 -0
  9. package/dist/extensions/metric-registry.js +257 -0
  10. package/dist/extensions/mode-evaluator.d.ts +15 -0
  11. package/dist/extensions/mode-evaluator.js +170 -0
  12. package/dist/extensions/modes.d.ts +2 -0
  13. package/dist/extensions/modes.js +407 -0
  14. package/dist/extensions/registry.d.ts +48 -0
  15. package/dist/extensions/registry.js +629 -0
  16. package/dist/extensions/types.d.ts +218 -0
  17. package/dist/extensions/types.js +1 -0
  18. package/dist/knowledge/deployment-scanner.d.ts +3 -0
  19. package/dist/knowledge/deployment-scanner.js +64 -3
  20. package/dist/knowledge/guard-risk.d.ts +13 -0
  21. package/dist/knowledge/guard-risk.js +57 -0
  22. package/dist/knowledge/guard-templates.js +278 -0
  23. package/dist/knowledge/machine-templates.js +20 -1
  24. package/dist/knowledge/service-confirm.d.ts +14 -5
  25. package/dist/knowledge/service-confirm.js +116 -8
  26. package/dist/knowledge/tool-constraints.js +6 -2
  27. package/dist/project/deployment-bridge.d.ts +1 -1
  28. package/dist/project/deployment-bridge.js +27 -4
  29. package/dist/project/deployment-doc.d.ts +3 -0
  30. package/dist/project/deployment-doc.js +72 -10
  31. package/dist/project/evaluation.d.ts +2 -0
  32. package/dist/project/evaluation.js +569 -84
  33. package/dist/project/graph-builder.d.ts +4 -1
  34. package/dist/project/graph-builder.js +126 -61
  35. package/dist/project/graph.d.ts +1 -0
  36. package/dist/project/handlers.d.ts +219 -5
  37. package/dist/project/handlers.js +819 -9
  38. package/dist/project/stage-gate.d.ts +4 -0
  39. package/dist/project/stage-gate.js +64 -5
  40. package/dist/project/task-tracker.d.ts +26 -0
  41. package/dist/project/task-tracker.js +78 -0
  42. package/dist/safety/preview.js +16 -0
  43. package/dist/schema/call/allocation.d.ts +16 -16
  44. package/dist/schema/call/base.d.ts +21 -13
  45. package/dist/schema/call/base.js +27 -6
  46. package/dist/schema/call/bridge.d.ts +5 -5
  47. package/dist/schema/call/bridge.js +3 -1
  48. package/dist/schema/call/demand.d.ts +23 -31
  49. package/dist/schema/call/guard.js +1 -1
  50. package/dist/schema/call/machine.d.ts +402 -376
  51. package/dist/schema/call/order.d.ts +149 -228
  52. package/dist/schema/call/order.js +7 -3
  53. package/dist/schema/call/payment.d.ts +183 -3
  54. package/dist/schema/call/payment.js +21 -3
  55. package/dist/schema/call/personal.d.ts +241 -52
  56. package/dist/schema/call/progress.d.ts +53 -61
  57. package/dist/schema/call/progress.js +18 -4
  58. package/dist/schema/call/repository.d.ts +23 -31
  59. package/dist/schema/call/semantic.d.ts +1 -1
  60. package/dist/schema/call/semantic.js +30 -1
  61. package/dist/schema/call/service.d.ts +95 -119
  62. package/dist/schema/call/service.js +22 -1
  63. package/dist/schema/common/index.d.ts +11 -2
  64. package/dist/schema/common/index.js +43 -14
  65. package/dist/schema/local/index.d.ts +32 -35
  66. package/dist/schema/local/index.js +23 -5
  67. package/dist/schema/messenger/index.d.ts +274 -46
  68. package/dist/schema/operations.d.ts +680 -539
  69. package/dist/schema/operations.js +22 -0
  70. package/dist/schema/project/index.d.ts +1796 -80
  71. package/dist/schema/project/index.js +304 -14
  72. package/dist/schema/query/index.d.ts +705 -349
  73. package/dist/schema/query/index.js +164 -31
  74. package/dist/schema/schema-query/index.d.ts +15 -3
  75. package/dist/schema/schema-query/index.js +23 -5
  76. package/dist/schema/utils/node-parser.js +7 -4
  77. package/dist/schema-query/index.d.ts +7 -1
  78. package/dist/schema-query/index.js +204 -4
  79. package/dist/schemas/account_operation.output.json +7 -1
  80. package/dist/schemas/account_operation.schema.json +2 -2
  81. package/dist/schemas/bridge_operation.output.json +6 -0
  82. package/dist/schemas/bridge_operation.schema.json +1 -1
  83. package/dist/schemas/guard-templates.json +379 -0
  84. package/dist/schemas/guard2file.schema.json +1 -1
  85. package/dist/schemas/index.json +1 -1
  86. package/dist/schemas/local_info_operation.output.json +6 -0
  87. package/dist/schemas/local_mark_operation.output.json +7 -1
  88. package/dist/schemas/local_mark_operation.schema.json +1 -1
  89. package/dist/schemas/machineNode2file.schema.json +1 -1
  90. package/dist/schemas/messenger_operation.schema.json +4 -4
  91. package/dist/schemas/onchain_events.output.json +1 -1
  92. package/dist/schemas/onchain_operations.schema.json +348 -296
  93. package/dist/schemas/onchain_operations_allocation.schema.json +34 -25
  94. package/dist/schemas/onchain_operations_arbitration.schema.json +8 -8
  95. package/dist/schemas/onchain_operations_contact.schema.json +8 -8
  96. package/dist/schemas/onchain_operations_demand.schema.json +8 -8
  97. package/dist/schemas/onchain_operations_gen_passport.schema.json +14 -14
  98. package/dist/schemas/onchain_operations_gen_proof.schema.json +2 -2
  99. package/dist/schemas/onchain_operations_guard.schema.json +1 -1
  100. package/dist/schemas/onchain_operations_machine.schema.json +41 -33
  101. package/dist/schemas/onchain_operations_order.schema.json +71 -77
  102. package/dist/schemas/onchain_operations_payment.schema.json +141 -111
  103. package/dist/schemas/onchain_operations_permission.schema.json +2 -2
  104. package/dist/schemas/onchain_operations_personal.schema.json +7 -7
  105. package/dist/schemas/onchain_operations_progress.schema.json +8 -8
  106. package/dist/schemas/onchain_operations_proof.schema.json +7 -7
  107. package/dist/schemas/onchain_operations_repository.schema.json +8 -8
  108. package/dist/schemas/onchain_operations_reward.schema.json +10 -10
  109. package/dist/schemas/onchain_operations_service.schema.json +46 -35
  110. package/dist/schemas/onchain_operations_treasury.schema.json +8 -8
  111. package/dist/schemas/onchain_table_data.output.json +33 -25
  112. package/dist/schemas/onchain_table_data.schema.json +12 -12
  113. package/dist/schemas/project_operation.output.json +1175 -23
  114. package/dist/schemas/project_operation.schema.json +40 -4
  115. package/dist/schemas/query_toolkit.output.json +104 -76
  116. package/dist/schemas/query_toolkit.schema.json +9 -9
  117. package/dist/schemas/schema_query.output.json +7 -3
  118. package/dist/schemas/schema_query.schema.json +17 -3
  119. package/dist/tools/handlers/local.js +20 -5
  120. package/dist/tools/handlers/onchain.js +23 -0
  121. package/dist/tools/handlers/project.js +52 -3
  122. package/dist/tools/handlers/query.js +27 -0
  123. package/dist/tools/handlers/schema-query.js +19 -0
  124. package/dist/tools/handlers/task-status.d.ts +170 -0
  125. package/dist/tools/handlers/task-status.js +55 -0
  126. package/dist/tools/handlers/wip.js +47 -1
  127. package/dist/tools/index.js +211 -7
  128. package/dist/tools/retry.d.ts +8 -0
  129. package/dist/tools/retry.js +85 -0
  130. package/dist/tools/wip-deploy-assist.d.ts +28 -0
  131. package/dist/tools/wip-deploy-assist.js +278 -0
  132. package/package.json +2 -2
  133. package/dist/schemas/guard-node-examples.md +0 -199
@@ -1,4 +1,7 @@
1
- import { type GraphData } from "@wowok/wowok";
1
+ import { type GraphData, type GraphNode } from "@wowok/wowok";
2
+ export type GraphNodeWithTemplate = GraphNode & {
3
+ isTemplate?: boolean;
4
+ };
2
5
  export interface GraphBuildOptions {
3
6
  maxDepth?: number;
4
7
  maxConcurrency?: number;
@@ -45,46 +45,86 @@ function extractAddressFields(obj) {
45
45
  const firstGuard = data.order_allocators.allocators[0]?.guard;
46
46
  addRef(firstGuard, "order_allocators", "create");
47
47
  }
48
- addRefOption(data.compensation_fund, "compensation_fund", "bind");
49
48
  break;
50
49
  }
51
50
  case "Machine": {
52
51
  addRef(data.permission, "permission", "validate");
53
- addRefArray(data.repositories, "repositories", "consume");
54
- if (data.nodes) {
55
- for (const node of data.nodes) {
56
- if (node.forward?.guard) {
57
- addRef(node.forward.guard, "node_guard", "validate");
58
- }
59
- }
60
- }
52
+ addRefArray(data.consensus_repositories, "consensus_repositories", "consume");
61
53
  break;
62
54
  }
63
55
  case "Order": {
64
56
  addRef(data.service, "service", "consume");
65
57
  addRefOption(data.machine, "machine", "consume");
66
58
  addRefOption(data.progress, "progress", "trigger");
67
- addRefOption(data.arbitration, "arbitration", "trigger");
59
+ addRefArray(data.dispute, "dispute", "trigger");
60
+ addRefOption(data.allocation, "allocation", "bind");
68
61
  break;
69
62
  }
70
63
  case "Progress": {
71
64
  addRef(data.machine, "machine", "bind");
72
- addRefOption(data.parent, "parent", "bind");
73
- addRefOption(data.order, "order", "bind");
65
+ addRefArray(data.context_repositories, "context_repositories", "consume");
74
66
  break;
75
67
  }
76
68
  case "Treasury": {
77
69
  addRef(data.permission, "permission", "validate");
78
- addRefOption(data.guard, "guard", "validate");
70
+ if (Array.isArray(data.external_deposit_guard)) {
71
+ for (const g of data.external_deposit_guard)
72
+ addRef(g?.guard, "external_deposit_guard", "validate");
73
+ }
74
+ if (Array.isArray(data.external_withdraw_guard)) {
75
+ for (const g of data.external_withdraw_guard)
76
+ addRef(g?.guard, "external_withdraw_guard", "validate");
77
+ }
78
+ break;
79
+ }
80
+ case "Allocation": {
81
+ if (Array.isArray(data.allocators)) {
82
+ for (const alloc of data.allocators)
83
+ addRef(alloc?.guard, "allocator_guard", "validate");
84
+ }
85
+ addRefOption(data.payment_info?.for_object, "for_object", "bind");
86
+ addRefOption(data.payment_info?.for_guard, "for_guard", "validate");
87
+ addRefArray(data.payment, "payment", "trigger");
88
+ break;
89
+ }
90
+ case "Arbitration": {
91
+ addRef(data.permission, "permission", "validate");
92
+ if (Array.isArray(data.voting_guard)) {
93
+ for (const vg of data.voting_guard)
94
+ addRef(vg?.guard, "voting_guard", "validate");
95
+ }
96
+ addRefOption(data.usage_guard, "usage_guard", "validate");
97
+ break;
98
+ }
99
+ case "Reward": {
100
+ addRef(data.permission, "permission", "validate");
101
+ if (Array.isArray(data.guards)) {
102
+ for (const rg of data.guards)
103
+ addRef(rg?.guard, "guard", "validate");
104
+ }
105
+ break;
106
+ }
107
+ case "Repository": {
108
+ addRef(data.permission, "permission", "validate");
109
+ addRefArray(data.rewards, "rewards", "trigger");
110
+ if (Array.isArray(data.policies)) {
111
+ for (const policy of data.policies) {
112
+ if (Array.isArray(policy?.write_guard)) {
113
+ for (const wg of policy.write_guard)
114
+ addRef(wg?.guard, "write_guard", "validate");
115
+ }
116
+ addRefOption(policy?.quote_guard, "quote_guard", "validate");
117
+ }
118
+ }
79
119
  break;
80
120
  }
81
- case "Allocation":
82
- case "Arbitration":
83
- case "Reward":
84
- case "Repository":
85
121
  case "Demand": {
86
122
  addRef(data.permission, "permission", "validate");
87
- addRefOption(data.guard, "guard", "validate");
123
+ if (Array.isArray(data.guards)) {
124
+ for (const dg of data.guards)
125
+ addRef(dg?.guard, "guard", "validate");
126
+ }
127
+ addRefArray(data.rewards, "rewards", "trigger");
88
128
  break;
89
129
  }
90
130
  case "Contact": {
@@ -95,9 +135,16 @@ function extractAddressFields(obj) {
95
135
  break;
96
136
  }
97
137
  case "Payment": {
98
- addRefOption(data.for_object, "for_object", "bind");
99
- addRefOption(data.for_guard, "for_guard", "validate");
100
- addRefArray(data.recipients, "recipients", "consume");
138
+ addRefOption(data.info?.for_object, "for_object", "bind");
139
+ addRefOption(data.info?.for_guard, "for_guard", "validate");
140
+ if (Array.isArray(data.record)) {
141
+ for (const r of data.record) {
142
+ const rec = r?.recipient;
143
+ if (rec && typeof rec === "object" && typeof rec.Entity === "string") {
144
+ addRef(rec.Entity, "recipient_entity", "consume");
145
+ }
146
+ }
147
+ }
101
148
  break;
102
149
  }
103
150
  case "Guard": {
@@ -165,53 +212,71 @@ const EXPECTED_RELATIONSHIPS = new Map([
165
212
  { targetType: "Machine", fieldName: "machine", relationshipType: "bind", single: true },
166
213
  { targetType: "Guard", fieldName: "buy_guard", relationshipType: "validate", single: true },
167
214
  { targetType: "Permission", fieldName: "permission", relationshipType: "validate", single: true },
168
- { targetType: "Allocation", fieldName: "order_allocators", relationshipType: "create" },
169
- { targetType: "Treasury", fieldName: "compensation_fund", relationshipType: "bind", single: true },
215
+ { targetType: "Guard", fieldName: "allocator_guard", relationshipType: "validate" },
216
+ { targetType: "Contact", fieldName: "um", relationshipType: "bind", single: true },
170
217
  { targetType: "Arbitration", fieldName: "arbitrations", relationshipType: "trigger" },
171
218
  { targetType: "Reward", fieldName: "rewards", relationshipType: "trigger" },
172
219
  { targetType: "Repository", fieldName: "repositories", relationshipType: "consume" },
173
220
  ]],
174
221
  ["Machine", [
175
- { targetType: "Guard", fieldName: "nodes.guard", relationshipType: "validate" },
176
222
  { targetType: "Permission", fieldName: "permission", relationshipType: "validate", single: true },
177
- { targetType: "Repository", fieldName: "repositories", relationshipType: "consume" },
223
+ { targetType: "Repository", fieldName: "consensus_repositories", relationshipType: "consume" },
224
+ { targetType: "Contact", fieldName: "um", relationshipType: "bind", single: true },
178
225
  ]],
179
226
  ["Order", [
180
227
  { targetType: "Service", fieldName: "service", relationshipType: "consume", single: true },
228
+ { targetType: "Machine", fieldName: "machine", relationshipType: "consume", single: true },
181
229
  { targetType: "Progress", fieldName: "progress", relationshipType: "trigger", single: true },
230
+ { targetType: "Arb", fieldName: "dispute", relationshipType: "trigger" },
231
+ { targetType: "Allocation", fieldName: "allocation", relationshipType: "bind", single: true },
182
232
  ]],
183
233
  ["Progress", [
184
- { targetType: "Machine", fieldName: "parent", relationshipType: "bind", single: true },
185
234
  { targetType: "Machine", fieldName: "machine", relationshipType: "bind", single: true },
235
+ { targetType: "Repository", fieldName: "context_repositories", relationshipType: "consume" },
186
236
  ]],
187
237
  ["Allocation", [
188
- { targetType: "Treasury", fieldName: "treasury", relationshipType: "consume", single: true },
189
- { targetType: "Guard", fieldName: "guard", relationshipType: "validate", single: true },
238
+ { targetType: "Guard", fieldName: "allocator_guard", relationshipType: "validate" },
239
+ { targetType: "Guard", fieldName: "for_guard", relationshipType: "validate", single: true },
240
+ { targetType: "Payment", fieldName: "payment", relationshipType: "trigger" },
190
241
  ]],
191
242
  ["Reward", [
192
- { targetType: "Guard", fieldName: "guard", relationshipType: "validate", single: true },
243
+ { targetType: "Guard", fieldName: "guard", relationshipType: "validate" },
193
244
  { targetType: "Permission", fieldName: "permission", relationshipType: "validate", single: true },
245
+ { targetType: "Contact", fieldName: "um", relationshipType: "bind", single: true },
194
246
  ]],
195
247
  ["Repository", [
196
- { targetType: "Guard", fieldName: "guard", relationshipType: "validate", single: true },
248
+ { targetType: "Guard", fieldName: "write_guard", relationshipType: "validate" },
249
+ { targetType: "Guard", fieldName: "quote_guard", relationshipType: "validate", single: true },
197
250
  { targetType: "Permission", fieldName: "permission", relationshipType: "validate", single: true },
251
+ { targetType: "Reward", fieldName: "rewards", relationshipType: "trigger" },
252
+ { targetType: "Contact", fieldName: "um", relationshipType: "bind", single: true },
198
253
  ]],
199
254
  ["Demand", [
200
- { targetType: "Service", fieldName: "service", relationshipType: "consume", single: true },
201
- { targetType: "Guard", fieldName: "guards", relationshipType: "validate" },
255
+ { targetType: "Guard", fieldName: "guard", relationshipType: "validate" },
202
256
  { targetType: "Reward", fieldName: "rewards", relationshipType: "trigger" },
257
+ { targetType: "Contact", fieldName: "um", relationshipType: "bind", single: true },
203
258
  ]],
204
259
  ["Treasury", [
205
260
  { targetType: "Permission", fieldName: "permission", relationshipType: "validate", single: true },
206
- { targetType: "Guard", fieldName: "guard", relationshipType: "validate", single: true },
261
+ { targetType: "Guard", fieldName: "external_deposit_guard", relationshipType: "validate" },
262
+ { targetType: "Guard", fieldName: "external_withdraw_guard", relationshipType: "validate" },
263
+ { targetType: "Contact", fieldName: "um", relationshipType: "bind", single: true },
207
264
  ]],
208
265
  ["Arbitration", [
209
266
  { targetType: "Permission", fieldName: "permission", relationshipType: "validate", single: true },
210
- { targetType: "Guard", fieldName: "guard", relationshipType: "validate", single: true },
267
+ { targetType: "Guard", fieldName: "voting_guard", relationshipType: "validate" },
268
+ { targetType: "Guard", fieldName: "usage_guard", relationshipType: "validate", single: true },
269
+ { targetType: "Contact", fieldName: "um", relationshipType: "bind", single: true },
211
270
  ]],
212
271
  ["Payment", [
213
272
  { targetType: "Guard", fieldName: "for_guard", relationshipType: "validate", single: true },
214
273
  ]],
274
+ ["Contact", [
275
+ { targetType: "Permission", fieldName: "permission", relationshipType: "validate", single: true },
276
+ ]],
277
+ ["Permission", [
278
+ { targetType: "Contact", fieldName: "um", relationshipType: "bind", single: true },
279
+ ]],
215
280
  ]);
216
281
  export class GraphBuilder {
217
282
  localProject;
@@ -478,33 +543,31 @@ export class GraphBuilder {
478
543
  const fieldKey = `${source.address}#${expected.fieldName}`;
479
544
  const existingBindings = sourceFieldBindings.get(fieldKey);
480
545
  const hasOtherBinding = existingBindings !== undefined && existingBindings.size > 0;
481
- for (const target of targets) {
482
- if (source.address === target.address)
483
- continue;
484
- const pairKey = `${source.address}→${target.address}`;
485
- if (existingPairs.has(pairKey))
486
- continue;
487
- if (existingBindings?.has(target.address))
488
- continue;
489
- potentialEdges.push({
490
- sourceObject: source.address,
491
- targetObject: target.address,
492
- edgeSource: "potential",
493
- relationshipType: expected.relationshipType,
494
- fieldName: expected.fieldName,
495
- depth: 0,
496
- verified: false,
497
- weight: hasOtherBinding ? 0.3 : 0.6,
498
- direction: "outbound",
499
- metadata: {
500
- reason: hasOtherBinding
501
- ? "field_already_bound_to_other"
502
- : "expected_relationship_missing",
503
- expected_target_type: expected.targetType,
504
- source_object_name: source.name,
505
- },
506
- });
507
- }
546
+ if (hasOtherBinding)
547
+ continue;
548
+ const representativeTarget = targets.find((t) => t.address !== source.address &&
549
+ !existingPairs.has(`${source.address}→${t.address}`) &&
550
+ !existingBindings?.has(t.address));
551
+ if (!representativeTarget)
552
+ continue;
553
+ potentialEdges.push({
554
+ sourceObject: source.address,
555
+ targetObject: representativeTarget.address,
556
+ edgeSource: "potential",
557
+ relationshipType: expected.relationshipType,
558
+ fieldName: expected.fieldName,
559
+ depth: 0,
560
+ verified: false,
561
+ weight: 0.6,
562
+ direction: "outbound",
563
+ metadata: {
564
+ reason: "expected_relationship_missing",
565
+ expected_target_type: expected.targetType,
566
+ source_object_name: source.name,
567
+ representative: true,
568
+ alternative_target_count: targets.length - 1,
569
+ },
570
+ });
508
571
  }
509
572
  }
510
573
  }
@@ -554,12 +617,14 @@ export class GraphBuilder {
554
617
  const obj = objectCache.get(addr);
555
618
  const queryName = obj?.query_name;
556
619
  const objectName = queryName && queryName !== addr ? queryName : null;
620
+ const isTemplate = addr.startsWith("draft:");
557
621
  nodeMap.set(addr, {
558
622
  address: addr,
559
623
  objectType: obj?.type ?? null,
560
624
  objectName,
561
625
  role: null,
562
626
  isCore: addr === rootAddress,
627
+ isTemplate,
563
628
  });
564
629
  }
565
630
  return nodeMap.get(addr);
@@ -6,6 +6,7 @@ export interface GraphNode {
6
6
  projects?: string[];
7
7
  type?: ProjectObjectType;
8
8
  address?: string;
9
+ isTemplate?: boolean;
9
10
  decision_contexts?: GraphDecisionContext[];
10
11
  }
11
12
  export interface GraphDecisionContext {
@@ -1,5 +1,5 @@
1
1
  import type { z } from "zod";
2
- import { type Project, type ProjectObject, type EvaluationType } from "@wowok/wowok";
2
+ import { type ProjectObject, type EvaluationType } from "@wowok/wowok";
3
3
  import type { ProjectOperationInputSchema } from "../schema/project/index.js";
4
4
  type ProjectInput = z.infer<typeof ProjectOperationInputSchema>;
5
5
  export declare function handleListProjects(v: ProjectInput): Promise<{
@@ -28,23 +28,98 @@ export declare function handleListProjects(v: ProjectInput): Promise<{
28
28
  }>;
29
29
  export declare function handleCreateProject(v: ProjectInput): Promise<{
30
30
  action: "create_project";
31
- project: Project;
31
+ project: import("@wowok/wowok").Project;
32
+ blueprint: {
33
+ objects_count: number;
34
+ edges_count: number;
35
+ industry_source: string;
36
+ applied_template: string;
37
+ steps_count: number;
38
+ scenarios_count: number;
39
+ key_risk: string | undefined;
40
+ };
41
+ recommended_creation_order: {
42
+ step: number;
43
+ object: string;
44
+ reason: string;
45
+ required: boolean;
46
+ }[];
47
+ blueprint_warning?: undefined;
48
+ blueprint_skipped?: undefined;
49
+ hint?: undefined;
50
+ } | {
51
+ action: "create_project";
52
+ project: import("@wowok/wowok").Project;
53
+ blueprint_warning: string;
54
+ recommended_creation_order: {
55
+ step: number;
56
+ object: string;
57
+ reason: string;
58
+ required: boolean;
59
+ }[];
60
+ blueprint?: undefined;
61
+ blueprint_skipped?: undefined;
62
+ hint?: undefined;
63
+ } | {
64
+ action: "create_project";
65
+ project: import("@wowok/wowok").Project;
66
+ blueprint_skipped: boolean;
67
+ hint: string;
68
+ recommended_creation_order: {
69
+ step: number;
70
+ object: string;
71
+ reason: string;
72
+ required: boolean;
73
+ }[];
74
+ blueprint?: undefined;
75
+ blueprint_warning?: undefined;
76
+ } | {
77
+ action: "create_project";
78
+ project: import("@wowok/wowok").Project;
79
+ recommended_creation_order: {
80
+ step: number;
81
+ object: string;
82
+ reason: string;
83
+ required: boolean;
84
+ }[];
85
+ blueprint?: undefined;
86
+ blueprint_warning?: undefined;
87
+ blueprint_skipped?: undefined;
88
+ hint?: undefined;
32
89
  }>;
33
90
  export declare function handleCreateProjectFromOnchain(v: ProjectInput): Promise<{
34
91
  action: "create_project_from_onchain";
35
- project: Project;
92
+ project: import("@wowok/wowok").Project;
36
93
  objects: ProjectObject[];
37
94
  graphEdgeCount: number;
38
95
  }>;
39
96
  export declare function handleUpdateProject(v: ProjectInput): Promise<{
40
97
  action: "update_project";
41
- project: Project;
98
+ project: import("@wowok/wowok").Project;
42
99
  }>;
43
100
  export declare function handleGetProjectDetail(v: ProjectInput): Promise<{
44
101
  action: "get_project_detail";
45
- project: Project;
102
+ project: import("@wowok/wowok").Project;
46
103
  objects: ProjectObject[];
104
+ objectGroups: {
105
+ core: ProjectObject[];
106
+ dependency: ProjectObject[];
107
+ reference: ProjectObject[];
108
+ other: ProjectObject[];
109
+ stats: {
110
+ total: number;
111
+ core_count: number;
112
+ dependency_count: number;
113
+ reference_count: number;
114
+ other_count: number;
115
+ by_type: Record<string, number>;
116
+ };
117
+ };
47
118
  graphEdgeCount: number;
119
+ serviceStatus: {
120
+ published: boolean | null;
121
+ paused: boolean | null;
122
+ } | null;
48
123
  evaluations: {
49
124
  id: string;
50
125
  evalType: EvaluationType;
@@ -86,6 +161,31 @@ export declare function handleBuildGraph(v: ProjectInput): Promise<{
86
161
  edgesBySource: Record<string, number>;
87
162
  reputationCount: number;
88
163
  builtAt: number;
164
+ topEdges: {
165
+ source: string;
166
+ target: string;
167
+ fieldName: string | null;
168
+ relationshipType: import("@wowok/wowok").RelationshipType;
169
+ weight: number;
170
+ verified: boolean;
171
+ }[];
172
+ visualization: string;
173
+ hint: string;
174
+ binding_verification: {
175
+ service: string;
176
+ bindings: Record<string, {
177
+ expected: string;
178
+ actual: string | null;
179
+ count?: number;
180
+ verified: boolean;
181
+ }>;
182
+ all_verified: boolean;
183
+ } | null;
184
+ } | {
185
+ action: "build_graph";
186
+ async_mode: true;
187
+ task_id: string;
188
+ hint: string;
89
189
  }>;
90
190
  export declare function handleGetGraph(v: ProjectInput): Promise<{
91
191
  action: "get_graph";
@@ -139,6 +239,15 @@ export declare function handleDeleteProject(v: ProjectInput): Promise<{
139
239
  action: "delete_project";
140
240
  deleted: true;
141
241
  }>;
242
+ export declare function handleCloneProjectToNetwork(v: ProjectInput): Promise<{
243
+ action: "clone_project_to_network" | "migrate_network";
244
+ new_project_id: string;
245
+ new_prefix: string;
246
+ target_network: "testnet" | "mainnet";
247
+ cloned_objects_count: number;
248
+ message: string;
249
+ next_steps: string;
250
+ }>;
142
251
  export declare function handleGetObjectDiff(v: ProjectInput): Promise<{
143
252
  action: "get_object_diff";
144
253
  address: string;
@@ -151,4 +260,109 @@ export declare function handleGetObjectDiff(v: ProjectInput): Promise<{
151
260
  changeType: "modified" | "removed" | "added";
152
261
  }[];
153
262
  }>;
263
+ declare function normalizeForwards(raw: unknown): {
264
+ name: string;
265
+ weight: number;
266
+ guard: string | null;
267
+ retained_submission: number[] | null;
268
+ named_operator: string | null;
269
+ permission_index: number | null;
270
+ }[];
271
+ export declare function handleGetMachineGraph(v: ProjectInput): Promise<{
272
+ action: "get_machine_graph";
273
+ machineAddress: string;
274
+ machineName: string | null;
275
+ nodes: {
276
+ name: string;
277
+ description: string | null;
278
+ }[];
279
+ edges: {
280
+ from: string;
281
+ to: string;
282
+ threshold: number;
283
+ forwards: ReturnType<typeof normalizeForwards>;
284
+ }[];
285
+ published: boolean | null;
286
+ paused: boolean | null;
287
+ }>;
288
+ export declare function handlePreEvaluateCheck(v: ProjectInput): Promise<{
289
+ action: "pre_evaluate_check";
290
+ ready: boolean;
291
+ missing: {
292
+ id: string;
293
+ description: string;
294
+ impact: string;
295
+ }[];
296
+ warnings: {
297
+ id: string;
298
+ description: string;
299
+ impact: string;
300
+ }[];
301
+ summary: string;
302
+ counts?: undefined;
303
+ } | {
304
+ action: "pre_evaluate_check";
305
+ ready: boolean;
306
+ missing: {
307
+ id: string;
308
+ description: string;
309
+ impact: string;
310
+ }[];
311
+ warnings: {
312
+ id: string;
313
+ description: string;
314
+ impact: string;
315
+ }[];
316
+ summary: string;
317
+ counts: {
318
+ objects: number;
319
+ edges: number;
320
+ uncached: number;
321
+ stale: number;
322
+ dangling_edges: number;
323
+ drafts: number;
324
+ };
325
+ }>;
326
+ export declare function handleVerifyDeployment(v: ProjectInput): Promise<{
327
+ action: "verify_deployment";
328
+ verifiedCount: number;
329
+ matched: number;
330
+ mismatched: number;
331
+ missing: number;
332
+ unreachable: number;
333
+ results: {
334
+ objectAddress: string;
335
+ objectName: string | null;
336
+ objectType: string | null;
337
+ status: "unreachable";
338
+ error: string;
339
+ }[];
340
+ summary: string;
341
+ } | {
342
+ action: "verify_deployment";
343
+ verifiedCount: number;
344
+ matched: number;
345
+ mismatched: number;
346
+ missing: number;
347
+ unreachable: number;
348
+ results: {
349
+ objectAddress: string;
350
+ objectName: string | null;
351
+ objectType: string | null;
352
+ status: "matched" | "mismatched" | "missing" | "unreachable";
353
+ error?: string;
354
+ differences?: Array<{
355
+ field: string;
356
+ sqlite: unknown;
357
+ onchain: unknown;
358
+ }>;
359
+ bindings?: {
360
+ machine: boolean;
361
+ permission: boolean;
362
+ buy_guard: boolean;
363
+ order_allocators: boolean;
364
+ };
365
+ }[];
366
+ summary: string;
367
+ }>;
154
368
  export {};