evolcore 0.0.24 → 0.0.25

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 (197) hide show
  1. package/CHANGELOG.md +578 -561
  2. package/LICENSE +21 -21
  3. package/README.md +455 -455
  4. package/bin/codex-managed-acl.ps1 +160 -160
  5. package/bin/codex-managed-hook.mjs +208 -208
  6. package/bin/ec-safe-output.js +327 -327
  7. package/bin/ec.js +29 -29
  8. package/bin/install-codex-managed-hooks.mjs +555 -555
  9. package/dist/agents/claude-runner.js +4 -1
  10. package/dist/agents/codex-runner.js +7 -4
  11. package/dist/agents/ecagent-runner.js +14 -13
  12. package/dist/agents/gemini-runner.js +22 -2
  13. package/dist/aun/aid/agentmd.js +56 -4
  14. package/dist/aun/aid/index.js +1 -0
  15. package/dist/aun/aid/managed-operation.js +53 -1
  16. package/dist/aun/storage/client.js +4 -1
  17. package/dist/aun/storage/index.js +1 -1
  18. package/dist/cli/agent-command.js +186 -87
  19. package/dist/cli/agent-create.js +42 -4
  20. package/dist/cli/agent.js +103 -1
  21. package/dist/cli/aun-commands.js +360 -294
  22. package/dist/cli/bench.js +20 -20
  23. package/dist/cli/config.js +20 -20
  24. package/dist/cli/contact.js +10 -10
  25. package/dist/cli/ctl-command.js +22 -22
  26. package/dist/cli/daemon-commands.js +15 -15
  27. package/dist/cli/fs-command.js +67 -67
  28. package/dist/cli/handoff-command.js +7 -7
  29. package/dist/cli/index.js +77 -77
  30. package/dist/cli/link-rules.js +21 -21
  31. package/dist/cli/menu-client.js +11 -11
  32. package/dist/cli/net-check.js +22 -22
  33. package/dist/cli/queue-command.js +29 -29
  34. package/dist/cli/response.js +30 -30
  35. package/dist/cli/restart-monitor.js +30 -30
  36. package/dist/cli/stats.js +51 -51
  37. package/dist/cli/trigger-command.js +56 -56
  38. package/dist/config/builtin-roles.js +1 -0
  39. package/dist/config/config-manager.js +15 -0
  40. package/dist/config/config-operation-service.js +20 -3
  41. package/dist/config/resolved-config-op.js +39 -1
  42. package/dist/core/auth/operation-authorizer.js +62 -4
  43. package/dist/core/auth/operation-catalog.js +16 -0
  44. package/dist/core/command/agent-control.js +54 -25
  45. package/dist/core/command/cli-intent-parser.js +18 -0
  46. package/dist/core/command/command-handler.js +91 -16
  47. package/dist/core/command/menu-catalog.js +1 -0
  48. package/dist/core/command/menu-handler.js +41 -5
  49. package/dist/core/command/menu-protocol.js +1 -0
  50. package/dist/core/command/slash-handler.js +9 -9
  51. package/dist/core/event-catalog.js +5 -0
  52. package/dist/core/evolagent.js +3 -3
  53. package/dist/core/message/response-engine.js +12 -6
  54. package/dist/core/permission/tool-policy.js +45 -6
  55. package/dist/index.js +209 -162
  56. package/dist/stats/db.js +159 -159
  57. package/dist/stats/eck-vars.js +9 -9
  58. package/dist/stats/query.js +139 -139
  59. package/dist/stats/role-budget.js +6 -6
  60. package/dist/stats/writer.js +51 -51
  61. package/dist/utils/avatar-upload.js +282 -23
  62. package/dist/utils/error-dict.json +160 -160
  63. package/dist/utils/macos-autostart.js +22 -22
  64. package/dist/utils/model-prices.jsonl +23 -23
  65. package/dist/utils/welcome.js +22 -22
  66. package/ecagent/LICENSE +21 -21
  67. package/ecagent/NOTICE +11 -11
  68. package/ecagent/README.md +61 -61
  69. package/ecagent/dist/harness/compaction/branch-summarization.js +30 -30
  70. package/ecagent/dist/harness/compaction/compaction.js +83 -83
  71. package/ecagent/dist/harness/messages.js +7 -7
  72. package/kits/docs/GUIDE.md +20 -20
  73. package/kits/docs/INDEX.md +66 -66
  74. package/kits/docs/aun/CHEATSHEET.md +19 -19
  75. package/kits/docs/aun/SYNC_PROTOCOL.md +15 -15
  76. package/kits/docs/channels/aun.md +56 -56
  77. package/kits/docs/channels/feishu.md +56 -56
  78. package/kits/docs/context-assembly.md +365 -364
  79. package/kits/docs/eck_templates/GUIDE.template.md +22 -22
  80. package/kits/docs/eck_templates/INDEX.template.md +28 -28
  81. package/kits/docs/eck_templates/path-registry.template.md +33 -33
  82. package/kits/docs/eck_templates/runtime.template.md +19 -19
  83. package/kits/docs/evolcore/INDEX.md +71 -69
  84. package/kits/docs/evolcore/agent-create.md +170 -156
  85. package/kits/docs/evolcore/agent.md +83 -73
  86. package/kits/docs/evolcore/aid.md +64 -62
  87. package/kits/docs/evolcore/codex-windows-sandbox.md +146 -0
  88. package/kits/docs/evolcore/config.md +195 -195
  89. package/kits/docs/evolcore/contact.md +68 -68
  90. package/kits/docs/evolcore/ctl.md +46 -46
  91. package/kits/docs/evolcore/event.md +216 -216
  92. package/kits/docs/evolcore/fs-architecture.md +1215 -1215
  93. package/kits/docs/evolcore/fs.md +110 -110
  94. package/kits/docs/evolcore/group-collaboration.md +243 -243
  95. package/kits/docs/evolcore/group-fs.md +17 -17
  96. package/kits/docs/evolcore/group-rules.md +251 -251
  97. package/kits/docs/evolcore/group.md +152 -152
  98. package/kits/docs/evolcore/menu-client.md +34 -34
  99. package/kits/docs/evolcore/model.md +50 -50
  100. package/kits/docs/evolcore/msg.md +165 -165
  101. package/kits/docs/evolcore/response.md +75 -75
  102. package/kits/docs/evolcore/rpc.md +37 -37
  103. package/kits/docs/evolcore/self-summary.md +29 -29
  104. package/kits/docs/evolcore/stats.md +83 -83
  105. package/kits/docs/evolcore/storage.md +50 -50
  106. package/kits/docs/evolcore/trigger.md +575 -575
  107. package/kits/docs/identity/AID_PROFILE_SPEC.md +26 -26
  108. package/kits/docs/identity/PATH_OPS.md +16 -16
  109. package/kits/docs/identity/ROLE_DETAIL.md +25 -25
  110. package/kits/docs/identity/identity-tools.md +26 -26
  111. package/kits/docs/path-registry.md +62 -62
  112. package/kits/docs/prompt-loading-architecture.md +270 -269
  113. package/kits/docs/venues/aun-group.md +45 -45
  114. package/kits/docs/venues/aun-private.md +10 -10
  115. package/kits/docs/venues/client-desktop.md +10 -10
  116. package/kits/docs/venues/client-mobile.md +10 -10
  117. package/kits/docs/venues/feishu-group.md +13 -13
  118. package/kits/docs/venues/feishu-private.md +9 -9
  119. package/kits/docs/venues/group.md +25 -25
  120. package/kits/docs/venues/private.md +10 -10
  121. package/kits/eck_manifest.auxiliary.json +43 -43
  122. package/kits/eck_manifest.json +195 -183
  123. package/kits/eck_message_manifest.json +74 -74
  124. package/kits/migrations/README-role-config-v4.md +32 -32
  125. package/kits/migrations/migrate-contact-book-v2.mjs +748 -748
  126. package/kits/migrations/migrate-role-config-v4.mjs +614 -614
  127. package/kits/migrations/migrate-role-config-v5.mjs +365 -365
  128. package/kits/migrations/rename-config-file.mjs +99 -99
  129. package/kits/rules/01-overview.md +162 -162
  130. package/kits/rules/02-navigation.md +96 -96
  131. package/kits/rules/03-identity.md +39 -37
  132. package/kits/rules/04-relation.md +75 -75
  133. package/kits/rules/05-venue.md +60 -60
  134. package/kits/rules/06-channel.md +63 -63
  135. package/kits/schemas/_meta.json +53 -53
  136. package/kits/schemas/agent-config.schema.1.json +177 -177
  137. package/kits/schemas/agent-config.schema.10.json +395 -395
  138. package/kits/schemas/agent-config.schema.11.json +421 -421
  139. package/kits/schemas/agent-config.schema.12.json +427 -427
  140. package/kits/schemas/agent-config.schema.2.json +239 -239
  141. package/kits/schemas/agent-config.schema.3.json +119 -119
  142. package/kits/schemas/agent-config.schema.4.json +208 -208
  143. package/kits/schemas/agent-config.schema.5.json +326 -326
  144. package/kits/schemas/agent-config.schema.6.json +322 -322
  145. package/kits/schemas/agent-config.schema.7.json +303 -303
  146. package/kits/schemas/agent-config.schema.8.json +304 -304
  147. package/kits/schemas/agent-config.schema.9.json +364 -364
  148. package/kits/schemas/contact-book.schema.1.json +36 -36
  149. package/kits/schemas/contact-book.schema.2.json +43 -43
  150. package/kits/schemas/contact-book.schema.3.json +67 -67
  151. package/kits/schemas/daemon.schema.1.json +91 -91
  152. package/kits/schemas/daemon.schema.2.json +101 -101
  153. package/kits/schemas/daemon.schema.3.json +123 -123
  154. package/kits/schemas/daemon.schema.4.json +136 -136
  155. package/kits/schemas/daemon.schema.5.json +135 -135
  156. package/kits/schemas/daemon.schema.6.json +131 -131
  157. package/kits/schemas/defaults.schema.1.json +81 -81
  158. package/kits/schemas/defaults.schema.2.json +85 -85
  159. package/kits/schemas/defaults.schema.3.json +73 -73
  160. package/kits/schemas/defaults.schema.4.json +107 -107
  161. package/kits/schemas/defaults.schema.5.json +119 -119
  162. package/kits/schemas/menu-exec-schema-commands.md +208 -208
  163. package/kits/schemas/migrations/README.md +30 -30
  164. package/kits/schemas/relation-config.schema.1.json +158 -158
  165. package/kits/schemas/relation-config.schema.2.json +73 -73
  166. package/kits/schemas/relation-config.schema.3.json +50 -50
  167. package/kits/schemas/relation-config.schema.4.json +47 -47
  168. package/kits/schemas/relation-config.schema.5.json +47 -47
  169. package/kits/schemas/relation-config.schema.6.json +46 -46
  170. package/kits/schemas/relation-config.schema.7.json +59 -59
  171. package/kits/schemas/relation-config.schema.8.json +103 -103
  172. package/kits/schemas/role-config.schema.1.json +201 -201
  173. package/kits/schemas/role-registry.schema.1.json +35 -35
  174. package/kits/schemas/single-session.schema.1.json +31 -31
  175. package/kits/schemas/single-session.schema.2.json +57 -57
  176. package/kits/schemas/single-session.schema.3.json +32 -32
  177. package/kits/templates/bootstrap-welcome.md +17 -17
  178. package/kits/templates/message-fragments/handoff-context-to-target.md +9 -9
  179. package/kits/templates/message-fragments/handoff-request-to-target.md +19 -19
  180. package/kits/templates/message-fragments/handoff-response-to-origin.md +9 -9
  181. package/kits/templates/message-fragments/inject-default.md +2 -2
  182. package/kits/templates/message-fragments/item.md +2 -2
  183. package/kits/templates/roles/admin.json +96 -84
  184. package/kits/templates/roles/member.json +97 -96
  185. package/kits/templates/roles/owner.json +9 -9
  186. package/kits/templates/roles/visitor.json +86 -85
  187. package/kits/templates/system-fragments/baseagent.md +14 -14
  188. package/kits/templates/system-fragments/bootstrap.md +38 -29
  189. package/kits/templates/system-fragments/channel.md +64 -64
  190. package/kits/templates/system-fragments/commands.md +28 -28
  191. package/kits/templates/system-fragments/identity.md +13 -13
  192. package/kits/templates/system-fragments/relation.md +19 -19
  193. package/kits/templates/system-fragments/session.md +59 -59
  194. package/kits/templates/system-fragments/venue.md +31 -31
  195. package/package.json +98 -98
  196. package/skills/eclink/SKILL.md +0 -84
  197. package/skills/eclink/agents/openai.yaml +0 -4
@@ -1,36 +1,36 @@
1
- {
2
- "$schema": "http://json-schema.org/draft-07/schema#",
3
- "$id": "contact-book.schema.1.json",
4
- "title": "ContactBook (agents/{aid}/contact.json)",
5
- "x-logical-name": "contact-book",
6
- "x-scope": "contact",
7
- "type": "object",
8
- "additionalProperties": true,
9
- "properties": {
10
- "$schema_version": { "type": "number", "default": 1, "x-merge": "scalar" },
11
- "contacts": {
12
- "type": "object",
13
- "x-merge": "dict",
14
- "description": "联系人字典,键为对端 AID",
15
- "propertyNames": {
16
- "pattern": "^([A-Za-z0-9]([A-Za-z0-9-]*[A-Za-z0-9])?\\.){2,}[A-Za-z0-9]([A-Za-z0-9-]*[A-Za-z0-9])?$"
17
- },
18
- "additionalProperties": {
19
- "type": "object",
20
- "additionalProperties": true,
21
- "properties": {
22
- "displayName": { "type": "string", "description": "显示名" },
23
- "aliases": {
24
- "type": "array",
25
- "description": "跨渠道别名;旧格式 <channel>:<原生ID>,实例隔离格式 channel-key:<URL编码channelKey>:<URL编码原生ID>",
26
- "items": {
27
- "type": "string",
28
- "pattern": "^[A-Za-z0-9_-]+:.+$"
29
- },
30
- "uniqueItems": true
31
- }
32
- }
33
- }
34
- }
35
- }
36
- }
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$id": "contact-book.schema.1.json",
4
+ "title": "ContactBook (agents/{aid}/contact.json)",
5
+ "x-logical-name": "contact-book",
6
+ "x-scope": "contact",
7
+ "type": "object",
8
+ "additionalProperties": true,
9
+ "properties": {
10
+ "$schema_version": { "type": "number", "default": 1, "x-merge": "scalar" },
11
+ "contacts": {
12
+ "type": "object",
13
+ "x-merge": "dict",
14
+ "description": "联系人字典,键为对端 AID",
15
+ "propertyNames": {
16
+ "pattern": "^([A-Za-z0-9]([A-Za-z0-9-]*[A-Za-z0-9])?\\.){2,}[A-Za-z0-9]([A-Za-z0-9-]*[A-Za-z0-9])?$"
17
+ },
18
+ "additionalProperties": {
19
+ "type": "object",
20
+ "additionalProperties": true,
21
+ "properties": {
22
+ "displayName": { "type": "string", "description": "显示名" },
23
+ "aliases": {
24
+ "type": "array",
25
+ "description": "跨渠道别名;旧格式 <channel>:<原生ID>,实例隔离格式 channel-key:<URL编码channelKey>:<URL编码原生ID>",
26
+ "items": {
27
+ "type": "string",
28
+ "pattern": "^[A-Za-z0-9_-]+:.+$"
29
+ },
30
+ "uniqueItems": true
31
+ }
32
+ }
33
+ }
34
+ }
35
+ }
36
+ }
@@ -1,43 +1,43 @@
1
- {
2
- "$schema": "http://json-schema.org/draft-07/schema#",
3
- "$id": "contact-book.schema.2.json",
4
- "title": "ContactBook v2 (agents/{aid}/contact.json)",
5
- "x-logical-name": "contact-book",
6
- "x-scope": "contact",
7
- "type": "object",
8
- "additionalProperties": false,
9
- "required": ["$schema_version", "contacts"],
10
- "properties": {
11
- "$schema_version": { "type": "number", "const": 2, "default": 2, "x-merge": "scalar" },
12
- "contacts": {
13
- "type": "object",
14
- "x-merge": "dict",
15
- "description": "AID 联系人字典;群和无 AID 对端不进入 Contact Book",
16
- "propertyNames": {
17
- "pattern": "^([A-Za-z0-9]([A-Za-z0-9-]*[A-Za-z0-9])?\\.){2,}[A-Za-z0-9]([A-Za-z0-9-]*[A-Za-z0-9])?$"
18
- },
19
- "additionalProperties": {
20
- "type": "object",
21
- "additionalProperties": false,
22
- "properties": {
23
- "displayName": { "type": "string", "description": "显示名" },
24
- "aliases": {
25
- "type": "array",
26
- "description": "跨渠道身份映射,格式 <channelKey>:<urlEncode(peerId)>",
27
- "items": {
28
- "type": "string",
29
- "pattern": "^[A-Za-z0-9_-]+#([A-Za-z0-9]([A-Za-z0-9-]*[A-Za-z0-9])?\\.){2,}[A-Za-z0-9]([A-Za-z0-9-]*[A-Za-z0-9])?#[A-Za-z0-9_-]+:[^:]+$"
30
- },
31
- "uniqueItems": true
32
- },
33
- "status": {
34
- "type": "string",
35
- "enum": ["active", "blocked", "pending"],
36
- "default": "active",
37
- "description": "AID 联系状态;blocked 只阻断该 AID 的 AUN 私聊"
38
- }
39
- }
40
- }
41
- }
42
- }
43
- }
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$id": "contact-book.schema.2.json",
4
+ "title": "ContactBook v2 (agents/{aid}/contact.json)",
5
+ "x-logical-name": "contact-book",
6
+ "x-scope": "contact",
7
+ "type": "object",
8
+ "additionalProperties": false,
9
+ "required": ["$schema_version", "contacts"],
10
+ "properties": {
11
+ "$schema_version": { "type": "number", "const": 2, "default": 2, "x-merge": "scalar" },
12
+ "contacts": {
13
+ "type": "object",
14
+ "x-merge": "dict",
15
+ "description": "AID 联系人字典;群和无 AID 对端不进入 Contact Book",
16
+ "propertyNames": {
17
+ "pattern": "^([A-Za-z0-9]([A-Za-z0-9-]*[A-Za-z0-9])?\\.){2,}[A-Za-z0-9]([A-Za-z0-9-]*[A-Za-z0-9])?$"
18
+ },
19
+ "additionalProperties": {
20
+ "type": "object",
21
+ "additionalProperties": false,
22
+ "properties": {
23
+ "displayName": { "type": "string", "description": "显示名" },
24
+ "aliases": {
25
+ "type": "array",
26
+ "description": "跨渠道身份映射,格式 <channelKey>:<urlEncode(peerId)>",
27
+ "items": {
28
+ "type": "string",
29
+ "pattern": "^[A-Za-z0-9_-]+#([A-Za-z0-9]([A-Za-z0-9-]*[A-Za-z0-9])?\\.){2,}[A-Za-z0-9]([A-Za-z0-9-]*[A-Za-z0-9])?#[A-Za-z0-9_-]+:[^:]+$"
30
+ },
31
+ "uniqueItems": true
32
+ },
33
+ "status": {
34
+ "type": "string",
35
+ "enum": ["active", "blocked", "pending"],
36
+ "default": "active",
37
+ "description": "AID 联系状态;blocked 只阻断该 AID 的 AUN 私聊"
38
+ }
39
+ }
40
+ }
41
+ }
42
+ }
43
+ }
@@ -1,67 +1,67 @@
1
- {
2
- "$schema": "http://json-schema.org/draft-07/schema#",
3
- "$id": "contact-book.schema.3.json",
4
- "title": "ContactBook v3 (agents/{aid}/contact.json)",
5
- "x-logical-name": "contact-book",
6
- "x-scope": "contact",
7
- "type": "object",
8
- "additionalProperties": false,
9
- "required": ["$schema_version", "contacts"],
10
- "properties": {
11
- "$schema_version": { "type": "number", "const": 3, "default": 3, "x-merge": "scalar" },
12
- "contacts": {
13
- "type": "object",
14
- "x-merge": "dict",
15
- "description": "AID 联系人字典;群和无 AID 对端不进入 Contact Book",
16
- "propertyNames": {
17
- "pattern": "^([A-Za-z0-9]([A-Za-z0-9-]*[A-Za-z0-9])?\\.){2,}[A-Za-z0-9]([A-Za-z0-9-]*[A-Za-z0-9])?$"
18
- },
19
- "additionalProperties": {
20
- "type": "object",
21
- "additionalProperties": false,
22
- "properties": {
23
- "displayName": { "type": "string", "description": "显示名" },
24
- "aliases": {
25
- "type": "array",
26
- "description": "跨渠道身份映射,格式 <channelKey>:<urlEncode(peerId)>",
27
- "items": {
28
- "type": "string",
29
- "pattern": "^[A-Za-z0-9_-]+#([A-Za-z0-9]([A-Za-z0-9-]*[A-Za-z0-9])?\\.){2,}[A-Za-z0-9]([A-Za-z0-9-]*[A-Za-z0-9])?#[A-Za-z0-9_-]+:[^:]+$"
30
- },
31
- "uniqueItems": true
32
- },
33
- "status": {
34
- "type": "string",
35
- "enum": ["active", "blocked", "pending", "declined"],
36
- "default": "active"
37
- },
38
- "pendingRequest": {
39
- "type": "object",
40
- "additionalProperties": false,
41
- "required": ["id", "submittedAt", "expiresAt"],
42
- "properties": {
43
- "id": { "type": "string", "pattern": "^creq_[A-Za-z0-9_-]{8,}$" },
44
- "submittedAt": { "type": "string", "minLength": 1 },
45
- "expiresAt": { "type": "string", "minLength": 1 }
46
- }
47
- },
48
- "declinedAt": { "type": "string", "minLength": 1 }
49
- },
50
- "allOf": [
51
- {
52
- "if": { "properties": { "status": { "const": "pending" } }, "required": ["status"] },
53
- "then": { "required": ["pendingRequest"], "not": { "required": ["declinedAt"] } }
54
- },
55
- {
56
- "if": { "properties": { "status": { "const": "declined" } }, "required": ["status"] },
57
- "then": { "required": ["declinedAt"], "not": { "required": ["pendingRequest"] } }
58
- },
59
- {
60
- "if": { "properties": { "status": { "enum": ["active", "blocked"] } }, "required": ["status"] },
61
- "then": { "not": { "anyOf": [{ "required": ["pendingRequest"] }, { "required": ["declinedAt"] }] } }
62
- }
63
- ]
64
- }
65
- }
66
- }
67
- }
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$id": "contact-book.schema.3.json",
4
+ "title": "ContactBook v3 (agents/{aid}/contact.json)",
5
+ "x-logical-name": "contact-book",
6
+ "x-scope": "contact",
7
+ "type": "object",
8
+ "additionalProperties": false,
9
+ "required": ["$schema_version", "contacts"],
10
+ "properties": {
11
+ "$schema_version": { "type": "number", "const": 3, "default": 3, "x-merge": "scalar" },
12
+ "contacts": {
13
+ "type": "object",
14
+ "x-merge": "dict",
15
+ "description": "AID 联系人字典;群和无 AID 对端不进入 Contact Book",
16
+ "propertyNames": {
17
+ "pattern": "^([A-Za-z0-9]([A-Za-z0-9-]*[A-Za-z0-9])?\\.){2,}[A-Za-z0-9]([A-Za-z0-9-]*[A-Za-z0-9])?$"
18
+ },
19
+ "additionalProperties": {
20
+ "type": "object",
21
+ "additionalProperties": false,
22
+ "properties": {
23
+ "displayName": { "type": "string", "description": "显示名" },
24
+ "aliases": {
25
+ "type": "array",
26
+ "description": "跨渠道身份映射,格式 <channelKey>:<urlEncode(peerId)>",
27
+ "items": {
28
+ "type": "string",
29
+ "pattern": "^[A-Za-z0-9_-]+#([A-Za-z0-9]([A-Za-z0-9-]*[A-Za-z0-9])?\\.){2,}[A-Za-z0-9]([A-Za-z0-9-]*[A-Za-z0-9])?#[A-Za-z0-9_-]+:[^:]+$"
30
+ },
31
+ "uniqueItems": true
32
+ },
33
+ "status": {
34
+ "type": "string",
35
+ "enum": ["active", "blocked", "pending", "declined"],
36
+ "default": "active"
37
+ },
38
+ "pendingRequest": {
39
+ "type": "object",
40
+ "additionalProperties": false,
41
+ "required": ["id", "submittedAt", "expiresAt"],
42
+ "properties": {
43
+ "id": { "type": "string", "pattern": "^creq_[A-Za-z0-9_-]{8,}$" },
44
+ "submittedAt": { "type": "string", "minLength": 1 },
45
+ "expiresAt": { "type": "string", "minLength": 1 }
46
+ }
47
+ },
48
+ "declinedAt": { "type": "string", "minLength": 1 }
49
+ },
50
+ "allOf": [
51
+ {
52
+ "if": { "properties": { "status": { "const": "pending" } }, "required": ["status"] },
53
+ "then": { "required": ["pendingRequest"], "not": { "required": ["declinedAt"] } }
54
+ },
55
+ {
56
+ "if": { "properties": { "status": { "const": "declined" } }, "required": ["status"] },
57
+ "then": { "required": ["declinedAt"], "not": { "required": ["pendingRequest"] } }
58
+ },
59
+ {
60
+ "if": { "properties": { "status": { "enum": ["active", "blocked"] } }, "required": ["status"] },
61
+ "then": { "not": { "anyOf": [{ "required": ["pendingRequest"] }, { "required": ["declinedAt"] }] } }
62
+ }
63
+ ]
64
+ }
65
+ }
66
+ }
67
+ }
@@ -1,91 +1,91 @@
1
- {
2
- "$schema": "http://json-schema.org/draft-07/schema#",
3
- "$id": "daemon.schema.1.json",
4
- "title": "ProcessConfig (daemon.json)",
5
- "description": "进程级配置:daemon 自身运行配置,链外独立作用域,不进覆盖链。",
6
- "x-logical-name": "daemon",
7
- "x-scope": "process",
8
- "type": "object",
9
- "additionalProperties": false,
10
- "properties": {
11
- "$schema_version": { "type": "number", "default": 1, "x-merge": "scalar" },
12
- "aid": { "type": "string", "description": "daemon 默认身份 AID", "x-merge": "scalar" },
13
- "owners": {
14
- "type": "array",
15
- "items": { "type": "string" },
16
- "description": "进程控制面鉴权名单(谁能远程管 daemon)",
17
- "x-merge": "list"
18
- },
19
- "debug": {
20
- "type": "object",
21
- "description": "进程级调试配置",
22
- "x-merge": "dict",
23
- "properties": {
24
- "eckSnapshots": {
25
- "type": "boolean",
26
- "default": false,
27
- "description": "是否写入可能包含敏感上下文的 ECK 旁路调试快照"
28
- }
29
- }
30
- },
31
- "tunnel": {
32
- "type": "object",
33
- "description": "内网穿透配置",
34
- "x-merge": "dict",
35
- "properties": {
36
- "targets": { "type": "array", "description": "穿透目标列表", "items": { "type": "object" } }
37
- }
38
- },
39
- "aun": {
40
- "type": "object",
41
- "description": "AUN 进程配置",
42
- "x-merge": "dict",
43
- "properties": {
44
- "encryptionSeed": { "type": ["string", "null"], "description": "已废弃兼容字段;EvolCore 固定使用内置值,检测到其他值时拒绝启动并提示联系管理人员" }
45
- }
46
- },
47
- "serviceProxy": {
48
- "type": "object",
49
- "description": "AUN Service Proxy:把本地服务暴露到 AUN 网络",
50
- "x-merge": "dict",
51
- "properties": {
52
- "enabled": { "type": "boolean", "description": "是否启用 Service Proxy" },
53
- "services": { "type": "array", "description": "暴露到 AUN 的本地服务列表", "items": { "type": "object" } }
54
- }
55
- },
56
- "configSnapshots": {
57
- "type": "boolean",
58
- "default": true,
59
- "description": "是否自动维护配置快照、启动日志和自检回落",
60
- "x-merge": "scalar"
61
- },
62
- "idleMonitor": {
63
- "type": "object",
64
- "description": "流式输出空闲监控配置",
65
- "x-merge": "dict",
66
- "properties": {
67
- "enabled": { "type": "boolean", "default": true, "description": "是否启用空闲监控" },
68
- "timeout": { "type": "number", "default": 120, "description": "空闲超时秒数" },
69
- "retryAttemptTimeout": { "type": "number", "description": "API 重试尝试连续无事件时的超时秒数;未设置时继承 timeout" },
70
- "maxExecutionTime": { "type": "number", "description": "单个任务总执行时限(秒);未配置、非数字或小于等于 0 表示不限制" }
71
- }
72
- },
73
- "ecweb": {
74
- "type": "object",
75
- "description": "web 控制台开关/端口",
76
- "x-merge": "dict",
77
- "properties": {
78
- "enabled": { "type": "boolean", "description": "是否启用 web 控制台" },
79
- "port": { "type": "number", "description": "web 控制台监听端口" }
80
- }
81
- },
82
- "watch": {
83
- "type": "object",
84
- "description": "日志监听配置",
85
- "x-merge": "dict",
86
- "properties": {
87
- "logTypes": { "type": "array", "description": "要监听的日志类型", "items": { "type": "string" } }
88
- }
89
- }
90
- }
91
- }
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$id": "daemon.schema.1.json",
4
+ "title": "ProcessConfig (daemon.json)",
5
+ "description": "进程级配置:daemon 自身运行配置,链外独立作用域,不进覆盖链。",
6
+ "x-logical-name": "daemon",
7
+ "x-scope": "process",
8
+ "type": "object",
9
+ "additionalProperties": false,
10
+ "properties": {
11
+ "$schema_version": { "type": "number", "default": 1, "x-merge": "scalar" },
12
+ "aid": { "type": "string", "description": "daemon 默认身份 AID", "x-merge": "scalar" },
13
+ "owners": {
14
+ "type": "array",
15
+ "items": { "type": "string" },
16
+ "description": "进程控制面鉴权名单(谁能远程管 daemon)",
17
+ "x-merge": "list"
18
+ },
19
+ "debug": {
20
+ "type": "object",
21
+ "description": "进程级调试配置",
22
+ "x-merge": "dict",
23
+ "properties": {
24
+ "eckSnapshots": {
25
+ "type": "boolean",
26
+ "default": false,
27
+ "description": "是否写入可能包含敏感上下文的 ECK 旁路调试快照"
28
+ }
29
+ }
30
+ },
31
+ "tunnel": {
32
+ "type": "object",
33
+ "description": "内网穿透配置",
34
+ "x-merge": "dict",
35
+ "properties": {
36
+ "targets": { "type": "array", "description": "穿透目标列表", "items": { "type": "object" } }
37
+ }
38
+ },
39
+ "aun": {
40
+ "type": "object",
41
+ "description": "AUN 进程配置",
42
+ "x-merge": "dict",
43
+ "properties": {
44
+ "encryptionSeed": { "type": ["string", "null"], "description": "已废弃兼容字段;EvolCore 固定使用内置值,检测到其他值时拒绝启动并提示联系管理人员" }
45
+ }
46
+ },
47
+ "serviceProxy": {
48
+ "type": "object",
49
+ "description": "AUN Service Proxy:把本地服务暴露到 AUN 网络",
50
+ "x-merge": "dict",
51
+ "properties": {
52
+ "enabled": { "type": "boolean", "description": "是否启用 Service Proxy" },
53
+ "services": { "type": "array", "description": "暴露到 AUN 的本地服务列表", "items": { "type": "object" } }
54
+ }
55
+ },
56
+ "configSnapshots": {
57
+ "type": "boolean",
58
+ "default": true,
59
+ "description": "是否自动维护配置快照、启动日志和自检回落",
60
+ "x-merge": "scalar"
61
+ },
62
+ "idleMonitor": {
63
+ "type": "object",
64
+ "description": "流式输出空闲监控配置",
65
+ "x-merge": "dict",
66
+ "properties": {
67
+ "enabled": { "type": "boolean", "default": true, "description": "是否启用空闲监控" },
68
+ "timeout": { "type": "number", "default": 120, "description": "空闲超时秒数" },
69
+ "retryAttemptTimeout": { "type": "number", "description": "API 重试尝试连续无事件时的超时秒数;未设置时继承 timeout" },
70
+ "maxExecutionTime": { "type": "number", "description": "单个任务总执行时限(秒);未配置、非数字或小于等于 0 表示不限制" }
71
+ }
72
+ },
73
+ "ecweb": {
74
+ "type": "object",
75
+ "description": "web 控制台开关/端口",
76
+ "x-merge": "dict",
77
+ "properties": {
78
+ "enabled": { "type": "boolean", "description": "是否启用 web 控制台" },
79
+ "port": { "type": "number", "description": "web 控制台监听端口" }
80
+ }
81
+ },
82
+ "watch": {
83
+ "type": "object",
84
+ "description": "日志监听配置",
85
+ "x-merge": "dict",
86
+ "properties": {
87
+ "logTypes": { "type": "array", "description": "要监听的日志类型", "items": { "type": "string" } }
88
+ }
89
+ }
90
+ }
91
+ }