@xfxstudio/claworld 2026.4.27-testing.1 → 2026.4.28-testing
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.
- package/openclaw.plugin.json +245 -234
- package/package.json +1 -1
- package/skills/claworld-help/SKILL.md +3 -3
- package/src/openclaw/index.js +3 -0
- package/src/openclaw/plugin/claworld-channel-plugin.js +30 -90
- package/src/openclaw/plugin/config-schema.js +6 -0
- package/src/openclaw/plugin/register-tooling.js +0 -4
- package/src/openclaw/plugin/register.js +394 -118
- package/src/openclaw/runtime/feedback-helper.js +2 -2
- package/src/openclaw/runtime/product-shell-helper.js +213 -139
- package/src/openclaw/runtime/tool-contracts.js +195 -6
- package/src/openclaw/runtime/tool-inventory.js +15 -0
- package/src/openclaw/runtime/working-memory.js +2 -0
- package/src/openclaw/runtime/world-moderation-helper.js +0 -16
- package/src/product-shell/contracts/world-orchestration.js +270 -1
|
@@ -47,11 +47,11 @@ import {
|
|
|
47
47
|
import { submitFeedbackReport } from '../runtime/feedback-helper.js';
|
|
48
48
|
import {
|
|
49
49
|
buildWorldSelectionPrompt,
|
|
50
|
+
buildCandidateDeliverySummary,
|
|
50
51
|
buildPostSetupWorldDirectory,
|
|
52
|
+
fetchWorldCandidateFeed,
|
|
51
53
|
fetchWorldDetail,
|
|
52
|
-
getPublicProfile,
|
|
53
54
|
joinWorld,
|
|
54
|
-
lookupPublicProfile,
|
|
55
55
|
search,
|
|
56
56
|
searchWorldMembers,
|
|
57
57
|
searchWorlds,
|
|
@@ -3363,13 +3363,6 @@ async function generateRuntimeProfileCard(context = {}) {
|
|
|
3363
3363
|
accountId: resolvedContext.accountId || null,
|
|
3364
3364
|
runtimeConfig: resolvedContext.runtimeConfig || null,
|
|
3365
3365
|
query: context.query ?? context.queryText ?? null,
|
|
3366
|
-
keywords: context.keywords || [],
|
|
3367
|
-
topics: context.topics || [],
|
|
3368
|
-
location: context.location || null,
|
|
3369
|
-
timeWindow: context.timeWindow || null,
|
|
3370
|
-
intent: context.intent || null,
|
|
3371
|
-
desiredInteraction: context.desiredInteraction || null,
|
|
3372
|
-
constraints: context.constraints || [],
|
|
3373
3366
|
limit: context.limit ?? null,
|
|
3374
3367
|
sort: context.sort || null,
|
|
3375
3368
|
page: context.page ?? null,
|
|
@@ -3399,23 +3392,30 @@ async function generateRuntimeProfileCard(context = {}) {
|
|
|
3399
3392
|
worldId: context.worldId || null,
|
|
3400
3393
|
agentId: resolvedContext.agentId || null,
|
|
3401
3394
|
query: context.query ?? context.queryText ?? null,
|
|
3402
|
-
keywords: context.keywords || [],
|
|
3403
|
-
topics: context.topics || [],
|
|
3404
|
-
location: context.location || null,
|
|
3405
|
-
timeWindow: context.timeWindow || null,
|
|
3406
|
-
intent: context.intent || null,
|
|
3407
|
-
desiredInteraction: context.desiredInteraction || null,
|
|
3408
|
-
constraints: context.constraints || [],
|
|
3409
3395
|
sort: context.sort || null,
|
|
3410
3396
|
limit: context.limit ?? null,
|
|
3411
3397
|
fetchImpl,
|
|
3412
3398
|
logger,
|
|
3413
3399
|
});
|
|
3414
3400
|
},
|
|
3401
|
+
fetchWorldCandidateFeed: async (context = {}) => {
|
|
3402
|
+
const resolvedContext = await resolveBoundRuntimeContext(context);
|
|
3403
|
+
return fetchWorldCandidateFeed({
|
|
3404
|
+
cfg: resolvedContext.cfg || {},
|
|
3405
|
+
accountId: resolvedContext.accountId || null,
|
|
3406
|
+
runtimeConfig: resolvedContext.runtimeConfig || null,
|
|
3407
|
+
worldId: context.worldId || null,
|
|
3408
|
+
agentId: resolvedContext.agentId || null,
|
|
3409
|
+
limit: context.limit ?? context.candidateLimit ?? null,
|
|
3410
|
+
fetchImpl,
|
|
3411
|
+
logger,
|
|
3412
|
+
});
|
|
3413
|
+
},
|
|
3415
3414
|
resolveWorldSelection: (context = {}) => resolveWorldSelection(
|
|
3416
3415
|
context.worldDirectory || {},
|
|
3417
3416
|
context.selection ?? context.userChoice ?? null,
|
|
3418
3417
|
),
|
|
3418
|
+
buildCandidateDeliverySummary,
|
|
3419
3419
|
resolveWorldSelectionFlow: async (context = {}) => {
|
|
3420
3420
|
const resolvedContext = await resolveBoundRuntimeContext(context);
|
|
3421
3421
|
return resolveWorldSelectionFlow({
|
|
@@ -3464,32 +3464,6 @@ async function generateRuntimeProfileCard(context = {}) {
|
|
|
3464
3464
|
});
|
|
3465
3465
|
},
|
|
3466
3466
|
},
|
|
3467
|
-
publicProfiles: {
|
|
3468
|
-
getPublicProfile: async (context = {}) => {
|
|
3469
|
-
const resolvedContext = await resolveBoundRuntimeContext(context);
|
|
3470
|
-
return getPublicProfile({
|
|
3471
|
-
cfg: resolvedContext.cfg || {},
|
|
3472
|
-
accountId: resolvedContext.accountId || null,
|
|
3473
|
-
runtimeConfig: resolvedContext.runtimeConfig || null,
|
|
3474
|
-
agentId: context.agentId || resolvedContext.agentId || null,
|
|
3475
|
-
viewerAgentId: resolvedContext.agentId || null,
|
|
3476
|
-
fetchImpl,
|
|
3477
|
-
logger,
|
|
3478
|
-
});
|
|
3479
|
-
},
|
|
3480
|
-
lookupPublicProfile: async (context = {}) => {
|
|
3481
|
-
const resolvedContext = await resolveBoundRuntimeContext(context);
|
|
3482
|
-
return lookupPublicProfile({
|
|
3483
|
-
cfg: resolvedContext.cfg || {},
|
|
3484
|
-
accountId: resolvedContext.accountId || null,
|
|
3485
|
-
runtimeConfig: resolvedContext.runtimeConfig || null,
|
|
3486
|
-
identity: context.identity || null,
|
|
3487
|
-
viewerAgentId: resolvedContext.agentId || null,
|
|
3488
|
-
fetchImpl,
|
|
3489
|
-
logger,
|
|
3490
|
-
});
|
|
3491
|
-
},
|
|
3492
|
-
},
|
|
3493
3467
|
activity: {
|
|
3494
3468
|
listWorldActivity: async (context = {}) => {
|
|
3495
3469
|
const resolvedContext = await resolveBoundRuntimeContext(context);
|
|
@@ -3514,10 +3488,6 @@ async function generateRuntimeProfileCard(context = {}) {
|
|
|
3514
3488
|
worldContextText: context.worldContextText || null,
|
|
3515
3489
|
participantContextText: context.participantContextText || null,
|
|
3516
3490
|
enabled: typeof context.enabled === 'boolean' ? context.enabled : true,
|
|
3517
|
-
visibility: context.visibility || null,
|
|
3518
|
-
identityMode: context.identityMode || null,
|
|
3519
|
-
joinPolicy: context.joinPolicy || null,
|
|
3520
|
-
approvalPolicy: context.approvalPolicy || null,
|
|
3521
3491
|
fetchImpl,
|
|
3522
3492
|
logger,
|
|
3523
3493
|
});
|
|
@@ -3715,13 +3685,6 @@ async function generateRuntimeProfileCard(context = {}) {
|
|
|
3715
3685
|
worldId: context.worldId || null,
|
|
3716
3686
|
agentId: resolvedContext.agentId || null,
|
|
3717
3687
|
query: context.query ?? context.queryText ?? null,
|
|
3718
|
-
keywords: context.keywords || [],
|
|
3719
|
-
topics: context.topics || [],
|
|
3720
|
-
location: context.location || null,
|
|
3721
|
-
timeWindow: context.timeWindow || null,
|
|
3722
|
-
intent: context.intent || null,
|
|
3723
|
-
desiredInteraction: context.desiredInteraction || null,
|
|
3724
|
-
constraints: context.constraints || [],
|
|
3725
3688
|
limit: context.limit ?? null,
|
|
3726
3689
|
sort: context.sort || null,
|
|
3727
3690
|
page: context.page ?? null,
|
|
@@ -3751,20 +3714,27 @@ async function generateRuntimeProfileCard(context = {}) {
|
|
|
3751
3714
|
worldId: context.worldId || null,
|
|
3752
3715
|
agentId: resolvedContext.agentId || null,
|
|
3753
3716
|
query: context.query ?? context.queryText ?? null,
|
|
3754
|
-
keywords: context.keywords || [],
|
|
3755
|
-
topics: context.topics || [],
|
|
3756
|
-
location: context.location || null,
|
|
3757
|
-
timeWindow: context.timeWindow || null,
|
|
3758
|
-
intent: context.intent || null,
|
|
3759
|
-
desiredInteraction: context.desiredInteraction || null,
|
|
3760
|
-
constraints: context.constraints || [],
|
|
3761
3717
|
sort: context.sort || null,
|
|
3762
3718
|
limit: context.limit ?? null,
|
|
3763
3719
|
fetchImpl,
|
|
3764
3720
|
logger,
|
|
3765
3721
|
});
|
|
3766
3722
|
},
|
|
3723
|
+
fetchWorldCandidateFeed: async (context = {}) => {
|
|
3724
|
+
const resolvedContext = await resolveBoundRuntimeContext(context);
|
|
3725
|
+
return fetchWorldCandidateFeed({
|
|
3726
|
+
cfg: resolvedContext.cfg || {},
|
|
3727
|
+
accountId: resolvedContext.accountId || null,
|
|
3728
|
+
runtimeConfig: resolvedContext.runtimeConfig || null,
|
|
3729
|
+
worldId: context.worldId || null,
|
|
3730
|
+
agentId: resolvedContext.agentId || null,
|
|
3731
|
+
limit: context.limit ?? context.candidateLimit ?? null,
|
|
3732
|
+
fetchImpl,
|
|
3733
|
+
logger,
|
|
3734
|
+
});
|
|
3735
|
+
},
|
|
3767
3736
|
resolveWorldSelection,
|
|
3737
|
+
buildCandidateDeliverySummary,
|
|
3768
3738
|
resolveWorldSelectionFlow: async (context = {}) => {
|
|
3769
3739
|
const resolvedContext = await resolveBoundRuntimeContext(context);
|
|
3770
3740
|
return resolveWorldSelectionFlow({
|
|
@@ -3778,32 +3748,6 @@ async function generateRuntimeProfileCard(context = {}) {
|
|
|
3778
3748
|
logger,
|
|
3779
3749
|
});
|
|
3780
3750
|
},
|
|
3781
|
-
publicProfiles: {
|
|
3782
|
-
getPublicProfile: async (context = {}) => {
|
|
3783
|
-
const resolvedContext = await resolveBoundRuntimeContext(context);
|
|
3784
|
-
return getPublicProfile({
|
|
3785
|
-
cfg: resolvedContext.cfg || {},
|
|
3786
|
-
accountId: resolvedContext.accountId || null,
|
|
3787
|
-
runtimeConfig: resolvedContext.runtimeConfig || null,
|
|
3788
|
-
agentId: context.agentId || resolvedContext.agentId || null,
|
|
3789
|
-
viewerAgentId: resolvedContext.agentId || null,
|
|
3790
|
-
fetchImpl,
|
|
3791
|
-
logger,
|
|
3792
|
-
});
|
|
3793
|
-
},
|
|
3794
|
-
lookupPublicProfile: async (context = {}) => {
|
|
3795
|
-
const resolvedContext = await resolveBoundRuntimeContext(context);
|
|
3796
|
-
return lookupPublicProfile({
|
|
3797
|
-
cfg: resolvedContext.cfg || {},
|
|
3798
|
-
accountId: resolvedContext.accountId || null,
|
|
3799
|
-
runtimeConfig: resolvedContext.runtimeConfig || null,
|
|
3800
|
-
identity: context.identity || null,
|
|
3801
|
-
viewerAgentId: resolvedContext.agentId || null,
|
|
3802
|
-
fetchImpl,
|
|
3803
|
-
logger,
|
|
3804
|
-
});
|
|
3805
|
-
},
|
|
3806
|
-
},
|
|
3807
3751
|
subscriptions: {
|
|
3808
3752
|
listSubscriptions: async (context = {}) => {
|
|
3809
3753
|
const resolvedContext = await resolveBoundRuntimeContext(context);
|
|
@@ -3888,10 +3832,6 @@ async function generateRuntimeProfileCard(context = {}) {
|
|
|
3888
3832
|
worldContextText: context.worldContextText || null,
|
|
3889
3833
|
participantContextText: context.participantContextText || null,
|
|
3890
3834
|
enabled: typeof context.enabled === 'boolean' ? context.enabled : true,
|
|
3891
|
-
visibility: context.visibility || null,
|
|
3892
|
-
identityMode: context.identityMode || null,
|
|
3893
|
-
joinPolicy: context.joinPolicy || null,
|
|
3894
|
-
approvalPolicy: context.approvalPolicy || null,
|
|
3895
3835
|
fetchImpl,
|
|
3896
3836
|
logger,
|
|
3897
3837
|
});
|
|
@@ -8,6 +8,12 @@ const REQUIRED_KEYS = ['enabled', 'serverUrl', 'apiKey', 'accountId'];
|
|
|
8
8
|
|
|
9
9
|
export const CLAWORLD_CHANNEL_ID = 'claworld';
|
|
10
10
|
|
|
11
|
+
export const claworldPluginConfigJsonSchema = {
|
|
12
|
+
type: 'object',
|
|
13
|
+
additionalProperties: false,
|
|
14
|
+
properties: {},
|
|
15
|
+
};
|
|
16
|
+
|
|
11
17
|
const AGENT_REGISTRATION_SCHEMA = {
|
|
12
18
|
type: 'object',
|
|
13
19
|
additionalProperties: false,
|
|
@@ -409,10 +409,6 @@ export function inferManageWorldAction(params = {}) {
|
|
|
409
409
|
normalizeText(params.worldContextText, null)
|
|
410
410
|
|| normalizeText(params.displayName, null)
|
|
411
411
|
|| normalizeObject(params.broadcast, null)
|
|
412
|
-
|| normalizeText(params.visibility, null)
|
|
413
|
-
|| normalizeText(params.identityMode, null)
|
|
414
|
-
|| normalizeText(params.joinPolicy, null)
|
|
415
|
-
|| normalizeText(params.approvalPolicy, null)
|
|
416
412
|
) {
|
|
417
413
|
return 'update_context';
|
|
418
414
|
}
|