1import { ApifyClient } from 'apify-client';
2
3
4
5const client = new ApifyClient({
6 token: '<YOUR_API_TOKEN>',
7});
8
9
10const input = {
11 "request": {
12 "graph": {
13 "nodes": [
14 {
15 "id": "planner",
16 "type": "agent"
17 },
18 {
19 "id": "worker",
20 "type": "agent"
21 },
22 {
23 "id": "payment",
24 "type": "effect"
25 }
26 ],
27 "edges": [
28 {
29 "from": "planner",
30 "to": "payment",
31 "mode": "DIRECT"
32 },
33 {
34 "from": "planner",
35 "to": "worker",
36 "mode": "DELEGATED"
37 },
38 {
39 "from": "worker",
40 "to": "payment",
41 "mode": "DIRECT"
42 },
43 {
44 "from": "planner",
45 "to": "payment",
46 "mode": "RETRY"
47 }
48 ]
49 },
50 "invariants": [
51 {
52 "id": "spend-cap",
53 "effect": "payment",
54 "operator": "BOUND",
55 "field": "amount",
56 "comparison": "<=",
57 "value": 100,
58 "scope": "cumulative"
59 }
60 ],
61 "evidence": [
62 {
63 "invariant_id": "spend-cap",
64 "invariant_signature": "4d428aeec56889ddb78341d9c252df15e60131af38ce8c393bea6a30ef4a9606",
65 "surface": "payment",
66 "mode": "DIRECT",
67 "condition": "ABOVE_THRESHOLD",
68 "result": "PASS",
69 "witness_id": "test:DIRECT:ABOVE_THRESHOLD"
70 },
71 {
72 "invariant_id": "spend-cap",
73 "invariant_signature": "4d428aeec56889ddb78341d9c252df15e60131af38ce8c393bea6a30ef4a9606",
74 "surface": "payment",
75 "mode": "DELEGATED",
76 "condition": "AT_THRESHOLD",
77 "result": "PASS",
78 "witness_id": "test:DELEGATED:AT_THRESHOLD"
79 },
80 {
81 "invariant_id": "spend-cap",
82 "invariant_signature": "4d428aeec56889ddb78341d9c252df15e60131af38ce8c393bea6a30ef4a9606",
83 "surface": "payment",
84 "mode": "DIRECT",
85 "condition": "AT_THRESHOLD",
86 "result": "PASS",
87 "witness_id": "test:DIRECT:AT_THRESHOLD"
88 },
89 {
90 "invariant_id": "spend-cap",
91 "invariant_signature": "4d428aeec56889ddb78341d9c252df15e60131af38ce8c393bea6a30ef4a9606",
92 "surface": "payment",
93 "mode": "RETRY",
94 "condition": "AT_THRESHOLD",
95 "result": "PASS",
96 "witness_id": "test:RETRY:AT_THRESHOLD"
97 },
98 {
99 "invariant_id": "spend-cap",
100 "invariant_signature": "4d428aeec56889ddb78341d9c252df15e60131af38ce8c393bea6a30ef4a9606",
101 "surface": "payment",
102 "mode": "DELEGATED",
103 "condition": "BELOW_THRESHOLD",
104 "result": "PASS",
105 "witness_id": "test:DELEGATED:BELOW_THRESHOLD"
106 },
107 {
108 "invariant_id": "spend-cap",
109 "invariant_signature": "4d428aeec56889ddb78341d9c252df15e60131af38ce8c393bea6a30ef4a9606",
110 "surface": "payment",
111 "mode": "DIRECT",
112 "condition": "BELOW_THRESHOLD",
113 "result": "PASS",
114 "witness_id": "test:DIRECT:BELOW_THRESHOLD"
115 },
116 {
117 "invariant_id": "spend-cap",
118 "invariant_signature": "4d428aeec56889ddb78341d9c252df15e60131af38ce8c393bea6a30ef4a9606",
119 "surface": "payment",
120 "mode": "RETRY",
121 "condition": "BELOW_THRESHOLD",
122 "result": "PASS",
123 "witness_id": "test:RETRY:BELOW_THRESHOLD"
124 },
125 {
126 "invariant_id": "spend-cap",
127 "invariant_signature": "4d428aeec56889ddb78341d9c252df15e60131af38ce8c393bea6a30ef4a9606",
128 "surface": "payment",
129 "mode": "RETRY",
130 "condition": "MULTI_ACTION_BELOW",
131 "result": "PASS",
132 "witness_id": "test:RETRY:MULTI_ACTION_BELOW"
133 }
134 ]
135 }
136};
137
138
139const run = await client.actor("bono718/agent-invariant-coverage-gap-resolver").call(input);
140
141
142console.log('Results from dataset');
143console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
144const { items } = await client.dataset(run.defaultDatasetId).listItems();
145items.forEach((item) => {
146 console.dir(item);
147});
148
149