@getplumb/openclaw-plugin 0.1.0 → 0.1.2

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/config.d.ts CHANGED
@@ -9,6 +9,12 @@ export interface PlumbPluginConfig {
9
9
  dbPath?: string;
10
10
  /** If true: retrieve but don't inject (for validation). Default: false. */
11
11
  shadowMode: boolean;
12
+ /** LLM provider for fact extraction: 'openai', 'anthropic', 'ollama', 'openai-compatible'. */
13
+ llmProvider?: string;
14
+ /** LLM model ID for fact extraction. Defaults vary by provider. */
15
+ llmModel?: string;
16
+ /** API key for LLM provider. Overrides env vars when set. */
17
+ llmApiKey?: string;
12
18
  }
13
19
  export declare const DEFAULT_CONFIG: PlumbPluginConfig;
14
20
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,iBAAiB;IAChC,+EAA+E;IAC/E,aAAa,EAAE,MAAM,CAAC;IAEtB,6CAA6C;IAC7C,MAAM,EAAE,MAAM,CAAC;IAEf,oCAAoC;IACpC,OAAO,EAAE,OAAO,CAAC;IAEjB,uFAAuF;IACvF,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,2EAA2E;IAC3E,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,eAAO,MAAM,cAAc,EAAE,iBAK5B,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,iBAAiB;IAChC,+EAA+E;IAC/E,aAAa,EAAE,MAAM,CAAC;IAEtB,6CAA6C;IAC7C,MAAM,EAAE,MAAM,CAAC;IAEf,oCAAoC;IACpC,OAAO,EAAE,OAAO,CAAC;IAEjB,uFAAuF;IACvF,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,2EAA2E;IAC3E,UAAU,EAAE,OAAO,CAAC;IAEpB,8FAA8F;IAC9F,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,mEAAmE;IACnE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,6DAA6D;IAC7D,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,cAAc,EAAE,iBAK5B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAiBA,MAAM,CAAC,MAAM,cAAc,GAAsB;IAC/C,aAAa,EAAE,WAAW;IAC1B,MAAM,EAAE,SAAS;IACjB,OAAO,EAAE,IAAI;IACb,UAAU,EAAE,KAAK;CAClB,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AA0BA,MAAM,CAAC,MAAM,cAAc,GAAsB;IAC/C,aAAa,EAAE,WAAW;IAC1B,MAAM,EAAE,SAAS;IACjB,OAAO,EAAE,IAAI;IACb,UAAU,EAAE,KAAK;CAClB,CAAC"}
@@ -25,7 +25,11 @@ type PluginHookAgentContext = {
25
25
  *
26
26
  * Fire-and-forget pattern: returns void synchronously, ingests in background.
27
27
  * Errors are caught and logged silently to avoid disrupting the agent flow.
28
+ *
29
+ * @param store LocalStore instance for ingestion
30
+ * @param userId User ID for the exchange
31
+ * @param pendingPrompts Shared map containing user prompts stored by pre-response hook
28
32
  */
29
- export declare function createPostExchangeHook(store: LocalStore, userId: string): (event: PluginHookLlmOutputEvent, ctx: PluginHookAgentContext) => void;
33
+ export declare function createPostExchangeHook(store: LocalStore, userId: string, pendingPrompts?: Map<string, string>): (event: PluginHookLlmOutputEvent, ctx: PluginHookAgentContext) => void;
30
34
  export {};
31
35
  //# sourceMappingURL=post-exchange.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"post-exchange.d.ts","sourceRoot":"","sources":["../../src/hooks/post-exchange.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAIjD,KAAK,wBAAwB,GAAG;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,KAAK,CAAC,EAAE;QACN,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;CACH,CAAC;AAEF,KAAK,sBAAsB,GAAG;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,IAC9D,OAAO,wBAAwB,EAAE,KAAK,sBAAsB,KAAG,IAAI,CA4C5E"}
1
+ {"version":3,"file":"post-exchange.d.ts","sourceRoot":"","sources":["../../src/hooks/post-exchange.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAIjD,KAAK,wBAAwB,GAAG;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,KAAK,CAAC,EAAE;QACN,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;CACH,CAAC;AAEF,KAAK,sBAAsB,GAAG;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,UAAU,EACjB,MAAM,EAAE,MAAM,EACd,cAAc,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,IAE5B,OAAO,wBAAwB,EAAE,KAAK,sBAAsB,KAAG,IAAI,CAoD5E"}
@@ -4,15 +4,25 @@ import { appendError } from '../error-logger.js';
4
4
  *
5
5
  * Fire-and-forget pattern: returns void synchronously, ingests in background.
6
6
  * Errors are caught and logged silently to avoid disrupting the agent flow.
7
+ *
8
+ * @param store LocalStore instance for ingestion
9
+ * @param userId User ID for the exchange
10
+ * @param pendingPrompts Shared map containing user prompts stored by pre-response hook
7
11
  */
8
- export function createPostExchangeHook(store, userId) {
12
+ export function createPostExchangeHook(store, userId, pendingPrompts) {
9
13
  return (event, ctx) => {
14
+ const sessionId = ctx.sessionId ?? event.sessionId ?? crypto.randomUUID();
15
+ // Retrieve and clear the user message from shared state
16
+ const userMessage = pendingPrompts?.get(sessionId) ?? '';
17
+ if (pendingPrompts && sessionId) {
18
+ pendingPrompts.delete(sessionId);
19
+ }
10
20
  const exchange = {
11
21
  id: crypto.randomUUID(),
12
22
  userId,
13
- sessionId: ctx.sessionId ?? event.sessionId ?? crypto.randomUUID(),
23
+ sessionId,
14
24
  sessionLabel: ctx.sessionKey,
15
- userMessage: event.prompt ?? '',
25
+ userMessage,
16
26
  agentResponse: event.assistantTexts.join('\n'),
17
27
  timestamp: new Date().toISOString(),
18
28
  source: 'openclaw',
@@ -1 +1 @@
1
- {"version":3,"file":"post-exchange.js","sourceRoot":"","sources":["../../src/hooks/post-exchange.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AA0BjD;;;;;GAKG;AACH,MAAM,UAAU,sBAAsB,CAAC,KAAiB,EAAE,MAAc;IACtE,OAAO,CAAC,KAA+B,EAAE,GAA2B,EAAQ,EAAE;QAC5E,MAAM,QAAQ,GAAG;YACf,EAAE,EAAE,MAAM,CAAC,UAAU,EAAE;YACvB,MAAM;YACN,SAAS,EAAE,GAAG,CAAC,SAAS,IAAI,KAAK,CAAC,SAAS,IAAI,MAAM,CAAC,UAAU,EAAE;YAClE,YAAY,EAAE,GAAG,CAAC,UAAU;YAC5B,WAAW,EAAG,KAAa,CAAC,MAAM,IAAI,EAAE;YACxC,aAAa,EAAE,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC;YAC9C,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,MAAM,EAAE,UAAmB;SAC5B,CAAC;QAEF,iDAAiD;QACjD,CAAC,KAAK,IAAI,EAAE;YACV,IAAI,CAAC;gBACH,MAAM,KAAK,CAAC,MAAM,CAAC;oBACjB,WAAW,EAAE,QAAQ,CAAC,WAAW;oBACjC,aAAa,EAAE,QAAQ,CAAC,aAAa;oBACrC,SAAS,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;oBACvC,MAAM,EAAE,QAAQ,CAAC,MAAM;oBACvB,SAAS,EAAE,QAAQ,CAAC,SAAS;oBAC7B,GAAG,CAAC,QAAQ,CAAC,YAAY,IAAI,EAAE,YAAY,EAAE,QAAQ,CAAC,YAAY,EAAE,CAAC;iBACtE,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,CAAU,EAAE,CAAC;gBACpB,iDAAiD;gBACjD,MAAM,UAAU,GAAG;oBACjB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBACnC,IAAI,EAAE,cAAc;oBACpB,OAAO,EAAE,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;oBACnD,OAAO,EAAE;wBACP,SAAS,EAAE,QAAQ,CAAC,SAAS;wBAC7B,MAAM;wBACN,MAAM,EAAE,QAAQ,CAAC,MAAM;qBACxB;oBACD,GAAG,CAAC,CAAC,YAAY,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC7D,CAAC;gBAEF,WAAW,CAAC,UAAU,CAAC,CAAC;gBAExB,kEAAkE;gBAClE,OAAO,CAAC,KAAK,CAAC,uBAAuB,EAAE,CAAC,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC,CAAC,EAAE,CAAC;IACP,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"post-exchange.js","sourceRoot":"","sources":["../../src/hooks/post-exchange.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AA0BjD;;;;;;;;;GASG;AACH,MAAM,UAAU,sBAAsB,CACpC,KAAiB,EACjB,MAAc,EACd,cAAoC;IAEpC,OAAO,CAAC,KAA+B,EAAE,GAA2B,EAAQ,EAAE;QAC5E,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS,IAAI,KAAK,CAAC,SAAS,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QAE1E,wDAAwD;QACxD,MAAM,WAAW,GAAG,cAAc,EAAE,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QACzD,IAAI,cAAc,IAAI,SAAS,EAAE,CAAC;YAChC,cAAc,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACnC,CAAC;QAED,MAAM,QAAQ,GAAG;YACf,EAAE,EAAE,MAAM,CAAC,UAAU,EAAE;YACvB,MAAM;YACN,SAAS;YACT,YAAY,EAAE,GAAG,CAAC,UAAU;YAC5B,WAAW;YACX,aAAa,EAAE,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC;YAC9C,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,MAAM,EAAE,UAAmB;SAC5B,CAAC;QAEF,iDAAiD;QACjD,CAAC,KAAK,IAAI,EAAE;YACV,IAAI,CAAC;gBACH,MAAM,KAAK,CAAC,MAAM,CAAC;oBACjB,WAAW,EAAE,QAAQ,CAAC,WAAW;oBACjC,aAAa,EAAE,QAAQ,CAAC,aAAa;oBACrC,SAAS,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;oBACvC,MAAM,EAAE,QAAQ,CAAC,MAAM;oBACvB,SAAS,EAAE,QAAQ,CAAC,SAAS;oBAC7B,GAAG,CAAC,QAAQ,CAAC,YAAY,IAAI,EAAE,YAAY,EAAE,QAAQ,CAAC,YAAY,EAAE,CAAC;iBACtE,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,CAAU,EAAE,CAAC;gBACpB,iDAAiD;gBACjD,MAAM,UAAU,GAAG;oBACjB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBACnC,IAAI,EAAE,cAAc;oBACpB,OAAO,EAAE,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;oBACnD,OAAO,EAAE;wBACP,SAAS,EAAE,QAAQ,CAAC,SAAS;wBAC7B,MAAM;wBACN,MAAM,EAAE,QAAQ,CAAC,MAAM;qBACxB;oBACD,GAAG,CAAC,CAAC,YAAY,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC7D,CAAC;gBAEF,WAAW,CAAC,UAAU,CAAC,CAAC;gBAExB,kEAAkE;gBAClE,OAAO,CAAC,KAAK,CAAC,uBAAuB,EAAE,CAAC,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC,CAAC,EAAE,CAAC;IACP,CAAC,CAAC;AACJ,CAAC"}
@@ -24,8 +24,9 @@ type PluginHookAgentContext = {
24
24
  * @param store LocalStore instance for memory retrieval
25
25
  * @param nudgeManager NudgeManager instance for contextual upgrade nudges
26
26
  * @param shadowMode If true, retrieves and logs what would be injected but doesn't actually inject
27
+ * @param pendingPrompts Shared map for storing prompts to be consumed by post-exchange hook
27
28
  * @returns Hook handler for before_prompt_build event
28
29
  */
29
- export declare function createPreResponseHook(store: LocalStore | null, nudgeManager: NudgeManager | null, shadowMode?: boolean): (event: PluginHookBeforePromptBuildEvent, ctx: PluginHookAgentContext) => Promise<PluginHookBeforePromptBuildResult | void>;
30
+ export declare function createPreResponseHook(store: LocalStore | null, nudgeManager: NudgeManager | null, shadowMode?: boolean, pendingPrompts?: Map<string, string>): (event: PluginHookBeforePromptBuildEvent, ctx: PluginHookAgentContext) => Promise<PluginHookBeforePromptBuildResult | void>;
30
31
  export {};
31
32
  //# sourceMappingURL=pre-response.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pre-response.d.ts","sourceRoot":"","sources":["../../src/hooks/pre-response.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAGhD,KAAK,gCAAgC,GAAG;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,OAAO,EAAE,CAAC;CACrB,CAAC;AAEF,KAAK,iCAAiC,GAAG;IACvC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,KAAK,sBAAsB,GAAG;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAIF;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,UAAU,GAAG,IAAI,EACxB,YAAY,EAAE,YAAY,GAAG,IAAI,EACjC,UAAU,UAAQ,IAGhB,OAAO,gCAAgC,EACvC,KAAK,sBAAsB,KAC1B,OAAO,CAAC,iCAAiC,GAAG,IAAI,CAAC,CAgFrD"}
1
+ {"version":3,"file":"pre-response.d.ts","sourceRoot":"","sources":["../../src/hooks/pre-response.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAGhD,KAAK,gCAAgC,GAAG;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,OAAO,EAAE,CAAC;CACrB,CAAC;AAEF,KAAK,iCAAiC,GAAG;IACvC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,KAAK,sBAAsB,GAAG;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAKF;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,UAAU,GAAG,IAAI,EACxB,YAAY,EAAE,YAAY,GAAG,IAAI,EACjC,UAAU,UAAQ,EAClB,cAAc,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,IAGlC,OAAO,gCAAgC,EACvC,KAAK,sBAAsB,KAC1B,OAAO,CAAC,iCAAiC,GAAG,IAAI,CAAC,CA6FrD"}
@@ -1,5 +1,6 @@
1
1
  import { buildMemoryContext, formatContextBlock } from '@getplumb/core';
2
2
  const INJECTION_TIMEOUT_MS = 800;
3
+ const MAX_PENDING_PROMPTS = 1000; // Prevent memory leaks
3
4
  /**
4
5
  * Creates a hook handler that retrieves and injects memory context before each agent response.
5
6
  *
@@ -9,10 +10,23 @@ const INJECTION_TIMEOUT_MS = 800;
9
10
  * @param store LocalStore instance for memory retrieval
10
11
  * @param nudgeManager NudgeManager instance for contextual upgrade nudges
11
12
  * @param shadowMode If true, retrieves and logs what would be injected but doesn't actually inject
13
+ * @param pendingPrompts Shared map for storing prompts to be consumed by post-exchange hook
12
14
  * @returns Hook handler for before_prompt_build event
13
15
  */
14
- export function createPreResponseHook(store, nudgeManager, shadowMode = false) {
16
+ export function createPreResponseHook(store, nudgeManager, shadowMode = false, pendingPrompts) {
15
17
  return async (event, ctx) => {
18
+ // Store the user prompt in shared state for the post-exchange hook
19
+ if (pendingPrompts && ctx.sessionId && event.prompt) {
20
+ // Prevent memory leaks by enforcing a size cap
21
+ if (pendingPrompts.size >= MAX_PENDING_PROMPTS) {
22
+ // Remove the oldest entry (first entry in the map)
23
+ const firstKey = pendingPrompts.keys().next().value;
24
+ if (firstKey) {
25
+ pendingPrompts.delete(firstKey);
26
+ }
27
+ }
28
+ pendingPrompts.set(ctx.sessionId, event.prompt);
29
+ }
16
30
  if (!store) {
17
31
  return;
18
32
  }
@@ -1 +1 @@
1
- {"version":3,"file":"pre-response.js","sourceRoot":"","sources":["../../src/hooks/pre-response.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pre-response.js","sourceRoot":"","sources":["../../src/hooks/pre-response.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-module.d.ts","sourceRoot":"","sources":["../src/plugin-module.ts"],"names":[],"mappings":"AAQA,KAAK,YAAY,GAAG;IAClB,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CAClC,CAAC;AAEF,KAAK,oBAAoB,GAAG;IAC1B,UAAU,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC3D,WAAW,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC5D,mBAAmB,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IACnE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB,CAAC;AAEF,KAAK,iBAAiB,GAAG;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,MAAM,EAAE,YAAY,CAAC;IACrB,EAAE,EAAE,CAAC,CAAC,SAAS,MAAM,oBAAoB,EACvC,QAAQ,EAAE,CAAC,EACX,OAAO,EAAE,oBAAoB,CAAC,CAAC,CAAC,EAChC,IAAI,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,KACzB,IAAI,CAAC;CACX,CAAC;AAEF,KAAK,wBAAwB,GAAG;IAC9B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,iBAAiB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7D,CAAC;AAIF;;;;;GAKG;AACH,eAAO,MAAM,MAAM,EAAE,wBAoCpB,CAAC"}
1
+ {"version":3,"file":"plugin-module.d.ts","sourceRoot":"","sources":["../src/plugin-module.ts"],"names":[],"mappings":"AAQA,KAAK,YAAY,GAAG;IAClB,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CAClC,CAAC;AAEF,KAAK,oBAAoB,GAAG;IAC1B,UAAU,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC3D,WAAW,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC5D,mBAAmB,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IACnE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB,CAAC;AAEF,KAAK,iBAAiB,GAAG;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,MAAM,EAAE,YAAY,CAAC;IACrB,EAAE,EAAE,CAAC,CAAC,SAAS,MAAM,oBAAoB,EACvC,QAAQ,EAAE,CAAC,EACX,OAAO,EAAE,oBAAoB,CAAC,CAAC,CAAC,EAChC,IAAI,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,KACzB,IAAI,CAAC;CACX,CAAC;AAEF,KAAK,wBAAwB,GAAG;IAC9B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,iBAAiB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7D,CAAC;AAIF;;;;;GAKG;AACH,eAAO,MAAM,MAAM,EAAE,wBAyDpB,CAAC"}
@@ -20,13 +20,32 @@ export const plugin = {
20
20
  const dbPath = api.pluginConfig?.dbPath ?? DEFAULT_DB_PATH;
21
21
  const userId = api.pluginConfig?.userId ?? 'default';
22
22
  const shadowMode = api.pluginConfig?.shadowMode ?? false;
23
+ const llmProvider = api.pluginConfig?.llmProvider;
24
+ const llmModel = api.pluginConfig?.llmModel;
25
+ const llmApiKey = api.pluginConfig?.llmApiKey;
26
+ // Build llmConfig from pluginConfig if any LLM values are provided.
27
+ // Passed directly to LocalStore so no process.env mutation is needed.
28
+ const llmConfig = (llmProvider ?? llmModel ?? llmApiKey)
29
+ ? {
30
+ ...(llmProvider !== undefined && { provider: llmProvider }),
31
+ ...(llmModel !== undefined && { model: llmModel }),
32
+ ...(llmApiKey !== undefined && { apiKey: llmApiKey }),
33
+ }
34
+ : undefined;
23
35
  api.logger.info(`[plumb] Activating with dbPath=${dbPath}, userId=${userId}, shadowMode=${shadowMode}`);
24
- const store = new LocalStore({ dbPath, userId });
36
+ const store = new LocalStore({
37
+ dbPath,
38
+ userId,
39
+ ...(llmConfig !== undefined && { llmConfig }),
40
+ });
25
41
  const nudgeManager = new NudgeManager();
42
+ // Shared state map for threading user prompts from before_prompt_build to llm_output
43
+ // Key: sessionId, Value: user message prompt
44
+ const pendingPrompts = new Map();
26
45
  // Register the llm_output hook for auto-ingest
27
- api.on('llm_output', createPostExchangeHook(store, userId));
46
+ api.on('llm_output', createPostExchangeHook(store, userId, pendingPrompts));
28
47
  // Register the before_prompt_build hook for memory injection
29
- api.on('before_prompt_build', createPreResponseHook(store, nudgeManager, shadowMode));
48
+ api.on('before_prompt_build', createPreResponseHook(store, nudgeManager, shadowMode, pendingPrompts));
30
49
  // Clean up on session end
31
50
  api.on('session_end', async () => {
32
51
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-module.js","sourceRoot":"","sources":["../src/plugin-module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAqC1C,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;AAE/D;;;;;GAKG;AACH,MAAM,CAAC,MAAM,MAAM,GAA6B;IAC9C,EAAE,EAAE,OAAO;IACX,IAAI,EAAE,cAAc;IACpB,OAAO,EAAE,OAAO;IAChB,IAAI,EAAE,QAAQ;IAEd,KAAK,CAAC,QAAQ,CAAC,GAAsB;QACnC,MAAM,MAAM,GAAI,GAAG,CAAC,YAAY,EAAE,MAA6B,IAAI,eAAe,CAAC;QACnF,MAAM,MAAM,GAAI,GAAG,CAAC,YAAY,EAAE,MAA6B,IAAI,SAAS,CAAC;QAC7E,MAAM,UAAU,GAAI,GAAG,CAAC,YAAY,EAAE,UAAkC,IAAI,KAAK,CAAC;QAElF,GAAG,CAAC,MAAM,CAAC,IAAI,CACb,kCAAkC,MAAM,YAAY,MAAM,gBAAgB,UAAU,EAAE,CACvF,CAAC;QAEF,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QACjD,MAAM,YAAY,GAAG,IAAI,YAAY,EAAE,CAAC;QAExC,+CAA+C;QAC/C,GAAG,CAAC,EAAE,CAAC,YAAY,EAAE,sBAAsB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;QAE5D,6DAA6D;QAC7D,GAAG,CAAC,EAAE,CAAC,qBAAqB,EAAE,qBAAqB,CAAC,KAAK,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC,CAAC;QAEtF,0BAA0B;QAC1B,GAAG,CAAC,EAAE,CAAC,aAAa,EAAE,KAAK,IAAI,EAAE;YAC/B,IAAI,CAAC;gBACH,KAAK,CAAC,KAAK,EAAE,CAAC;gBACd,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,qCAAqC,CAAC,CAAC;YAC5D,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,gCAAgC,CAAC,EAAE,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;IAC9C,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"plugin-module.js","sourceRoot":"","sources":["../src/plugin-module.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@getplumb/openclaw-plugin",
3
- "version": "0.1.0",
3
+ "version": "0.1.2",
4
4
  "description": "Plumb OpenClaw plugin — auto-ingest and memory injection for OpenClaw",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -20,9 +20,19 @@
20
20
  "types": "./dist/index.d.ts"
21
21
  }
22
22
  },
23
+ "openclaw": {
24
+ "extensions": ["./dist/index.js"]
25
+ },
26
+ "scripts": {
27
+ "build": "tsc",
28
+ "prepublishOnly": "pnpm build",
29
+ "test": "vitest run",
30
+ "lint": "echo \"No lint yet\" && exit 0",
31
+ "clean": "rm -rf dist *.tsbuildinfo"
32
+ },
23
33
  "dependencies": {
24
34
  "@modelcontextprotocol/sdk": "^1.27.1",
25
- "@getplumb/core": "0.1.0"
35
+ "@getplumb/core": "^0.1.1"
26
36
  },
27
37
  "devDependencies": {
28
38
  "@types/better-sqlite3": "^7.6.13",
@@ -30,11 +40,5 @@
30
40
  "openclaw": "^2026.3.2",
31
41
  "typescript": "^5.4.0",
32
42
  "vitest": "^4.0.18"
33
- },
34
- "scripts": {
35
- "build": "tsc",
36
- "test": "vitest run",
37
- "lint": "echo \"No lint yet\" && exit 0",
38
- "clean": "rm -rf dist *.tsbuildinfo"
39
43
  }
40
- }
44
+ }