wowok_agent 1.2.37 → 1.2.40

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 (104) hide show
  1. package/dist/call/arbitration.d.ts +69 -0
  2. package/dist/call/arbitration.d.ts.map +1 -0
  3. package/dist/call/arbitration.js +210 -0
  4. package/dist/call/arbitration.js.map +1 -0
  5. package/dist/call/base.d.ts +37 -0
  6. package/dist/call/base.d.ts.map +1 -0
  7. package/dist/call/base.js +157 -0
  8. package/dist/call/base.js.map +1 -0
  9. package/dist/call/call.d.ts +84 -0
  10. package/dist/call/call.d.ts.map +1 -0
  11. package/dist/call/call.js +156 -0
  12. package/dist/call/call.js.map +1 -0
  13. package/dist/call/demand.d.ts +57 -0
  14. package/dist/call/demand.d.ts.map +1 -0
  15. package/dist/call/demand.js +160 -0
  16. package/dist/call/demand.js.map +1 -0
  17. package/dist/call/guard.d.ts +42 -0
  18. package/dist/call/guard.d.ts.map +1 -0
  19. package/dist/call/guard.js +264 -0
  20. package/dist/call/guard.js.map +1 -0
  21. package/dist/call/machine.d.ts +109 -0
  22. package/dist/call/machine.d.ts.map +1 -0
  23. package/dist/call/machine.js +250 -0
  24. package/dist/call/machine.js.map +1 -0
  25. package/dist/call/object_permission.d.ts +14 -0
  26. package/dist/call/object_permission.d.ts.map +1 -0
  27. package/dist/call/object_permission.js +52 -0
  28. package/dist/call/object_permission.js.map +1 -0
  29. package/dist/call/permission.d.ts +50 -0
  30. package/dist/call/permission.d.ts.map +1 -0
  31. package/dist/call/permission.js +127 -0
  32. package/dist/call/permission.js.map +1 -0
  33. package/dist/call/personal.d.ts +42 -0
  34. package/dist/call/personal.d.ts.map +1 -0
  35. package/dist/call/personal.js +88 -0
  36. package/dist/call/personal.js.map +1 -0
  37. package/dist/call/repository.d.ts +52 -0
  38. package/dist/call/repository.d.ts.map +1 -0
  39. package/dist/call/repository.js +135 -0
  40. package/dist/call/repository.js.map +1 -0
  41. package/dist/call/service.d.ts +134 -0
  42. package/dist/call/service.d.ts.map +1 -0
  43. package/dist/call/service.js +416 -0
  44. package/dist/call/service.js.map +1 -0
  45. package/dist/call/treasury.d.ts +53 -0
  46. package/dist/call/treasury.d.ts.map +1 -0
  47. package/dist/call/treasury.js +175 -0
  48. package/dist/call/treasury.js.map +1 -0
  49. package/dist/common.d.ts +3 -0
  50. package/dist/common.d.ts.map +1 -0
  51. package/dist/common.js +13 -0
  52. package/dist/common.js.map +1 -0
  53. package/dist/index.d.ts +22 -0
  54. package/dist/index.d.ts.map +1 -0
  55. package/dist/index.js +22 -0
  56. package/dist/index.js.map +1 -0
  57. package/dist/local/account.d.ts +24 -0
  58. package/dist/local/account.d.ts.map +1 -0
  59. package/dist/local/account.js +188 -0
  60. package/dist/local/account.js.map +1 -0
  61. package/dist/local/cache.d.ts +32 -0
  62. package/dist/local/cache.d.ts.map +1 -0
  63. package/dist/local/cache.js +71 -0
  64. package/dist/local/cache.js.map +1 -0
  65. package/dist/local/index.d.ts +83 -0
  66. package/dist/local/index.d.ts.map +1 -0
  67. package/dist/local/index.js +98 -0
  68. package/dist/local/index.js.map +1 -0
  69. package/dist/local/local.d.ts +56 -0
  70. package/dist/local/local.d.ts.map +1 -0
  71. package/dist/local/local.js +245 -0
  72. package/dist/local/local.js.map +1 -0
  73. package/dist/query/events.d.ts +63 -0
  74. package/dist/query/events.d.ts.map +1 -0
  75. package/dist/query/events.js +78 -0
  76. package/dist/query/events.js.map +1 -0
  77. package/dist/query/objects.d.ts +323 -0
  78. package/dist/query/objects.d.ts.map +1 -0
  79. package/dist/query/objects.js +453 -0
  80. package/dist/query/objects.js.map +1 -0
  81. package/dist/query/permission.d.ts +12 -0
  82. package/dist/query/permission.d.ts.map +1 -0
  83. package/dist/query/permission.js +41 -0
  84. package/dist/query/permission.js.map +1 -0
  85. package/package.json +2 -2
  86. package/src/call/arbitration.ts +85 -54
  87. package/src/call/base.ts +22 -12
  88. package/src/call/call.ts +24 -21
  89. package/src/call/demand.ts +60 -30
  90. package/src/call/guard.ts +25 -16
  91. package/src/call/machine.ts +79 -40
  92. package/src/call/object_permission.ts +12 -8
  93. package/src/call/permission.ts +44 -18
  94. package/src/call/personal.ts +39 -13
  95. package/src/call/repository.ts +27 -13
  96. package/src/call/service.ts +150 -73
  97. package/src/call/treasury.ts +68 -50
  98. package/src/common.ts +9 -0
  99. package/src/index.ts +1 -0
  100. package/src/local/account.ts +3 -3
  101. package/src/local/index.ts +54 -50
  102. package/src/local/local.ts +48 -8
  103. package/src/query/objects.ts +14 -6
  104. package/tsconfig.tsbuildinfo +1 -1
@@ -0,0 +1,71 @@
1
+ /**
2
+ * Persisting the result of the quries.
3
+ */
4
+ import { Protocol } from "wowok";
5
+ import path from "path";
6
+ import os from "os";
7
+ import { Level } from "level";
8
+ import { isBrowser } from "../common.js";
9
+ export var CacheName;
10
+ (function (CacheName) {
11
+ CacheName["object"] = "object";
12
+ CacheName["personal"] = "personal";
13
+ CacheName["table"] = "table";
14
+ })(CacheName || (CacheName = {}));
15
+ export const CacheLocation = 'wowok-cache';
16
+ export class Cache {
17
+ constructor() {
18
+ var location = CacheLocation;
19
+ if (!isBrowser()) {
20
+ location = path.join(path.join(os.homedir(), '.wowok'), CacheLocation);
21
+ }
22
+ this.storage = new Level(location, { valueEncoding: 'json' });
23
+ }
24
+ static Instance() {
25
+ if (!Cache._instance) {
26
+ Cache._instance = new Cache();
27
+ }
28
+ ;
29
+ return Cache._instance;
30
+ }
31
+ static setExpireTime(expire_time_ms) {
32
+ Cache._expire_time_ms = expire_time_ms;
33
+ }
34
+ static notExpired(cache) {
35
+ if (!cache?.expire)
36
+ return false;
37
+ if (cache.expire === 'INFINITE')
38
+ return true;
39
+ return cache.expire <= Date.now();
40
+ }
41
+ async put(object, data, prefix) {
42
+ return await this.storage.put(Cache.Key(object, prefix), JSON.stringify(data));
43
+ }
44
+ async get(object, prefix) {
45
+ const r = await this.storage.get(prefix + object);
46
+ if (r)
47
+ return JSON.parse(r);
48
+ }
49
+ async del(object, prefix) {
50
+ return await this.storage.del(prefix + object);
51
+ }
52
+ async cache_get(object, prefix, force_cache) {
53
+ const r = await this.get(object, prefix);
54
+ if (r && (force_cache || Cache.notExpired(r))) {
55
+ return r;
56
+ }
57
+ }
58
+ }
59
+ Cache._expire_time_ms = 60000; // default
60
+ Cache.Key = (object, prefix) => {
61
+ return object + '.' + prefix + '#' + Protocol.Instance().package('wowok_origin');
62
+ };
63
+ Cache.getExpireTime = () => {
64
+ return Cache._expire_time_ms;
65
+ };
66
+ Cache.ExpireTime = (bInfinite) => {
67
+ if (bInfinite)
68
+ return 'INFINITE';
69
+ return Date.now() + Cache.getExpireTime();
70
+ };
71
+ //# sourceMappingURL=cache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache.js","sourceRoot":"","sources":["../../src/local/cache.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,83 @@
1
+ import { CallResponse, CoinBalance, CoinStruct } from "wowok";
2
+ import { LocalInfo, LocalMarkFilter, MarkData } from "./local.js";
3
+ export declare const query_local_mark_list: (filter?: LocalMarkFilter) => Promise<string>;
4
+ export declare const query_account_list: () => Promise<QueryAccountsResult>;
5
+ export declare const query_local_info_list: () => Promise<string>;
6
+ export interface QueryAccountsResult {
7
+ default?: string;
8
+ addresses?: string[];
9
+ }
10
+ export declare const query_local_mark: (name: string) => Promise<MarkData | undefined>;
11
+ export declare enum BalanceOrCoin {
12
+ Balance = "balance",
13
+ Coin = "coin"
14
+ }
15
+ export interface QueryAccount {
16
+ name_or_address?: string;
17
+ balance_or_coin?: BalanceOrCoin;
18
+ token_type?: string;
19
+ }
20
+ export interface QueryAccountResult {
21
+ name_or_address?: string;
22
+ address?: string;
23
+ balance?: CoinBalance;
24
+ coin?: CoinStruct[];
25
+ }
26
+ export declare const query_account: (query: QueryAccount) => Promise<QueryAccountResult>;
27
+ export declare const query_local_info: (name?: string) => Promise<LocalInfo | undefined>;
28
+ export interface AccountOperation {
29
+ gen?: {
30
+ name?: string;
31
+ default?: boolean;
32
+ useAddressIfNameExist?: boolean;
33
+ } | null;
34
+ transfer?: {
35
+ name_or_address_from?: string;
36
+ name_or_address_to?: string;
37
+ amount: number | string;
38
+ token_type?: string;
39
+ } | null;
40
+ }
41
+ export interface AccountOperationResult {
42
+ gen?: {
43
+ address: string;
44
+ default: boolean;
45
+ name: string;
46
+ };
47
+ transfer?: CallResponse;
48
+ }
49
+ export declare const account_operation: (op: AccountOperation) => Promise<AccountOperationResult>;
50
+ export interface LocalMarkOperation {
51
+ data: {
52
+ op: 'removeall';
53
+ } | {
54
+ op: 'add';
55
+ data: {
56
+ name: string;
57
+ address: string;
58
+ tags?: string[];
59
+ useAddressIfNameExist?: boolean;
60
+ }[];
61
+ } | {
62
+ op: 'remove';
63
+ data: string[];
64
+ };
65
+ }
66
+ export declare const local_mark_operation: (op: LocalMarkOperation) => Promise<void>;
67
+ export interface LocalInfoOperation {
68
+ data: {
69
+ op: 'removeall';
70
+ } | {
71
+ op: 'add';
72
+ data: {
73
+ name: string;
74
+ content: string;
75
+ bdefault?: boolean;
76
+ }[];
77
+ } | {
78
+ op: 'remove';
79
+ data: string[];
80
+ };
81
+ }
82
+ export declare const local_info_operation: (op: LocalInfoOperation) => Promise<void>;
83
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/local/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,98 @@
1
+ import { Account } from "./account.js";
2
+ import { LocalInfo, LocalInfoNameDefault, LocalMark } from "./local.js";
3
+ export const query_local_mark_list = async (filter) => {
4
+ return JSON.stringify(await LocalMark.Instance().list(filter));
5
+ };
6
+ export const query_account_list = async () => {
7
+ const res = {};
8
+ res.addresses = await Account.Instance().list();
9
+ res.default = await Account.Instance().default(false);
10
+ return res;
11
+ };
12
+ export const query_local_info_list = async () => {
13
+ return JSON.stringify(await LocalInfo.Instance().list());
14
+ };
15
+ export const query_local_mark = async (name) => {
16
+ return await LocalMark.Instance().get(name);
17
+ };
18
+ export var BalanceOrCoin;
19
+ (function (BalanceOrCoin) {
20
+ BalanceOrCoin["Balance"] = "balance";
21
+ BalanceOrCoin["Coin"] = "coin";
22
+ })(BalanceOrCoin || (BalanceOrCoin = {}));
23
+ export const query_account = async (query) => {
24
+ const r = await LocalMark.Instance().get_account(query.name_or_address);
25
+ const res = { address: r };
26
+ if (query.name_or_address) {
27
+ res.name_or_address = query.name_or_address;
28
+ }
29
+ if (r) {
30
+ if (query?.balance_or_coin === BalanceOrCoin.Balance) {
31
+ res.balance = await Account.Instance().balance(r, query.token_type);
32
+ }
33
+ else if (query?.balance_or_coin === BalanceOrCoin.Coin) {
34
+ res.coin = await Account.Instance().coin(r, query.token_type);
35
+ }
36
+ }
37
+ return res;
38
+ };
39
+ export const query_local_info = async (name = LocalInfoNameDefault) => {
40
+ return await LocalInfo.Instance().get(name);
41
+ };
42
+ export const account_operation = async (op) => {
43
+ var res = {};
44
+ if (op.gen) {
45
+ const acc = await Account.Instance().gen(op.gen?.default);
46
+ const name = await LocalMark.Instance().put(op.gen.name, { object: acc, tags: ['account'] }, op.gen.useAddressIfNameExist);
47
+ res.gen = { address: acc, default: op.gen.default ?? false, name: name };
48
+ }
49
+ if (op.transfer) {
50
+ const from = await LocalMark.Instance().get_account(op.transfer?.name_or_address_from, false);
51
+ const to = await LocalMark.Instance().get_account(op.transfer.name_or_address_to, false);
52
+ if (from && to) {
53
+ res.transfer = await Account.Instance().transfer(from, to, op.transfer?.amount, op.transfer?.token_type);
54
+ }
55
+ }
56
+ return res;
57
+ };
58
+ ;
59
+ export const local_mark_operation = async (op) => {
60
+ switch (op.data?.op) {
61
+ case 'removeall':
62
+ return await LocalMark.Instance().clear();
63
+ case 'add':
64
+ for (let i = 0; i < op.data.data.length; ++i) {
65
+ const v = op.data.data[i];
66
+ await LocalMark.Instance().put(v.name, { object: v.address, tags: v.tags }, v.useAddressIfNameExist);
67
+ }
68
+ ;
69
+ return;
70
+ case 'remove':
71
+ for (let i = 0; i < op.data.data.length; ++i) {
72
+ const v = op.data.data[i];
73
+ await LocalMark.Instance().del(v);
74
+ }
75
+ return;
76
+ }
77
+ };
78
+ ;
79
+ export const local_info_operation = async (op) => {
80
+ switch (op.data?.op) {
81
+ case 'removeall':
82
+ await LocalInfo.Instance().clear();
83
+ break;
84
+ case 'add':
85
+ for (let i = 0; i < op.data?.data.length; ++i) {
86
+ const v = op.data.data[i];
87
+ await LocalInfo.Instance().put(v.name, v.content, v?.bdefault);
88
+ }
89
+ break;
90
+ case 'remove':
91
+ for (let i = 0; i < op.data?.data.length; ++i) {
92
+ const v = op.data.data[i];
93
+ await LocalInfo.Instance().del(v);
94
+ }
95
+ break;
96
+ }
97
+ };
98
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/local/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,56 @@
1
+ /**
2
+ * manage object's name and tags locally
3
+ */
4
+ export interface MarkData {
5
+ object: string;
6
+ tags?: string[];
7
+ }
8
+ export interface InfoData {
9
+ default: string;
10
+ others?: string[];
11
+ }
12
+ export interface LocalMarkFilter {
13
+ name?: string;
14
+ tags?: string[];
15
+ object?: string;
16
+ }
17
+ export declare const LocalMarkLocation = "wowok-mark";
18
+ export declare const LocalInfoLocation = "wowok-info";
19
+ export declare const LocalMarkNameMaxLength = 32;
20
+ export declare const LocalInfoNameDefault = "Address of delivery";
21
+ export declare class LocalMark {
22
+ static _instance: any;
23
+ private storage;
24
+ constructor();
25
+ static Instance(): LocalMark;
26
+ put(name: string | undefined | null, mark: MarkData, useAddressIfNameExist?: boolean): Promise<string>;
27
+ get(name: string): Promise<MarkData | undefined>;
28
+ get_address(name_or_address?: string | null): Promise<string | undefined>;
29
+ get_many_address(name_or_addresses: (string | null | undefined)[]): Promise<(string | undefined)[]>;
30
+ get_many_address2(name_or_addresses: (string | null | undefined)[]): Promise<string[]>;
31
+ get_account(name_or_address?: string, genNewIfNotFound?: boolean): Promise<string | undefined>;
32
+ del(name: string): Promise<void>;
33
+ clear(): Promise<void>;
34
+ rename(name: string, new_name: string): Promise<boolean>;
35
+ swap_name(name1: string, name2: string): Promise<boolean>;
36
+ set_tags(name: string, tags: string[] | undefined): Promise<boolean>;
37
+ list(filter?: LocalMarkFilter): Promise<QueryNameData[]>;
38
+ }
39
+ export interface QueryNameData {
40
+ name: string;
41
+ data: any;
42
+ }
43
+ export declare class LocalInfo {
44
+ static _instance: any;
45
+ private storage;
46
+ constructor();
47
+ static Instance(): LocalInfo;
48
+ put(name: string | undefined, content: string, bDefault?: boolean): Promise<void>;
49
+ get(name?: string): Promise<LocalInfo | undefined>;
50
+ get_default(name?: string): Promise<string | undefined>;
51
+ del(name?: string): Promise<void>;
52
+ del_content(name: string | undefined, index: number): Promise<boolean>;
53
+ clear(): Promise<void>;
54
+ list(): Promise<QueryNameData[]>;
55
+ }
56
+ //# sourceMappingURL=local.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local.d.ts","sourceRoot":"","sources":["../../src/local/local.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,245 @@
1
+ /**
2
+ * manage object's name and tags locally
3
+ */
4
+ import path from "path";
5
+ import os from "os";
6
+ import { Level } from "level";
7
+ import { isBrowser } from "../common.js";
8
+ import { ERROR, Errors, IsValidAddress, TagName } from "wowok";
9
+ import { Account } from "./account.js";
10
+ export const LocalMarkLocation = 'wowok-mark';
11
+ export const LocalInfoLocation = 'wowok-info';
12
+ export const LocalMarkNameMaxLength = 32;
13
+ export const LocalInfoNameDefault = 'Address of delivery';
14
+ export class LocalMark {
15
+ constructor() {
16
+ var location = LocalMarkLocation;
17
+ if (!isBrowser()) {
18
+ location = path.join(path.join(os.homedir(), '.wowok'), LocalMarkLocation);
19
+ }
20
+ this.storage = new Level(location, { valueEncoding: 'json' });
21
+ }
22
+ static Instance() {
23
+ if (!LocalMark._instance) {
24
+ LocalMark._instance = new LocalMark();
25
+ }
26
+ ;
27
+ return LocalMark._instance;
28
+ }
29
+ // useAddressIfNameExist true: use address as the name if the name exist;
30
+ // otherwise, use this name and change the original name to its address.
31
+ async put(name, mark, useAddressIfNameExist) {
32
+ // object address invalid
33
+ if (!IsValidAddress(mark.object) && mark.object !== '0x2' && mark.object !== '0x6') {
34
+ ERROR(Errors.InvalidParam, `LocalMark.put.mark.object: ${mark.object}`);
35
+ }
36
+ ;
37
+ // use address as name if name is undefined or null
38
+ if (name === undefined || name === null) {
39
+ this.storage.put(mark.object, JSON.stringify(mark));
40
+ return mark.object;
41
+ }
42
+ if (name.length > LocalMarkNameMaxLength) {
43
+ name = name.substring(0, LocalMarkNameMaxLength);
44
+ }
45
+ ;
46
+ const r = await this.storage.get(name);
47
+ if (r) {
48
+ if (useAddressIfNameExist) {
49
+ this.storage.put(mark.object, JSON.stringify(mark));
50
+ return mark.object;
51
+ }
52
+ else {
53
+ const obj = JSON.parse(r);
54
+ await this.storage.put(obj.object, r);
55
+ }
56
+ }
57
+ await this.storage.put(name, JSON.stringify(mark));
58
+ return name;
59
+ }
60
+ async get(name) {
61
+ const r = await this.storage.get(name);
62
+ if (r) {
63
+ return JSON.parse(r);
64
+ }
65
+ }
66
+ async get_address(name_or_address) {
67
+ if (IsValidAddress(name_or_address)) {
68
+ return name_or_address;
69
+ }
70
+ if (name_or_address !== undefined && name_or_address !== null) {
71
+ const r = await this.storage.get(name_or_address);
72
+ if (r) {
73
+ return JSON.parse(r).object;
74
+ }
75
+ }
76
+ }
77
+ async get_many_address(name_or_addresses) {
78
+ const check = (v) => {
79
+ return v !== undefined && v !== null && !IsValidAddress(v);
80
+ };
81
+ const q = await this.storage.getMany(name_or_addresses.filter(v => check(v)));
82
+ return name_or_addresses.map(v => {
83
+ if (check(v)) {
84
+ const r = q.shift();
85
+ if (r) {
86
+ return JSON.parse(q.shift())?.object;
87
+ }
88
+ }
89
+ return v;
90
+ });
91
+ }
92
+ async get_many_address2(name_or_addresses) {
93
+ return (await this.get_many_address(name_or_addresses)).filter(v => v !== undefined && v !== null);
94
+ }
95
+ // get account address:
96
+ // 1. if name_or_address is undefined, return default account address.
97
+ // 2. if name_or_address is address, return it.
98
+ // 3. if name_or_address is name, return the address of the name.
99
+ // 4. if not found and genNewIfNotFound is true, generate a new address and save it with name_or_address.
100
+ async get_account(name_or_address, genNewIfNotFound = false) {
101
+ if (name_or_address === undefined) {
102
+ return Account.Instance().default(genNewIfNotFound);
103
+ }
104
+ else {
105
+ const r = await this.get(name_or_address);
106
+ if (r) {
107
+ return r.object;
108
+ }
109
+ else {
110
+ if (IsValidAddress(name_or_address)) {
111
+ return name_or_address;
112
+ }
113
+ if (genNewIfNotFound) {
114
+ const addr = await Account.Instance().gen(false);
115
+ await this.put(name_or_address, { object: addr, tags: [TagName.Account] });
116
+ }
117
+ }
118
+ }
119
+ }
120
+ async del(name) {
121
+ return await this.storage.del(name);
122
+ }
123
+ async clear() {
124
+ return await this.storage.clear();
125
+ }
126
+ async rename(name, new_name) {
127
+ if (new_name.length > LocalMarkNameMaxLength) {
128
+ new_name = new_name.substring(0, LocalMarkNameMaxLength);
129
+ }
130
+ ;
131
+ const r = await this.storage.getMany([name, new_name]);
132
+ if (r[0] && !r[1]) {
133
+ await this.storage.put(new_name, r[0]);
134
+ await this.storage.del(name);
135
+ return true;
136
+ }
137
+ return false;
138
+ }
139
+ async swap_name(name1, name2) {
140
+ const r = await this.storage.getMany([name1, name2]);
141
+ if (r[0] && r[1]) {
142
+ await this.storage.put(name1, r[1]);
143
+ await this.storage.put(name2, r[0]);
144
+ return true;
145
+ }
146
+ return false;
147
+ }
148
+ async set_tags(name, tags) {
149
+ const r = await this.storage.get(name);
150
+ if (r) {
151
+ const obj = JSON.parse(r);
152
+ obj.tags = tags;
153
+ await this.storage.put(name, JSON.stringify(obj));
154
+ return true;
155
+ }
156
+ return false;
157
+ }
158
+ async list(filter) {
159
+ if (filter && filter.tags)
160
+ filter.tags = filter.tags.filter(v => v !== '' && v);
161
+ return (await this.storage.iterator().all()).filter(v => {
162
+ const obj = JSON.parse(v[1]);
163
+ if (filter?.name && v[0] !== filter.name)
164
+ return false;
165
+ if (filter?.object && obj.object !== filter.object)
166
+ return false;
167
+ if (filter?.tags && filter.tags.length > 0) {
168
+ if (!obj.tags || obj.tags.length === 0)
169
+ return false;
170
+ for (let i = 0; i < filter.tags.length; ++i) {
171
+ if (!obj.tags.includes(filter.tags[i])) {
172
+ return false;
173
+ }
174
+ }
175
+ }
176
+ return true;
177
+ }).map(v => { return { name: v[0], data: v[1] }; });
178
+ }
179
+ }
180
+ ;
181
+ export class LocalInfo {
182
+ constructor() {
183
+ var location = LocalInfoLocation;
184
+ if (!isBrowser()) {
185
+ location = path.join(path.join(os.homedir(), '.wowok'), LocalInfoLocation);
186
+ }
187
+ this.storage = new Level(location, { valueEncoding: 'json' });
188
+ }
189
+ static Instance() {
190
+ if (!LocalInfo._instance) {
191
+ LocalInfo._instance = new LocalInfo();
192
+ }
193
+ ;
194
+ return LocalInfo._instance;
195
+ }
196
+ async put(name = LocalInfoNameDefault, content, bDefault = true) {
197
+ const r = await this.storage.get(name);
198
+ if (r) {
199
+ const obj = JSON.parse(r);
200
+ obj.others = obj.others ? [...obj.others, content] : [content];
201
+ if (bDefault) {
202
+ obj.default = content;
203
+ }
204
+ await this.storage.put(name, JSON.stringify(obj));
205
+ }
206
+ else {
207
+ const obj = { default: content, others: [content] };
208
+ await this.storage.put(name, JSON.stringify(obj));
209
+ }
210
+ }
211
+ async get(name = LocalInfoNameDefault) {
212
+ const r = await this.storage.get(name);
213
+ if (r) {
214
+ return JSON.parse(r);
215
+ }
216
+ }
217
+ async get_default(name = LocalInfoNameDefault) {
218
+ const r = await this.storage.get(name);
219
+ if (r) {
220
+ return JSON.parse(r).default;
221
+ }
222
+ }
223
+ async del(name = LocalInfoNameDefault) {
224
+ await this.storage.del(name);
225
+ }
226
+ async del_content(name = LocalInfoNameDefault, index) {
227
+ const r = await this.storage.get(name);
228
+ if (r) {
229
+ const obj = JSON.parse(r);
230
+ if (obj.others && index < obj.others.length) {
231
+ obj.others.splice(index, 1);
232
+ await this.storage.put(name, JSON.stringify(obj));
233
+ return true;
234
+ }
235
+ }
236
+ return false;
237
+ }
238
+ async clear() {
239
+ return await this.storage.clear();
240
+ }
241
+ async list() {
242
+ return (await this.storage.iterator().all()).map(v => { return { name: v[0], data: v[1] }; });
243
+ }
244
+ }
245
+ //# sourceMappingURL=local.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local.js","sourceRoot":"","sources":["../../src/local/local.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,63 @@
1
+ /**
2
+ * Provide AI with Basic WoWok event queries:
3
+ * for real-time detail tracking.
4
+ */
5
+ export interface EventBase {
6
+ id: {
7
+ eventSeq: string;
8
+ txDigest: string;
9
+ };
10
+ sender: string;
11
+ type: string | 'NewArbEvent' | 'NewOrderEvent' | 'NewProgressEvent' | 'PresentServiceEvent';
12
+ type_raw: string;
13
+ time: string;
14
+ }
15
+ export interface NewArbEvent extends EventBase {
16
+ arb: string;
17
+ arbitration: string;
18
+ order: string;
19
+ }
20
+ export interface NewOrderEvent extends EventBase {
21
+ order: string;
22
+ service: string;
23
+ progress?: string | null;
24
+ amount: string;
25
+ }
26
+ export interface NewProgressEvent extends EventBase {
27
+ progress: string;
28
+ machine: string;
29
+ task?: string | null;
30
+ }
31
+ export interface PresentServiceEvent extends EventBase {
32
+ demand: string;
33
+ service: string;
34
+ recommendation: string;
35
+ }
36
+ export interface NewEntityEvent extends EventBase {
37
+ resource: string;
38
+ address: string;
39
+ }
40
+ export interface EventAnswer {
41
+ data: EventBase[];
42
+ hasNextPage: boolean;
43
+ nextCursor?: {
44
+ eventSeq: string;
45
+ txDigest: string;
46
+ } | null;
47
+ }
48
+ export interface EventCursor {
49
+ eventSeq: string;
50
+ txDigest: string;
51
+ }
52
+ export interface EventQuery {
53
+ type: 'OnNewArb' | 'OnPresentService' | 'OnNewProgress' | 'OnNewOrder';
54
+ /** optional paging cursor */
55
+ cursor?: EventCursor | null | undefined;
56
+ /** maximum number of items per page, default to [QUERY_MAX_RESULT_LIMIT] if not specified. */
57
+ limit?: number | null | undefined;
58
+ /** query result ordering, default to false (ascending order), oldest record first. */
59
+ order?: 'ascending' | 'descending' | null | undefined;
60
+ }
61
+ export declare const query_events_json: (json: string) => Promise<string>;
62
+ export declare const query_events: (query: EventQuery) => Promise<EventAnswer | undefined>;
63
+ //# sourceMappingURL=events.d.ts.map