@wowok/agent-mcp 2.6.8 → 2.6.9

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 (53) hide show
  1. package/dist/customer/customer-advice.js +1 -0
  2. package/dist/customer/info-puzzle.js +1 -0
  3. package/dist/customer/reminder-system.d.ts +1 -0
  4. package/dist/customer/reminder-system.js +20 -0
  5. package/dist/customer/types.d.ts +1 -0
  6. package/dist/examples/{insurance-machine-create-publish.json → insurance-machine-create.json} +9 -9
  7. package/dist/examples/insurance-service-allocators.json +55 -0
  8. package/dist/examples/machine-publish.json +30 -0
  9. package/dist/examples/rental-ziroom-service-create.json +12 -64
  10. package/dist/examples/retail-myshop-service-create.json +14 -64
  11. package/dist/examples/retail-myshop-service-customer-required.json +31 -0
  12. package/dist/examples/threebody-machine-create.json +9 -10
  13. package/dist/examples/threebody-service-allocators.json +3 -4
  14. package/dist/examples/travel-machine-create.json +9 -10
  15. package/dist/examples/travel-service-create.json +11 -79
  16. package/dist/harness/index.d.ts +6 -1
  17. package/dist/harness/index.js +4 -1
  18. package/dist/harness/plan.d.ts +13 -0
  19. package/dist/harness/plan.js +24 -0
  20. package/dist/harness/recover.js +2 -2
  21. package/dist/index.js +10 -0
  22. package/dist/project/context-assembly.d.ts +9 -0
  23. package/dist/project/context-assembly.js +122 -6
  24. package/dist/project/graph-builder.d.ts +6 -1
  25. package/dist/project/graph-builder.js +1 -1
  26. package/dist/project/handlers.d.ts +1 -0
  27. package/dist/project/handlers.js +22 -9
  28. package/dist/schema/call/allocation.js +1 -1
  29. package/dist/schema/call/payment.d.ts +11 -11
  30. package/dist/schema/call/payment.js +5 -3
  31. package/dist/schema/call/semantic.js +10 -1
  32. package/dist/schema/call/service.d.ts +6 -6
  33. package/dist/schema/call/service.js +14 -3
  34. package/dist/schema/operations.d.ts +11 -11
  35. package/dist/schema/project/index.d.ts +105 -0
  36. package/dist/schema/project/index.js +53 -0
  37. package/dist/schema/query/index.d.ts +571 -0
  38. package/dist/schema/query/index.js +42 -1
  39. package/dist/schema/sync-layer4.js +25 -4
  40. package/dist/schemas/index.json +1 -1
  41. package/dist/schemas/onchain_operations.schema.json +7 -8
  42. package/dist/schemas/onchain_operations_allocation.schema.json +1 -1
  43. package/dist/schemas/onchain_operations_payment.schema.json +3 -4
  44. package/dist/schemas/onchain_operations_service.schema.json +3 -3
  45. package/dist/schemas/project_operation.output.json +79 -0
  46. package/dist/schemas/project_operation.schema.json +13 -0
  47. package/dist/schemas/query_toolkit.output.json +39 -1
  48. package/dist/schemas/wowok_buildin_info.output.json +132 -0
  49. package/dist/schemas/wowok_buildin_info.schema.json +14 -0
  50. package/dist/tools/handlers/onchain.js +94 -4
  51. package/dist/tools/index.js +3 -3
  52. package/package.json +2 -2
  53. package/dist/examples/insurance-service-allocators-publish.json +0 -56
@@ -19,15 +19,17 @@ export const CallPayment_ReceiveSchema = z.object({
19
19
  "but they are NOT spendable coins. This mode unwraps a CoinWrapper into actual coins in your wallet " +
20
20
  "via payment::unwrap_to_myself. The caller must be the CoinWrapper's owner (the recipient " +
21
21
  "specified in the Allocation's revenue split)."),
22
- type_parameter: z.string().describe("Coin type of the CoinWrapper, e.g. '0x2::wow::WOW'. " +
23
- "Must match the type used when the Allocation created the Payment."),
22
+ type_parameter: z.string().optional().describe("Coin type of the CoinWrapper, e.g. '0x2::wow::WOW'. " +
23
+ "OPTIONAL: when omitted it is auto-derived from the CoinWrapper's own on-chain type " +
24
+ "(the inner T of `CoinWrapper<T>`), so {object, receive:true} alone unwraps to spendable coins. " +
25
+ "Only provide it explicitly when auto-derivation fails."),
24
26
  }).strict().describe("Receive mode: unwrap a CoinWrapper to the caller's wallet. Use after Allocation's alloc_by_guard creates a Payment with your address as a revenue recipient. The CoinWrapper holds your share — call this to convert it to actual coins in your wallet.");
25
27
  export const CallPayment_DataSchema = z.union([
26
28
  CallPayment_CreateSchema,
27
29
  CallPayment_ReceiveSchema,
28
30
  ]).describe("On-chain Payment operations. TWO modes:\n" +
29
31
  "(1) CREATE: Set 'object' with {name, type_parameter, ...}, 'revenue', and 'info' to create a new Payment.\n" +
30
- "(2) RECEIVE: Set {object: '<coinwrapper_id_or_name>', receive: true, type_parameter: '0x2::wow::WOW'} to unwrap a CoinWrapper to your wallet.\n" +
32
+ "(2) RECEIVE: Set {object: '<coinwrapper_id_or_name>', receive: true} to unwrap a CoinWrapper to your wallet (type_parameter optional — auto-derived from the CoinWrapper's type).\n" +
31
33
  "The 'object' field is CRITICAL and REQUIRED in both modes. STRING for receive (CoinWrapper ID/name), OBJECT for create.");
32
34
  export const CallPayment_InputSchema = z.object({
33
35
  data: CallPayment_DataSchema,
@@ -1133,7 +1133,15 @@ function buildCustomerAdvice(operation_type, data, safeResult) {
1133
1133
  const hasArbitration = booleanFromSignals(data?.arb_name !== undefined || data?.arbitration !== undefined, data?.arb === false);
1134
1134
  const hasCompensation = booleanFromSignals(data?.compensation_fund !== undefined || data?.compensation !== undefined, false);
1135
1135
  const hasRefundPath = booleanFromSignals(data?.refund !== undefined, false);
1136
- const hasMessenger = booleanFromSignals(data?.um_name !== undefined || data?.messenger !== undefined, false);
1136
+ const hasMessenger = booleanFromSignals(data?.um !== undefined ||
1137
+ data?.um_name !== undefined ||
1138
+ data?.messenger !== undefined ||
1139
+ safeResult?.um !== undefined, data?.um === null || data?.um_name === null);
1140
+ const customerRequired = Array.isArray(data?.customer_required)
1141
+ ? data.customer_required.filter((x) => typeof x === "string")
1142
+ : Array.isArray(safeResult?.customer_required)
1143
+ ? safeResult.customer_required.filter((x) => typeof x === "string")
1144
+ : [];
1137
1145
  const noArbitration = hasArbitration === false;
1138
1146
  const noCompensation = hasCompensation === false;
1139
1147
  const riskScore = typeof data?.risk_score === "number" ? data.risk_score
@@ -1166,6 +1174,7 @@ function buildCustomerAdvice(operation_type, data, safeResult) {
1166
1174
  has_compensation: hasCompensation,
1167
1175
  has_refund_path: hasRefundPath,
1168
1176
  has_messenger: hasMessenger,
1177
+ customer_required: customerRequired,
1169
1178
  risk_score: riskScore,
1170
1179
  risk_level: riskLevel,
1171
1180
  user_min_trust_score: userMinTrust,
@@ -1464,6 +1464,7 @@ export declare const CallService_DataSchema: z.ZodObject<{
1464
1464
  } | {
1465
1465
  coin: string;
1466
1466
  } | undefined;
1467
+ customer_required?: string[] | undefined;
1467
1468
  um?: string | null | undefined;
1468
1469
  owner_receive?: {
1469
1470
  received: {
@@ -1487,7 +1488,6 @@ export declare const CallService_DataSchema: z.ZodObject<{
1487
1488
  } | {
1488
1489
  op: "clear";
1489
1490
  } | undefined;
1490
- customer_required?: string[] | undefined;
1491
1491
  location?: string | undefined;
1492
1492
  compensation_fund_withdraw?: {
1493
1493
  payment_info: {
@@ -1652,6 +1652,7 @@ export declare const CallService_DataSchema: z.ZodObject<{
1652
1652
  } | {
1653
1653
  coin: string;
1654
1654
  } | undefined;
1655
+ customer_required?: string[] | undefined;
1655
1656
  um?: string | null | undefined;
1656
1657
  owner_receive?: {
1657
1658
  received: {
@@ -1667,7 +1668,6 @@ export declare const CallService_DataSchema: z.ZodObject<{
1667
1668
  content_raw?: any;
1668
1669
  }[] | undefined;
1669
1670
  repositories?: unknown;
1670
- customer_required?: string[] | undefined;
1671
1671
  location?: string | undefined;
1672
1672
  compensation_fund_withdraw?: {
1673
1673
  payment_info: {
@@ -2717,6 +2717,7 @@ export declare const CallService_InputSchema: z.ZodObject<{
2717
2717
  } | {
2718
2718
  coin: string;
2719
2719
  } | undefined;
2720
+ customer_required?: string[] | undefined;
2720
2721
  um?: string | null | undefined;
2721
2722
  owner_receive?: {
2722
2723
  received: {
@@ -2740,7 +2741,6 @@ export declare const CallService_InputSchema: z.ZodObject<{
2740
2741
  } | {
2741
2742
  op: "clear";
2742
2743
  } | undefined;
2743
- customer_required?: string[] | undefined;
2744
2744
  location?: string | undefined;
2745
2745
  compensation_fund_withdraw?: {
2746
2746
  payment_info: {
@@ -2905,6 +2905,7 @@ export declare const CallService_InputSchema: z.ZodObject<{
2905
2905
  } | {
2906
2906
  coin: string;
2907
2907
  } | undefined;
2908
+ customer_required?: string[] | undefined;
2908
2909
  um?: string | null | undefined;
2909
2910
  owner_receive?: {
2910
2911
  received: {
@@ -2920,7 +2921,6 @@ export declare const CallService_InputSchema: z.ZodObject<{
2920
2921
  content_raw?: any;
2921
2922
  }[] | undefined;
2922
2923
  repositories?: unknown;
2923
- customer_required?: string[] | undefined;
2924
2924
  location?: string | undefined;
2925
2925
  compensation_fund_withdraw?: {
2926
2926
  payment_info: {
@@ -3320,6 +3320,7 @@ export declare const CallService_InputSchema: z.ZodObject<{
3320
3320
  } | {
3321
3321
  coin: string;
3322
3322
  } | undefined;
3323
+ customer_required?: string[] | undefined;
3323
3324
  um?: string | null | undefined;
3324
3325
  owner_receive?: {
3325
3326
  received: {
@@ -3343,7 +3344,6 @@ export declare const CallService_InputSchema: z.ZodObject<{
3343
3344
  } | {
3344
3345
  op: "clear";
3345
3346
  } | undefined;
3346
- customer_required?: string[] | undefined;
3347
3347
  location?: string | undefined;
3348
3348
  compensation_fund_withdraw?: {
3349
3349
  payment_info: {
@@ -3550,6 +3550,7 @@ export declare const CallService_InputSchema: z.ZodObject<{
3550
3550
  } | {
3551
3551
  coin: string;
3552
3552
  } | undefined;
3553
+ customer_required?: string[] | undefined;
3553
3554
  um?: string | null | undefined;
3554
3555
  owner_receive?: {
3555
3556
  received: {
@@ -3565,7 +3566,6 @@ export declare const CallService_InputSchema: z.ZodObject<{
3565
3566
  content_raw?: any;
3566
3567
  }[] | undefined;
3567
3568
  repositories?: unknown;
3568
- customer_required?: string[] | undefined;
3569
3569
  location?: string | undefined;
3570
3570
  compensation_fund_withdraw?: {
3571
3571
  payment_info: {
@@ -31,7 +31,11 @@ export const DiscountSchema = z.object({
31
31
  export const OrderNewSchema = z.object({
32
32
  buy: BuySchema,
33
33
  agents: ManyAccountOrMark_AddressSchema.optional().describe("Order agents. Agents can operate the order, such as canceling the order, modifying the order status, etc.; but cannot receive the funds received by the order."),
34
- order_required_info: z.string().optional().describe("Contact object ID or WTS Proof object"),
34
+ order_required_info: z.string().optional().describe("Contact object ID or WTS Proof object, recorded on the Order as proof that the order holder " +
35
+ "delivered the required private information (service.customer_required) to the merchant. " +
36
+ "FLOW: when a Service declares customer_required (e.g. phone/email/shipping_address), the order holder " +
37
+ "MUST send that private information to the Service's Contact (um) via end-to-end encrypted Messenger, " +
38
+ "then pass the Contact object ID or the generated WTS Proof here so the delivery is verifiable on-chain."),
35
39
  transfer: AccountOrMark_AddressSchema.optional().describe("Set the new owner of the order. Requires order owner permission to set."),
36
40
  namedNewOrder: NamedObjectSchema.optional().describe("RECOMMENDED: Set a local name for the newly created Order object. " +
37
41
  "Without this, the Order is only referenceable by its on-chain address. " +
@@ -84,7 +88,10 @@ export const CallService_DataSchema = z.object({
84
88
  machine: z.union([NameOrAddressSchema, z.null()]).optional().describe("Service Machine object ID or name. The Machine object must be in published state."),
85
89
  discount: DiscountSchema.optional().describe("Issue discount."),
86
90
  discount_destroy: z.array(NameOrAddressSchema).optional().describe("Destroy existing discount object ID list."),
87
- customer_required: z.array(NotEmptyNameSchema).optional().describe("Customer required information. Such as phone, email, etc."),
91
+ customer_required: z.array(NotEmptyNameSchema).optional().describe("Customer required information labels. Such as phone, email, shipping_address, etc. " +
92
+ "⚠️ HARD LINKAGE (SDK-enforced): if customer_required is set (non-empty), the Service MUST also bind a " +
93
+ "Contact via `um` — otherwise the customer's private information cannot be delivered through end-to-end " +
94
+ "encrypted Messenger (which routes to the Contact bound as um). Set `um` together with customer_required."),
88
95
  order_allocators: z.union([AllocatorsSchema, z.null()]).optional().describe("Order fund allocator. Max 100 allocators (MAX_ALLOCATOR_COUNT). " +
89
96
  "Each allocator has a guard (first matching guard wins) and a sharing list. " +
90
97
  "Set to null to clear. " +
@@ -125,7 +132,11 @@ export const CallService_DataSchema = z.object({
125
132
  "(all require pause + setting_lock_duration elapsed since pause)."),
126
133
  compensation_fund_receive: ReceivedBalanceOrRecentlySchema.optional().describe("Receive order compensation funds from this Service object." + RECEIVE_FORMAT_BLOCK_BALANCE),
127
134
  owner_receive: ReceivedObjectsOrRecentlySchema.optional().describe("Unwrap CoinWrapper objects and other objects received by this Service object and send them to the owner of its Permission object." + RECEIVE_FORMAT_BLOCK_OBJECTS),
128
- um: z.union([NameOrAddressSchema, z.null()]).optional().describe("Contact object ID or name."),
135
+ um: z.union([NameOrAddressSchema, z.null()]).optional().describe("Contact object ID or name — the Service's customer-service channel. " +
136
+ "This is the object that Messenger routes encrypted messages to for pre-order negotiation, " +
137
+ "private-info delivery (see customer_required), and post-sale support. " +
138
+ "⚠️ REQUIRED whenever customer_required is set: without um, the customer's private information " +
139
+ "has no channel to reach the merchant."),
129
140
  pause: z.boolean().optional().describe("Whether to pause accepting new orders."),
130
141
  publish: z.boolean().optional().describe("Whether to publish the Service. After publishing, customers can place orders. " +
131
142
  "VERIFIED against Move source service.move + SDK service.ts (4-level immutability matrix):\n" +
@@ -986,6 +986,7 @@ export declare const OnchainOperationsSchema: z.ZodEffects<z.ZodDiscriminatedUni
986
986
  } | {
987
987
  coin: string;
988
988
  } | undefined;
989
+ customer_required?: string[] | undefined;
989
990
  um?: string | null | undefined;
990
991
  owner_receive?: {
991
992
  received: {
@@ -1009,7 +1010,6 @@ export declare const OnchainOperationsSchema: z.ZodEffects<z.ZodDiscriminatedUni
1009
1010
  } | {
1010
1011
  op: "clear";
1011
1012
  } | undefined;
1012
- customer_required?: string[] | undefined;
1013
1013
  location?: string | undefined;
1014
1014
  compensation_fund_withdraw?: {
1015
1015
  payment_info: {
@@ -1174,6 +1174,7 @@ export declare const OnchainOperationsSchema: z.ZodEffects<z.ZodDiscriminatedUni
1174
1174
  } | {
1175
1175
  coin: string;
1176
1176
  } | undefined;
1177
+ customer_required?: string[] | undefined;
1177
1178
  um?: string | null | undefined;
1178
1179
  owner_receive?: {
1179
1180
  received: {
@@ -1189,7 +1190,6 @@ export declare const OnchainOperationsSchema: z.ZodEffects<z.ZodDiscriminatedUni
1189
1190
  content_raw?: any;
1190
1191
  }[] | undefined;
1191
1192
  repositories?: unknown;
1192
- customer_required?: string[] | undefined;
1193
1193
  location?: string | undefined;
1194
1194
  compensation_fund_withdraw?: {
1195
1195
  payment_info: {
@@ -1589,6 +1589,7 @@ export declare const OnchainOperationsSchema: z.ZodEffects<z.ZodDiscriminatedUni
1589
1589
  } | {
1590
1590
  coin: string;
1591
1591
  } | undefined;
1592
+ customer_required?: string[] | undefined;
1592
1593
  um?: string | null | undefined;
1593
1594
  owner_receive?: {
1594
1595
  received: {
@@ -1612,7 +1613,6 @@ export declare const OnchainOperationsSchema: z.ZodEffects<z.ZodDiscriminatedUni
1612
1613
  } | {
1613
1614
  op: "clear";
1614
1615
  } | undefined;
1615
- customer_required?: string[] | undefined;
1616
1616
  location?: string | undefined;
1617
1617
  compensation_fund_withdraw?: {
1618
1618
  payment_info: {
@@ -1820,6 +1820,7 @@ export declare const OnchainOperationsSchema: z.ZodEffects<z.ZodDiscriminatedUni
1820
1820
  } | {
1821
1821
  coin: string;
1822
1822
  } | undefined;
1823
+ customer_required?: string[] | undefined;
1823
1824
  um?: string | null | undefined;
1824
1825
  owner_receive?: {
1825
1826
  received: {
@@ -1835,7 +1836,6 @@ export declare const OnchainOperationsSchema: z.ZodEffects<z.ZodDiscriminatedUni
1835
1836
  content_raw?: any;
1836
1837
  }[] | undefined;
1837
1838
  repositories?: unknown;
1838
- customer_required?: string[] | undefined;
1839
1839
  location?: string | undefined;
1840
1840
  compensation_fund_withdraw?: {
1841
1841
  payment_info: {
@@ -12890,15 +12890,15 @@ export declare const OnchainOperationsSchema: z.ZodEffects<z.ZodDiscriminatedUni
12890
12890
  }>, z.ZodObject<{
12891
12891
  object: z.ZodEffects<z.ZodString, string, string>;
12892
12892
  receive: z.ZodLiteral<true>;
12893
- type_parameter: z.ZodString;
12893
+ type_parameter: z.ZodOptional<z.ZodString>;
12894
12894
  }, "strict", z.ZodTypeAny, {
12895
12895
  object: string;
12896
- type_parameter: string;
12897
12896
  receive: true;
12897
+ type_parameter?: string | undefined;
12898
12898
  }, {
12899
12899
  object: string;
12900
- type_parameter: string;
12901
12900
  receive: true;
12901
+ type_parameter?: string | undefined;
12902
12902
  }>]>;
12903
12903
  env: z.ZodOptional<z.ZodObject<{
12904
12904
  account: z.ZodDefault<z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>>;
@@ -12965,8 +12965,8 @@ export declare const OnchainOperationsSchema: z.ZodEffects<z.ZodDiscriminatedUni
12965
12965
  }[];
12966
12966
  } | {
12967
12967
  object: string;
12968
- type_parameter: string;
12969
12968
  receive: true;
12969
+ type_parameter?: string | undefined;
12970
12970
  };
12971
12971
  operation_type: "payment";
12972
12972
  env?: {
@@ -13010,8 +13010,8 @@ export declare const OnchainOperationsSchema: z.ZodEffects<z.ZodDiscriminatedUni
13010
13010
  }[];
13011
13011
  } | {
13012
13012
  object: string;
13013
- type_parameter: string;
13014
13013
  receive: true;
13014
+ type_parameter?: string | undefined;
13015
13015
  };
13016
13016
  operation_type: "payment";
13017
13017
  env?: {
@@ -15372,6 +15372,7 @@ export declare const OnchainOperationsSchema: z.ZodEffects<z.ZodDiscriminatedUni
15372
15372
  } | {
15373
15373
  coin: string;
15374
15374
  } | undefined;
15375
+ customer_required?: string[] | undefined;
15375
15376
  um?: string | null | undefined;
15376
15377
  owner_receive?: {
15377
15378
  received: {
@@ -15395,7 +15396,6 @@ export declare const OnchainOperationsSchema: z.ZodEffects<z.ZodDiscriminatedUni
15395
15396
  } | {
15396
15397
  op: "clear";
15397
15398
  } | undefined;
15398
- customer_required?: string[] | undefined;
15399
15399
  location?: string | undefined;
15400
15400
  compensation_fund_withdraw?: {
15401
15401
  payment_info: {
@@ -16875,8 +16875,8 @@ export declare const OnchainOperationsSchema: z.ZodEffects<z.ZodDiscriminatedUni
16875
16875
  }[];
16876
16876
  } | {
16877
16877
  object: string;
16878
- type_parameter: string;
16879
16878
  receive: true;
16879
+ type_parameter?: string | undefined;
16880
16880
  };
16881
16881
  operation_type: "payment";
16882
16882
  env?: {
@@ -8,6 +8,8 @@ export declare const ProjectOperationInputSchema: z.ZodObject<{
8
8
  context_objects: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
9
9
  include_events: z.ZodOptional<z.ZodBoolean>;
10
10
  context_network: z.ZodOptional<z.ZodEnum<["testnet", "mainnet"]>>;
11
+ context_depth: z.ZodOptional<z.ZodNumber>;
12
+ context_include: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
11
13
  filter_status: z.ZodOptional<z.ZodEnum<["draft", "active", "inactive", "archived"]>>;
12
14
  filter_perspective: z.ZodOptional<z.ZodEnum<["producer", "consumer", "both"]>>;
13
15
  filter_network: z.ZodOptional<z.ZodEnum<["testnet", "mainnet"]>>;
@@ -399,6 +401,8 @@ export declare const ProjectOperationInputSchema: z.ZodObject<{
399
401
  context_objects?: string[] | undefined;
400
402
  include_events?: boolean | undefined;
401
403
  context_network?: "testnet" | "mainnet" | undefined;
404
+ context_depth?: number | undefined;
405
+ context_include?: string[] | undefined;
402
406
  filter_status?: "active" | "inactive" | "draft" | "archived" | undefined;
403
407
  filter_perspective?: "consumer" | "producer" | "both" | undefined;
404
408
  filter_network?: "testnet" | "mainnet" | undefined;
@@ -577,6 +581,8 @@ export declare const ProjectOperationInputSchema: z.ZodObject<{
577
581
  context_objects?: string[] | undefined;
578
582
  include_events?: boolean | undefined;
579
583
  context_network?: "testnet" | "mainnet" | undefined;
584
+ context_depth?: number | undefined;
585
+ context_include?: string[] | undefined;
580
586
  filter_status?: "active" | "inactive" | "draft" | "archived" | undefined;
581
587
  filter_perspective?: "consumer" | "producer" | "both" | undefined;
582
588
  filter_network?: "testnet" | "mainnet" | undefined;
@@ -2680,6 +2686,26 @@ export declare const ProjectOperationOutputSchema: z.ZodObject<{
2680
2686
  objects: z.ZodArray<z.ZodUnknown, "many">;
2681
2687
  events: z.ZodOptional<z.ZodArray<z.ZodUnknown, "many">>;
2682
2688
  embedded_history: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
2689
+ dependencies: z.ZodOptional<z.ZodArray<z.ZodObject<{
2690
+ object: z.ZodString;
2691
+ depth: z.ZodNumber;
2692
+ via_field: z.ZodString;
2693
+ via_type: z.ZodString;
2694
+ parent: z.ZodString;
2695
+ }, "strip", z.ZodTypeAny, {
2696
+ object: string;
2697
+ parent: string;
2698
+ depth: number;
2699
+ via_field: string;
2700
+ via_type: string;
2701
+ }, {
2702
+ object: string;
2703
+ parent: string;
2704
+ depth: number;
2705
+ via_field: string;
2706
+ via_type: string;
2707
+ }>, "many">>;
2708
+ dependency_objects: z.ZodOptional<z.ZodArray<z.ZodUnknown, "many">>;
2683
2709
  semantic_summary: z.ZodOptional<z.ZodUnknown>;
2684
2710
  context_digest: z.ZodString;
2685
2711
  next_action: z.ZodString;
@@ -2702,8 +2728,16 @@ export declare const ProjectOperationOutputSchema: z.ZodObject<{
2702
2728
  context_digest: string;
2703
2729
  next_action: string;
2704
2730
  events?: unknown[] | undefined;
2731
+ dependencies?: {
2732
+ object: string;
2733
+ parent: string;
2734
+ depth: number;
2735
+ via_field: string;
2736
+ via_type: string;
2737
+ }[] | undefined;
2705
2738
  semantic_summary?: unknown;
2706
2739
  embedded_history?: Record<string, unknown> | undefined;
2740
+ dependency_objects?: unknown[] | undefined;
2707
2741
  flywheel_collected?: {
2708
2742
  signature_recorded: boolean;
2709
2743
  proposal_created: boolean;
@@ -2715,8 +2749,16 @@ export declare const ProjectOperationOutputSchema: z.ZodObject<{
2715
2749
  context_digest: string;
2716
2750
  next_action: string;
2717
2751
  events?: unknown[] | undefined;
2752
+ dependencies?: {
2753
+ object: string;
2754
+ parent: string;
2755
+ depth: number;
2756
+ via_field: string;
2757
+ via_type: string;
2758
+ }[] | undefined;
2718
2759
  semantic_summary?: unknown;
2719
2760
  embedded_history?: Record<string, unknown> | undefined;
2761
+ dependency_objects?: unknown[] | undefined;
2720
2762
  flywheel_collected?: {
2721
2763
  signature_recorded: boolean;
2722
2764
  proposal_created: boolean;
@@ -3967,6 +4009,25 @@ export declare const ProjectOperationOutputSchema: z.ZodObject<{
3967
4009
  cloned_objects_count: number;
3968
4010
  }>;
3969
4011
  key_principle: z.ZodString;
4012
+ payment_token_decision: z.ZodObject<{
4013
+ round: z.ZodString;
4014
+ question: z.ZodString;
4015
+ options: z.ZodArray<z.ZodString, "many">;
4016
+ default: z.ZodOptional<z.ZodString>;
4017
+ note: z.ZodOptional<z.ZodString>;
4018
+ }, "strict", z.ZodTypeAny, {
4019
+ options: string[];
4020
+ round: string;
4021
+ question: string;
4022
+ default?: string | undefined;
4023
+ note?: string | undefined;
4024
+ }, {
4025
+ options: string[];
4026
+ round: string;
4027
+ question: string;
4028
+ default?: string | undefined;
4029
+ note?: string | undefined;
4030
+ }>;
3970
4031
  migration_plan: z.ZodArray<z.ZodObject<{
3971
4032
  step: z.ZodNumber;
3972
4033
  status: z.ZodEnum<["completed", "pending_user_action"]>;
@@ -4047,6 +4108,13 @@ export declare const ProjectOperationOutputSchema: z.ZodObject<{
4047
4108
  cloned_objects_count: number;
4048
4109
  };
4049
4110
  key_principle: string;
4111
+ payment_token_decision: {
4112
+ options: string[];
4113
+ round: string;
4114
+ question: string;
4115
+ default?: string | undefined;
4116
+ note?: string | undefined;
4117
+ };
4050
4118
  migration_plan: {
4051
4119
  status: "completed" | "pending_user_action";
4052
4120
  description: string;
@@ -4080,6 +4148,13 @@ export declare const ProjectOperationOutputSchema: z.ZodObject<{
4080
4148
  cloned_objects_count: number;
4081
4149
  };
4082
4150
  key_principle: string;
4151
+ payment_token_decision: {
4152
+ options: string[];
4153
+ round: string;
4154
+ question: string;
4155
+ default?: string | undefined;
4156
+ note?: string | undefined;
4157
+ };
4083
4158
  migration_plan: {
4084
4159
  status: "completed" | "pending_user_action";
4085
4160
  description: string;
@@ -6859,8 +6934,16 @@ export declare const ProjectOperationOutputSchema: z.ZodObject<{
6859
6934
  context_digest: string;
6860
6935
  next_action: string;
6861
6936
  events?: unknown[] | undefined;
6937
+ dependencies?: {
6938
+ object: string;
6939
+ parent: string;
6940
+ depth: number;
6941
+ via_field: string;
6942
+ via_type: string;
6943
+ }[] | undefined;
6862
6944
  semantic_summary?: unknown;
6863
6945
  embedded_history?: Record<string, unknown> | undefined;
6946
+ dependency_objects?: unknown[] | undefined;
6864
6947
  flywheel_collected?: {
6865
6948
  signature_recorded: boolean;
6866
6949
  proposal_created: boolean;
@@ -7535,6 +7618,13 @@ export declare const ProjectOperationOutputSchema: z.ZodObject<{
7535
7618
  cloned_objects_count: number;
7536
7619
  };
7537
7620
  key_principle: string;
7621
+ payment_token_decision: {
7622
+ options: string[];
7623
+ round: string;
7624
+ question: string;
7625
+ default?: string | undefined;
7626
+ note?: string | undefined;
7627
+ };
7538
7628
  migration_plan: {
7539
7629
  status: "completed" | "pending_user_action";
7540
7630
  description: string;
@@ -8077,8 +8167,16 @@ export declare const ProjectOperationOutputSchema: z.ZodObject<{
8077
8167
  context_digest: string;
8078
8168
  next_action: string;
8079
8169
  events?: unknown[] | undefined;
8170
+ dependencies?: {
8171
+ object: string;
8172
+ parent: string;
8173
+ depth: number;
8174
+ via_field: string;
8175
+ via_type: string;
8176
+ }[] | undefined;
8080
8177
  semantic_summary?: unknown;
8081
8178
  embedded_history?: Record<string, unknown> | undefined;
8179
+ dependency_objects?: unknown[] | undefined;
8082
8180
  flywheel_collected?: {
8083
8181
  signature_recorded: boolean;
8084
8182
  proposal_created: boolean;
@@ -8753,6 +8851,13 @@ export declare const ProjectOperationOutputSchema: z.ZodObject<{
8753
8851
  cloned_objects_count: number;
8754
8852
  };
8755
8853
  key_principle: string;
8854
+ payment_token_decision: {
8855
+ options: string[];
8856
+ round: string;
8857
+ question: string;
8858
+ default?: string | undefined;
8859
+ note?: string | undefined;
8860
+ };
8756
8861
  migration_plan: {
8757
8862
  status: "completed" | "pending_user_action";
8758
8863
  description: string;
@@ -125,6 +125,33 @@ export const ProjectOperationInputSchema = z
125
125
  .enum(["testnet", "mainnet"])
126
126
  .optional()
127
127
  .describe("Network for assemble_context queries. Defaults to 'testnet' if omitted."),
128
+ context_depth: z
129
+ .number()
130
+ .int()
131
+ .min(0)
132
+ .max(5)
133
+ .optional()
134
+ .describe("BFS recursion depth for dependency expansion in assemble_context (default 0 = no expansion). " +
135
+ "When >0, the assembly recursively queries objects referenced by the center objects " +
136
+ "(permission, guard, machine, service, repositories, etc.) up to the given depth, " +
137
+ "using the same address-field extraction rules as build_graph (Pathway 1). " +
138
+ "Each level issues one batched query_objects call (≤50 IDs per batch). " +
139
+ "Cycles are detected and skipped via a visited set. " +
140
+ "Discovered dependencies are returned in `dependencies` (edge metadata) and " +
141
+ "`dependency_objects` (full object states). Recommended: 1–2 for most use cases; " +
142
+ "3+ may pull large subgraphs (use context_include to constrain)."),
143
+ context_include: z
144
+ .array(z.string())
145
+ .optional()
146
+ .describe("Optional filter for dependency expansion edge types. When omitted, ALL outbound " +
147
+ "references are followed. When provided, only edges whose `field` matches one of the " +
148
+ "listed names are followed. Recognized field names (from extractAddressFields): " +
149
+ "'permission', 'machine', 'service', 'progress', 'buy_guard', 'um', 'repositories', " +
150
+ "'arbitrations', 'rewards', 'consensus_repositories', 'context_repositories', " +
151
+ "'dispute', 'allocation', 'external_deposit_guard', 'external_withdraw_guard', " +
152
+ "'allocator_guard', 'for_object', 'for_guard', 'payment', 'voting_guard', 'usage_guard', " +
153
+ "'guard', 'write_guard', 'quote_guard', 'recipient_entity', 'order_allocators'. " +
154
+ "Example: ['permission','guard'] expands only permission/guard dependencies."),
128
155
  filter_status: z
129
156
  .enum(["draft", "active", "inactive", "archived"])
130
157
  .optional()
@@ -714,6 +741,25 @@ const AssembleContextResultSchema = z
714
741
  "Progress objects: session.forwards (who did what, when, accomplished). " +
715
742
  "Order objects: disputes, claimed_by, progress_object. " +
716
743
  "This is the CORRECT history source: convergent, no infinite recursion."),
744
+ dependencies: z
745
+ .array(z.object({
746
+ object: z.string().describe("Discovered dependency object ID (0x...)."),
747
+ depth: z.number().int().min(1).describe("BFS depth at which this dependency was discovered (1 = direct reference from a center object)."),
748
+ via_field: z.string().describe("Field name on the parent object that references this dependency (e.g. 'permission', 'machine', 'guard'). Matches extractAddressFields output."),
749
+ via_type: z.string().describe("Semantic edge type: 'bind' | 'validate' | 'consume' | 'trigger' | 'create'."),
750
+ parent: z.string().describe("Object ID of the parent that referenced this dependency."),
751
+ }))
752
+ .optional()
753
+ .describe("Dependency edges discovered via BFS expansion (only when context_depth > 0). " +
754
+ "Each entry describes one outbound reference (parent → child) with the field name " +
755
+ "and semantic edge type. Use with dependency_objects to get the full states. " +
756
+ "Cycles are deduplicated — each object ID appears at most once at its shallowest depth."),
757
+ dependency_objects: z
758
+ .array(z.unknown())
759
+ .optional()
760
+ .describe("Full on-chain states of the discovered dependency objects (only when context_depth > 0). " +
761
+ "Order matches `dependencies` when possible; safe to consume as an unordered set. " +
762
+ "Center objects are NOT repeated here — they live in `objects`."),
717
763
  semantic_summary: z
718
764
  .unknown()
719
765
  .optional()
@@ -1425,6 +1471,13 @@ const MigrateToMainnetResultSchema = z
1425
1471
  cloned_objects_count: z.number(),
1426
1472
  }).strict(),
1427
1473
  key_principle: z.string().describe("Explains that testnet/mainnet are different projects with different addresses for same names."),
1474
+ payment_token_decision: z.object({
1475
+ round: z.string().describe("Decision round identifier (e.g. 'M1')."),
1476
+ question: z.string().describe("Question asking whether to keep WOW or switch to a stablecoin when migrating testnet → mainnet."),
1477
+ options: z.array(z.string()).describe("Available choices (e.g. Keep WOW / Switch to USDT / Switch to USDC / Other stablecoin)."),
1478
+ default: z.string().optional().describe("Recommended default choice (Keep WOW)."),
1479
+ note: z.string().optional().describe("Guidance: mainnet stablecoins are available via the ETH mainnet cross-chain bridge; if switching, update Service/Treasury/Allocation type_parameter before publishing."),
1480
+ }).strict().describe("Payment-token migration decision. testnet recommends WOW; mainnet supports USDT and other stablecoins via the ETH mainnet bridge. Must be resolved BEFORE step 2 (on-chain deployment) because the Service/Treasury/Allocation type_parameter determines the payment token."),
1428
1481
  migration_plan: z.array(MigrationPlanStepSchema).describe("5-step migration plan. Step 1 is completed; steps 2-5 require user action."),
1429
1482
  summary: z.string().describe("Human-readable summary of the migration."),
1430
1483
  })