@gholl-studio/pier-connector 0.7.9 → 0.7.11

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/dist/inbound.d.ts CHANGED
@@ -3,12 +3,5 @@
3
3
  * @description Manages inbound message processing, agent routing resolution, and session context propagation.
4
4
  */
5
5
  import type { InboundMessage } from './types.js';
6
- import type { PierRobot } from './robot.js';
7
- /**
8
- * Handle incoming messages from NATS (Core or JetStream).
9
- * @param ctx The plugin runtime context
10
- * @param inbound The normalized inbound message payload
11
- * @param jobId The associated Job or Group ID
12
- * @param robot The active PierRobot instance
13
- */
14
- export declare function handleInbound(ctx: any, inbound: InboundMessage, jobId: string, robot: PierRobot, plugin: any): Promise<void>;
6
+ export declare function handleInbound(ctx: any, // Gateway Context
7
+ inbound: InboundMessage, jobId: string, robot: any, pierPlugin: any): Promise<void>;
package/dist/inbound.js CHANGED
@@ -2,22 +2,20 @@
2
2
  * @file inbound.ts
3
3
  * @description Manages inbound message processing, agent routing resolution, and session context propagation.
4
4
  */
5
- /**
6
- * Handle incoming messages from NATS (Core or JetStream).
7
- * @param ctx The plugin runtime context
8
- * @param inbound The normalized inbound message payload
9
- * @param jobId The associated Job or Group ID
10
- * @param robot The active PierRobot instance
11
- */
12
- export async function handleInbound(ctx, inbound, jobId, robot, plugin) {
5
+ export async function handleInbound(ctx, // Gateway Context
6
+ inbound, jobId, robot, pierPlugin) {
13
7
  const logger = ctx.log || console;
14
8
  const channelRuntime = ctx.channelRuntime;
15
- // 1. Prepare Scoped Config
16
- // resolveAgentRoute needs bindings in full config to match channel+accountId routing rules.
9
+ if (!channelRuntime?.reply) {
10
+ console.error(`[pier-connector][${robot.accountId}] SDK Error: channelRuntime.reply is not available.`);
11
+ return;
12
+ }
13
+ // 1. Resolve Account-Scoped Configuration
17
14
  const rootConfig = ctx.cfg || {};
18
15
  const accountScopedCfg = rootConfig;
19
16
  // 2. Resolve Agent Route
20
- const isWorkspace = !!inbound.jobId && inbound.jobId.startsWith('job-');
17
+ // A message is part of a workspace if it has a workspace prefix or is explicitly marked.
18
+ const isWorkspace = !!inbound.jobId && (inbound.jobId.startsWith('job-') || inbound.isWorkspace === true);
21
19
  const peerId = jobId;
22
20
  const chatType = isWorkspace ? 'group' : 'direct';
23
21
  const route = channelRuntime.routing.resolveAgentRoute({
@@ -46,7 +44,6 @@ export async function handleInbound(ctx, inbound, jobId, robot, plugin) {
46
44
  if (keys.length > 0)
47
45
  boardIndex = keys.join(", ");
48
46
  // B. Proactively read 'mission.goal' (Long-term Memory)
49
- // This ensures the agent NEVER forgets the objective regardless of chat length.
50
47
  const goalEntry = await kv.get('mission.goal') || await kv.get('goal');
51
48
  if (goalEntry) {
52
49
  missionGoal = new TextDecoder().decode(goalEntry.value);
@@ -76,16 +73,17 @@ export async function handleInbound(ctx, inbound, jobId, robot, plugin) {
76
73
  isWorkspace ? `CURRENT WORKSPACE ID (groupId): ${jobId}` : "",
77
74
  isWorkspace ? `PRIMARY MISSION GOAL: ${missionGoal}` : "",
78
75
  isWorkspace ? `BOARD INDEX: ${boardIndex}` : "",
79
- isWorkspace ? "-----------------------------------------" : "",
76
+ "-----------------------------------------",
80
77
  isWorkspace ? "SWARM COORDINATION & PM PROTOCOL:" : "",
81
- isWorkspace ? "1. PROJECT MANAGER (PM) ROLE: If you are acting as a lead/PM, use `tasks.[id]` keys to assign sub-tasks and monitor progress. Only the PM should mark tasks as 'VALIDATED'." : "",
82
- isWorkspace ? "2. CONFLICT PROTECTION: In a multi-agent environment, you MUST provide 'expectedRevision' when calling `pier_update_board_item` to prevent overwriting others' work." : "",
83
- isWorkspace ? "3. STATE MACHINE: Use standard statuses: TODO -> DOING -> DONE -> VALIDATED." : "",
78
+ isWorkspace ? "1. The 'PRIMARY MISSION GOAL' is your source of truth and long-term memory. It defines your purpose in this workspace." : "",
79
+ isWorkspace ? "2. PROJECT MANAGER (PM) ROLE: If you are acting as a lead/PM, use `tasks.[id]` keys to assign sub-tasks and monitor progress. Only the PM should mark tasks as 'VALIDATED'." : "",
80
+ isWorkspace ? "3. CONFLICT PROTECTION: In a multi-agent environment, you MUST provide 'expectedRevision' when calling `pier_update_board_item` to prevent overwriting others' work." : "",
84
81
  isWorkspace ? "4. Use the groupId exactly as provided. DO NOT add 'pierWorkspace:' prefixes." : "",
82
+ isWorkspace ? "5. Use `pier_read_board_item` to fetch technical details for any key listed in the BOARD INDEX." : "",
85
83
  "-----------------------------------------",
86
- "5. You MUST USE the `pier_finish_task` tool to submit the final result when the mission objectives are fully met.",
87
- "6. If requirements are unclear, use `pier_chat` to consult the employer.",
88
- "7. Do not remain idle if the goal is clear. Act, update the board, and coordinate."
84
+ "6. You MUST USE the `pier_finish_task` tool to submit the final result when the mission objectives are fully met.",
85
+ "7. If requirements are unclear, use `pier_chat` to consult the employer.",
86
+ "8. Do not remain idle if the goal is clear. Act, update the board, and coordinate."
89
87
  ].filter(Boolean).join('\n');
90
88
  }
91
89
  // 3. Finalize Context
@@ -100,21 +98,74 @@ export async function handleInbound(ctx, inbound, jobId, robot, plugin) {
100
98
  ChatType: chatType,
101
99
  SenderId: inbound.senderId,
102
100
  SenderName: inbound.senderId,
103
- WasMentioned: inbound.WasMentioned ?? true,
101
+ WasMentioned: inbound.WasMentioned,
104
102
  InjectedSystemPrompt: injectedPrompt,
105
103
  Metadata: {
106
- jobId: jobId,
107
- pierJobId: metadata?.pierJobId,
104
+ ...metadata,
105
+ accountId: robot.accountId,
106
+ agentId: finalAgentId,
107
+ pierJobId: jobId,
108
+ routingSource: routingSource,
108
109
  workspace: isWorkspace,
109
110
  boardKeys: boardIndex
110
111
  }
111
112
  });
112
- // 4. Dispatch to Agent
113
+ // 4. Create Dispatcher
114
+ const { dispatcher, replyOptions, markDispatchIdle, markRunComplete } = channelRuntime.reply.createReplyDispatcherWithTyping({
115
+ deliver: async (payload, info) => {
116
+ const currentMeta = robot.activeNodeJobs.get(jobId);
117
+ const resAgent = payload.agentId || finalAgentId;
118
+ logger.info(`[pier-connector:trace] Outbound delivery for ${jobId}. Responder: ${resAgent}.`);
119
+ if (payload.text && payload.text.length > 0) {
120
+ await pierPlugin.outbound.sendText({
121
+ text: payload.text,
122
+ to: `pier:${jobId}`,
123
+ accountId: robot.accountId,
124
+ metadata: {
125
+ ...currentMeta,
126
+ accountId: robot.accountId,
127
+ pierJobId: jobId,
128
+ respondingAgentId: resAgent,
129
+ workspace: isWorkspace
130
+ },
131
+ });
132
+ }
133
+ }
134
+ });
135
+ // 5. Session Recording
136
+ if (channelRuntime.session?.recordSessionMetaFromInbound) {
137
+ try {
138
+ const storePath = channelRuntime.session.resolveStorePath(dynamicSessionKey);
139
+ await channelRuntime.session.recordSessionMetaFromInbound({
140
+ storePath, sessionKey: dynamicSessionKey, ctx: ctxPayload
141
+ });
142
+ }
143
+ catch (err) {
144
+ logger.error(`[pier-connector] ✖ Failed to record session metadata: ${err.message}`);
145
+ }
146
+ }
147
+ // 6. Dispatch
113
148
  try {
114
- await channelRuntime.reply.dispatchInbound(ctxPayload);
149
+ const { queuedFinal, counts } = await channelRuntime.reply.dispatchReplyFromConfig({
150
+ ctx: ctxPayload,
151
+ cfg: accountScopedCfg,
152
+ dispatcher,
153
+ replyOptions: {
154
+ ...replyOptions,
155
+ onModelSelected: (mCtx) => {
156
+ logger.info(`[pier-connector:debug] Model selected for ${jobId}: ${mCtx.provider}/${mCtx.model}`);
157
+ }
158
+ }
159
+ });
160
+ await dispatcher.waitForIdle();
161
+ logger.info(`[pier-connector] Dispatch complete for ${jobId}. queuedFinal=${queuedFinal}, counts=${JSON.stringify(counts)}`);
115
162
  }
116
163
  catch (err) {
117
- logger.error(`[pier-connector] Dispatch failed: ${err.message}`);
164
+ logger.error(`[pier-connector] Dispatch error for job ${jobId}: ${err.message}`);
165
+ }
166
+ finally {
167
+ markRunComplete?.();
168
+ markDispatchIdle?.();
118
169
  }
119
170
  }
120
171
  //# sourceMappingURL=inbound.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"inbound.js","sourceRoot":"","sources":["../src/inbound.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inbound.js","sourceRoot":"","sources":["../src/inbound.ts"],"names":[],"mappings":"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"}
package/dist/robot.js CHANGED
@@ -365,7 +365,8 @@ export class PierRobot {
365
365
  body: injectedBody,
366
366
  jobId: payload.groupId,
367
367
  messageId: payload.id,
368
- WasMentioned: true
368
+ WasMentioned: isMentioned,
369
+ isWorkspace: true
369
370
  }, payload.groupId);
370
371
  this.isBusy = false;
371
372
  }
package/dist/robot.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"robot.js","sourceRoot":"","sources":["../src/robot.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"robot.js","sourceRoot":"","sources":["../src/robot.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@gholl-studio/pier-connector",
3
3
  "author": "gholl",
4
- "version": "0.7.9",
4
+ "version": "0.7.11",
5
5
  "description": "OpenClaw plugin that connects to the Pier job marketplace. Automatically fetches, executes, and reports distributed tasks for rewards.",
6
6
  "type": "module",
7
7
  "main": "dist/index.js",
package/src/inbound.ts CHANGED
@@ -5,32 +5,29 @@
5
5
 
6
6
  import type { InboundMessage } from './types.js';
7
7
  import { truncate } from './job-handler.js';
8
- import type { PierRobot } from './robot.js';
9
8
 
10
- /**
11
- * Handle incoming messages from NATS (Core or JetStream).
12
- * @param ctx The plugin runtime context
13
- * @param inbound The normalized inbound message payload
14
- * @param jobId The associated Job or Group ID
15
- * @param robot The active PierRobot instance
16
- */
17
9
  export async function handleInbound(
18
- ctx: any,
19
- inbound: InboundMessage,
20
- jobId: string,
21
- robot: PierRobot,
22
- plugin: any
10
+ ctx: any, // Gateway Context
11
+ inbound: InboundMessage,
12
+ jobId: string,
13
+ robot: any,
14
+ pierPlugin: any
23
15
  ) {
24
16
  const logger = ctx.log || console;
25
17
  const channelRuntime = ctx.channelRuntime;
18
+
19
+ if (!channelRuntime?.reply) {
20
+ console.error(`[pier-connector][${robot.accountId}] SDK Error: channelRuntime.reply is not available.`);
21
+ return;
22
+ }
26
23
 
27
- // 1. Prepare Scoped Config
28
- // resolveAgentRoute needs bindings in full config to match channel+accountId routing rules.
24
+ // 1. Resolve Account-Scoped Configuration
29
25
  const rootConfig = ctx.cfg || {};
30
26
  const accountScopedCfg = rootConfig;
31
27
 
32
28
  // 2. Resolve Agent Route
33
- const isWorkspace = !!inbound.jobId && inbound.jobId.startsWith('job-');
29
+ // A message is part of a workspace if it has a workspace prefix or is explicitly marked.
30
+ const isWorkspace = !!inbound.jobId && (inbound.jobId.startsWith('job-') || (inbound as any).isWorkspace === true);
34
31
  const peerId = jobId;
35
32
  const chatType = isWorkspace ? 'group' : 'direct';
36
33
 
@@ -64,7 +61,6 @@ export async function handleInbound(
64
61
  if (keys.length > 0) boardIndex = keys.join(", ");
65
62
 
66
63
  // B. Proactively read 'mission.goal' (Long-term Memory)
67
- // This ensures the agent NEVER forgets the objective regardless of chat length.
68
64
  const goalEntry = await kv.get('mission.goal') || await kv.get('goal');
69
65
  if (goalEntry) {
70
66
  missionGoal = new TextDecoder().decode(goalEntry.value);
@@ -93,16 +89,17 @@ export async function handleInbound(
93
89
  isWorkspace ? `CURRENT WORKSPACE ID (groupId): ${jobId}` : "",
94
90
  isWorkspace ? `PRIMARY MISSION GOAL: ${missionGoal}` : "",
95
91
  isWorkspace ? `BOARD INDEX: ${boardIndex}` : "",
96
- isWorkspace ? "-----------------------------------------" : "",
92
+ "-----------------------------------------",
97
93
  isWorkspace ? "SWARM COORDINATION & PM PROTOCOL:" : "",
98
- isWorkspace ? "1. PROJECT MANAGER (PM) ROLE: If you are acting as a lead/PM, use `tasks.[id]` keys to assign sub-tasks and monitor progress. Only the PM should mark tasks as 'VALIDATED'." : "",
99
- isWorkspace ? "2. CONFLICT PROTECTION: In a multi-agent environment, you MUST provide 'expectedRevision' when calling `pier_update_board_item` to prevent overwriting others' work." : "",
100
- isWorkspace ? "3. STATE MACHINE: Use standard statuses: TODO -> DOING -> DONE -> VALIDATED." : "",
94
+ isWorkspace ? "1. The 'PRIMARY MISSION GOAL' is your source of truth and long-term memory. It defines your purpose in this workspace." : "",
95
+ isWorkspace ? "2. PROJECT MANAGER (PM) ROLE: If you are acting as a lead/PM, use `tasks.[id]` keys to assign sub-tasks and monitor progress. Only the PM should mark tasks as 'VALIDATED'." : "",
96
+ isWorkspace ? "3. CONFLICT PROTECTION: In a multi-agent environment, you MUST provide 'expectedRevision' when calling `pier_update_board_item` to prevent overwriting others' work." : "",
101
97
  isWorkspace ? "4. Use the groupId exactly as provided. DO NOT add 'pierWorkspace:' prefixes." : "",
98
+ isWorkspace ? "5. Use `pier_read_board_item` to fetch technical details for any key listed in the BOARD INDEX." : "",
102
99
  "-----------------------------------------",
103
- "5. You MUST USE the `pier_finish_task` tool to submit the final result when the mission objectives are fully met.",
104
- "6. If requirements are unclear, use `pier_chat` to consult the employer.",
105
- "7. Do not remain idle if the goal is clear. Act, update the board, and coordinate."
100
+ "6. You MUST USE the `pier_finish_task` tool to submit the final result when the mission objectives are fully met.",
101
+ "7. If requirements are unclear, use `pier_chat` to consult the employer.",
102
+ "8. Do not remain idle if the goal is clear. Act, update the board, and coordinate."
106
103
  ].filter(Boolean).join('\n');
107
104
  }
108
105
 
@@ -118,20 +115,76 @@ export async function handleInbound(
118
115
  ChatType: chatType as any,
119
116
  SenderId: inbound.senderId,
120
117
  SenderName: inbound.senderId,
121
- WasMentioned: inbound.WasMentioned ?? true,
118
+ WasMentioned: inbound.WasMentioned,
122
119
  InjectedSystemPrompt: injectedPrompt,
123
- Metadata: {
124
- jobId: jobId,
125
- pierJobId: metadata?.pierJobId,
120
+ Metadata: {
121
+ ...metadata,
122
+ accountId: robot.accountId,
123
+ agentId: finalAgentId,
124
+ pierJobId: jobId,
125
+ routingSource: routingSource,
126
126
  workspace: isWorkspace,
127
127
  boardKeys: boardIndex
128
128
  }
129
129
  });
130
130
 
131
- // 4. Dispatch to Agent
131
+ // 4. Create Dispatcher
132
+ const { dispatcher, replyOptions, markDispatchIdle, markRunComplete } = channelRuntime.reply.createReplyDispatcherWithTyping({
133
+ deliver: async (payload: any, info: any) => {
134
+ const currentMeta = robot.activeNodeJobs.get(jobId);
135
+ const resAgent = payload.agentId || finalAgentId;
136
+
137
+ logger.info(`[pier-connector:trace] Outbound delivery for ${jobId}. Responder: ${resAgent}.`);
138
+
139
+ if (payload.text && payload.text.length > 0) {
140
+ await pierPlugin.outbound.sendText({
141
+ text: payload.text,
142
+ to: `pier:${jobId}`,
143
+ accountId: robot.accountId,
144
+ metadata: {
145
+ ...currentMeta,
146
+ accountId: robot.accountId,
147
+ pierJobId: jobId,
148
+ respondingAgentId: resAgent,
149
+ workspace: isWorkspace
150
+ },
151
+ });
152
+ }
153
+ }
154
+ });
155
+
156
+ // 5. Session Recording
157
+ if (channelRuntime.session?.recordSessionMetaFromInbound) {
158
+ try {
159
+ const storePath = channelRuntime.session.resolveStorePath(dynamicSessionKey);
160
+ await channelRuntime.session.recordSessionMetaFromInbound({
161
+ storePath, sessionKey: dynamicSessionKey, ctx: ctxPayload
162
+ });
163
+ } catch (err: any) {
164
+ logger.error(`[pier-connector] ✖ Failed to record session metadata: ${err.message}`);
165
+ }
166
+ }
167
+
168
+ // 6. Dispatch
132
169
  try {
133
- await channelRuntime.reply.dispatchInbound(ctxPayload);
170
+ const { queuedFinal, counts } = await channelRuntime.reply.dispatchReplyFromConfig({
171
+ ctx: ctxPayload,
172
+ cfg: accountScopedCfg,
173
+ dispatcher,
174
+ replyOptions: {
175
+ ...replyOptions,
176
+ onModelSelected: (mCtx: any) => {
177
+ logger.info(`[pier-connector:debug] Model selected for ${jobId}: ${mCtx.provider}/${mCtx.model}`);
178
+ }
179
+ }
180
+ });
181
+
182
+ await dispatcher.waitForIdle();
183
+ logger.info(`[pier-connector] Dispatch complete for ${jobId}. queuedFinal=${queuedFinal}, counts=${JSON.stringify(counts)}`);
134
184
  } catch (err: any) {
135
- logger.error(`[pier-connector] Dispatch failed: ${err.message}`);
185
+ logger.error(`[pier-connector] Dispatch error for job ${jobId}: ${err.message}`);
186
+ } finally {
187
+ markRunComplete?.();
188
+ markDispatchIdle?.();
136
189
  }
137
190
  }
package/src/robot.ts CHANGED
@@ -386,8 +386,9 @@ export class PierRobot {
386
386
  body: injectedBody,
387
387
  jobId: payload.groupId,
388
388
  messageId: payload.id,
389
- WasMentioned: true
390
- }, payload.groupId);
389
+ WasMentioned: isMentioned,
390
+ isWorkspace: true
391
+ } as any, payload.groupId);
391
392
  this.isBusy = false;
392
393
  } else {
393
394
  // Silently observe and update context without triggering LLM