@questionbase/deskfree 0.1.0
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/README.md +129 -0
- package/dist/channel.d.ts +3 -0
- package/dist/channel.d.ts.map +1 -0
- package/dist/channel.js +503 -0
- package/dist/channel.js.map +1 -0
- package/dist/client.d.ts +148 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +255 -0
- package/dist/client.js.map +1 -0
- package/dist/deliver.d.ts +22 -0
- package/dist/deliver.d.ts.map +1 -0
- package/dist/deliver.js +350 -0
- package/dist/deliver.js.map +1 -0
- package/dist/gateway.d.ts +13 -0
- package/dist/gateway.d.ts.map +1 -0
- package/dist/gateway.js +687 -0
- package/dist/gateway.js.map +1 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +19 -0
- package/dist/index.js.map +1 -0
- package/dist/llm-definitions.d.ts +116 -0
- package/dist/llm-definitions.d.ts.map +1 -0
- package/dist/llm-definitions.js +148 -0
- package/dist/llm-definitions.js.map +1 -0
- package/dist/offline-queue.d.ts +45 -0
- package/dist/offline-queue.d.ts.map +1 -0
- package/dist/offline-queue.js +109 -0
- package/dist/offline-queue.js.map +1 -0
- package/dist/paths.d.ts +10 -0
- package/dist/paths.d.ts.map +1 -0
- package/dist/paths.js +29 -0
- package/dist/paths.js.map +1 -0
- package/dist/runtime.d.ts +17 -0
- package/dist/runtime.d.ts.map +1 -0
- package/dist/runtime.js +24 -0
- package/dist/runtime.js.map +1 -0
- package/dist/tools.d.ts +35 -0
- package/dist/tools.d.ts.map +1 -0
- package/dist/tools.js +527 -0
- package/dist/tools.js.map +1 -0
- package/dist/types.d.ts +389 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/dist/workspace.d.ts +18 -0
- package/dist/workspace.d.ts.map +1 -0
- package/dist/workspace.js +83 -0
- package/dist/workspace.js.map +1 -0
- package/openclaw.plugin.json +8 -0
- package/package.json +63 -0
- package/skills/deskfree/SKILL.md +271 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gateway.js","sourceRoot":"","sources":["../src/gateway.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { OpenClawPluginApi } from './types';
|
|
2
|
+
export { DeskFreeClient, DeskFreeError } from './client';
|
|
3
|
+
export { OfflineQueue } from './offline-queue';
|
|
4
|
+
export type * from './types';
|
|
5
|
+
declare const plugin: {
|
|
6
|
+
id: string;
|
|
7
|
+
name: string;
|
|
8
|
+
register(api: OpenClawPluginApi): void;
|
|
9
|
+
};
|
|
10
|
+
export default plugin;
|
|
11
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAGjD,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,mBAAmB,SAAS,CAAC;AAE7B,QAAA,MAAM,MAAM;;;kBAII,iBAAiB;CAOhC,CAAC;AAEF,eAAe,MAAM,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { deskFreePlugin } from './channel';
|
|
2
|
+
import { setDeskFreeRuntime } from './runtime';
|
|
3
|
+
import { createDeskFreeTools } from './tools';
|
|
4
|
+
// Export useful types and classes for external usage
|
|
5
|
+
export { DeskFreeClient, DeskFreeError } from './client';
|
|
6
|
+
export { OfflineQueue } from './offline-queue';
|
|
7
|
+
const plugin = {
|
|
8
|
+
id: 'deskfree',
|
|
9
|
+
name: 'DeskFree',
|
|
10
|
+
register(api) {
|
|
11
|
+
setDeskFreeRuntime(api.runtime);
|
|
12
|
+
api.registerChannel({ plugin: deskFreePlugin });
|
|
13
|
+
api.registerTool(() => {
|
|
14
|
+
return createDeskFreeTools(api);
|
|
15
|
+
});
|
|
16
|
+
},
|
|
17
|
+
};
|
|
18
|
+
export default plugin;
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAG9C,qDAAqD;AACrD,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAG/C,MAAM,MAAM,GAAG;IACb,EAAE,EAAE,UAAU;IACd,IAAI,EAAE,UAAU;IAEhB,QAAQ,CAAC,GAAsB;QAC7B,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAChC,GAAG,CAAC,eAAe,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC;QAChD,GAAG,CAAC,YAAY,CAAC,GAAG,EAAE;YACpB,OAAO,mBAAmB,CAAC,GAAG,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;IACL,CAAC;CACF,CAAC;AAEF,eAAe,MAAM,CAAC"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
export declare const TOOLS: {
|
|
2
|
+
readonly GET_TASK: {
|
|
3
|
+
readonly name: "deskfree_get_task";
|
|
4
|
+
readonly description: "Fetch task by ID. Returns complete task context including instructions, deliverable, status, and message history. This is typically the first action a sub-agent takes to get full task context.";
|
|
5
|
+
readonly parameters: import("@sinclair/typebox").TObject<{
|
|
6
|
+
taskId: import("@sinclair/typebox").TString;
|
|
7
|
+
}>;
|
|
8
|
+
};
|
|
9
|
+
readonly CLAIM_TASK: {
|
|
10
|
+
readonly name: "deskfree_claim_task";
|
|
11
|
+
readonly description: "Claim a ready_for_bot task and move it to working_on_it status. Used by main session before spawning a sub-agent.";
|
|
12
|
+
readonly parameters: import("@sinclair/typebox").TObject<{
|
|
13
|
+
taskId: import("@sinclair/typebox").TString;
|
|
14
|
+
}>;
|
|
15
|
+
};
|
|
16
|
+
readonly RELEASE_TASK: {
|
|
17
|
+
readonly name: "deskfree_release_task";
|
|
18
|
+
readonly description: "Release a task back to ready_for_bot status. Used for failure recovery when a sub-agent crashes or needs to give up.";
|
|
19
|
+
readonly parameters: import("@sinclair/typebox").TObject<{
|
|
20
|
+
taskId: import("@sinclair/typebox").TString;
|
|
21
|
+
}>;
|
|
22
|
+
};
|
|
23
|
+
readonly SEND_MESSAGE: {
|
|
24
|
+
readonly name: "deskfree_send_message";
|
|
25
|
+
readonly description: "Send a message in the task thread (status update, question, progress report, etc). Maps to the existing messages.send API.";
|
|
26
|
+
readonly parameters: import("@sinclair/typebox").TObject<{
|
|
27
|
+
content: import("@sinclair/typebox").TString;
|
|
28
|
+
taskId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
29
|
+
}>;
|
|
30
|
+
};
|
|
31
|
+
readonly UPDATE_DELIVERABLE: {
|
|
32
|
+
readonly name: "deskfree_update_deliverable";
|
|
33
|
+
readonly description: "Update the task's deliverable markdown. Sub-agents should build up deliverables incrementally as they work.";
|
|
34
|
+
readonly parameters: import("@sinclair/typebox").TObject<{
|
|
35
|
+
taskId: import("@sinclair/typebox").TString;
|
|
36
|
+
deliverable: import("@sinclair/typebox").TString;
|
|
37
|
+
}>;
|
|
38
|
+
};
|
|
39
|
+
readonly REQUEST_REVIEW: {
|
|
40
|
+
readonly name: "deskfree_request_review";
|
|
41
|
+
readonly description: "Signal the human to review this task. Moves task to waiting_for_human status. Sub-agent should terminate after calling this. Replaces deskfree_done and deskfree_giveup.";
|
|
42
|
+
readonly parameters: import("@sinclair/typebox").TObject<{
|
|
43
|
+
taskId: import("@sinclair/typebox").TString;
|
|
44
|
+
comment: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
45
|
+
}>;
|
|
46
|
+
};
|
|
47
|
+
readonly LIST_TASKS: {
|
|
48
|
+
readonly name: "deskfree_list_tasks";
|
|
49
|
+
readonly description: "List all tasks in DeskFree, ordered by most recently updated.";
|
|
50
|
+
readonly parameters: import("@sinclair/typebox").TObject<{
|
|
51
|
+
status: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
52
|
+
}>;
|
|
53
|
+
};
|
|
54
|
+
readonly CREATE_TASK: {
|
|
55
|
+
readonly name: "deskfree_create_task";
|
|
56
|
+
readonly description: "Create a new task in DeskFree. The task starts in ready_for_bot status. Can be made recurring with a schedule.";
|
|
57
|
+
readonly parameters: import("@sinclair/typebox").TObject<{
|
|
58
|
+
title: import("@sinclair/typebox").TString;
|
|
59
|
+
instructions: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
60
|
+
isRecurring: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
|
|
61
|
+
recurringSchedule: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
|
|
62
|
+
frequency: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"daily">, import("@sinclair/typebox").TLiteral<"weekly">, import("@sinclair/typebox").TLiteral<"biweekly">, import("@sinclair/typebox").TLiteral<"monthly">]>;
|
|
63
|
+
dayOfWeek: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
|
|
64
|
+
dayOfMonth: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
|
|
65
|
+
time: import("@sinclair/typebox").TString;
|
|
66
|
+
timezone: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
67
|
+
}>>;
|
|
68
|
+
}>;
|
|
69
|
+
};
|
|
70
|
+
readonly SNOOZE_TASK: {
|
|
71
|
+
readonly name: "deskfree_snooze_task";
|
|
72
|
+
readonly description: "Snooze a task until a future time. The task keeps its status but is hidden from active views until the snooze expires. Both humans and bots can snooze tasks.";
|
|
73
|
+
readonly parameters: import("@sinclair/typebox").TObject<{
|
|
74
|
+
taskId: import("@sinclair/typebox").TString;
|
|
75
|
+
snoozedUntil: import("@sinclair/typebox").TString;
|
|
76
|
+
}>;
|
|
77
|
+
};
|
|
78
|
+
readonly UNSNOOZE_TASK: {
|
|
79
|
+
readonly name: "deskfree_unsnooze_task";
|
|
80
|
+
readonly description: "Unsnooze a task immediately, making it visible again in active views.";
|
|
81
|
+
readonly parameters: import("@sinclair/typebox").TObject<{
|
|
82
|
+
taskId: import("@sinclair/typebox").TString;
|
|
83
|
+
}>;
|
|
84
|
+
};
|
|
85
|
+
readonly SETUP: {
|
|
86
|
+
readonly name: "deskfree_setup";
|
|
87
|
+
readonly description: "Run after installing DeskFree plugin. Returns a short AGENTS.md directive that tells the agent to always read the deskfree skill. The agent should check if AGENTS.md contains this block and add it if missing.";
|
|
88
|
+
readonly parameters: import("@sinclair/typebox").TObject<{}>;
|
|
89
|
+
};
|
|
90
|
+
};
|
|
91
|
+
export declare const CHANNEL_META: {
|
|
92
|
+
readonly name: "DeskFree";
|
|
93
|
+
readonly description: "1:1 messaging channel for DeskFree bots";
|
|
94
|
+
};
|
|
95
|
+
export declare const CHANNEL_HINTS: {
|
|
96
|
+
readonly targetResolver: "Use a DeskFree ID (e.g. U9QF3C6X1A)";
|
|
97
|
+
readonly onboardingSelection: "Connect to a DeskFree instance for 1:1 bot messaging";
|
|
98
|
+
};
|
|
99
|
+
export declare const STATUS_MESSAGES: {
|
|
100
|
+
readonly probeNotConfigured: "Account not configured";
|
|
101
|
+
readonly notConfigured: {
|
|
102
|
+
readonly message: "Account is not configured";
|
|
103
|
+
readonly fix: "Run onboarding to set bot token and API URL";
|
|
104
|
+
};
|
|
105
|
+
readonly disabled: {
|
|
106
|
+
readonly message: "Account is disabled";
|
|
107
|
+
readonly fix: "Set enabled: true in config";
|
|
108
|
+
};
|
|
109
|
+
readonly notRunning: {
|
|
110
|
+
readonly message: "Gateway is not running";
|
|
111
|
+
};
|
|
112
|
+
readonly probeFailed: {
|
|
113
|
+
readonly fix: "Check bot token and API URL";
|
|
114
|
+
};
|
|
115
|
+
};
|
|
116
|
+
//# sourceMappingURL=llm-definitions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"llm-definitions.d.ts","sourceRoot":"","sources":["../src/llm-definitions.ts"],"names":[],"mappings":"AAcA,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmJR,CAAC;AAIX,eAAO,MAAM,YAAY;;;CAGf,CAAC;AAEX,eAAO,MAAM,aAAa;;;CAGhB,CAAC;AAEX,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;CAgBlB,CAAC"}
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* LLM-Facing Definitions — single source of truth.
|
|
3
|
+
*
|
|
4
|
+
* Every string an LLM sees (tool names, descriptions, parameter descriptions,
|
|
5
|
+
* channel metadata, hints, status messages) lives here.
|
|
6
|
+
*
|
|
7
|
+
* Also see: skills/deskfree/SKILL.md (must stay there for plugin system)
|
|
8
|
+
*/
|
|
9
|
+
import { Type } from '@sinclair/typebox';
|
|
10
|
+
// ─── Tools ────────────────────────────────────────────────────
|
|
11
|
+
// Each tool = { name, description, parameters (TypeBox schema) }
|
|
12
|
+
// tools.ts spreads these and adds only the execute handler.
|
|
13
|
+
export const TOOLS = {
|
|
14
|
+
GET_TASK: {
|
|
15
|
+
name: 'deskfree_get_task',
|
|
16
|
+
description: 'Fetch task by ID. Returns complete task context including instructions, deliverable, status, and message history. This is typically the first action a sub-agent takes to get full task context.',
|
|
17
|
+
parameters: Type.Object({
|
|
18
|
+
taskId: Type.String({ description: 'Task UUID to fetch' }),
|
|
19
|
+
}),
|
|
20
|
+
},
|
|
21
|
+
CLAIM_TASK: {
|
|
22
|
+
name: 'deskfree_claim_task',
|
|
23
|
+
description: 'Claim a ready_for_bot task and move it to working_on_it status. Used by main session before spawning a sub-agent.',
|
|
24
|
+
parameters: Type.Object({
|
|
25
|
+
taskId: Type.String({ description: 'Task UUID to claim' }),
|
|
26
|
+
}),
|
|
27
|
+
},
|
|
28
|
+
RELEASE_TASK: {
|
|
29
|
+
name: 'deskfree_release_task',
|
|
30
|
+
description: 'Release a task back to ready_for_bot status. Used for failure recovery when a sub-agent crashes or needs to give up.',
|
|
31
|
+
parameters: Type.Object({
|
|
32
|
+
taskId: Type.String({ description: 'Task UUID to release' }),
|
|
33
|
+
}),
|
|
34
|
+
},
|
|
35
|
+
SEND_MESSAGE: {
|
|
36
|
+
name: 'deskfree_send_message',
|
|
37
|
+
description: 'Send a message in the task thread (status update, question, progress report, etc). Maps to the existing messages.send API.',
|
|
38
|
+
parameters: Type.Object({
|
|
39
|
+
content: Type.String({ description: 'Message content' }),
|
|
40
|
+
taskId: Type.Optional(Type.String({
|
|
41
|
+
description: 'Task UUID (optional if context provides it)',
|
|
42
|
+
})),
|
|
43
|
+
}),
|
|
44
|
+
},
|
|
45
|
+
UPDATE_DELIVERABLE: {
|
|
46
|
+
name: 'deskfree_update_deliverable',
|
|
47
|
+
description: "Update the task's deliverable markdown. Sub-agents should build up deliverables incrementally as they work.",
|
|
48
|
+
parameters: Type.Object({
|
|
49
|
+
taskId: Type.String({ description: 'Task UUID' }),
|
|
50
|
+
deliverable: Type.String({ description: 'Markdown deliverable content' }),
|
|
51
|
+
}),
|
|
52
|
+
},
|
|
53
|
+
REQUEST_REVIEW: {
|
|
54
|
+
name: 'deskfree_request_review',
|
|
55
|
+
description: 'Signal the human to review this task. Moves task to waiting_for_human status. Sub-agent should terminate after calling this. Replaces deskfree_done and deskfree_giveup.',
|
|
56
|
+
parameters: Type.Object({
|
|
57
|
+
taskId: Type.String({ description: 'Task UUID' }),
|
|
58
|
+
comment: Type.Optional(Type.String({ description: 'Optional comment for the human reviewer' })),
|
|
59
|
+
}),
|
|
60
|
+
},
|
|
61
|
+
LIST_TASKS: {
|
|
62
|
+
name: 'deskfree_list_tasks',
|
|
63
|
+
description: 'List all tasks in DeskFree, ordered by most recently updated.',
|
|
64
|
+
parameters: Type.Object({
|
|
65
|
+
status: Type.Optional(Type.String({
|
|
66
|
+
description: 'Filter by status: ready_for_bot, working_on_it, waiting_for_human, done',
|
|
67
|
+
})),
|
|
68
|
+
}),
|
|
69
|
+
},
|
|
70
|
+
CREATE_TASK: {
|
|
71
|
+
name: 'deskfree_create_task',
|
|
72
|
+
description: 'Create a new task in DeskFree. The task starts in ready_for_bot status. Can be made recurring with a schedule.',
|
|
73
|
+
parameters: Type.Object({
|
|
74
|
+
title: Type.String({ description: 'Task title (max 200 chars)' }),
|
|
75
|
+
instructions: Type.Optional(Type.String({ description: 'Detailed instructions for the task' })),
|
|
76
|
+
isRecurring: Type.Optional(Type.Boolean({ description: 'Whether this task recurs on a schedule' })),
|
|
77
|
+
recurringSchedule: Type.Optional(Type.Object({
|
|
78
|
+
frequency: Type.Union([
|
|
79
|
+
Type.Literal('daily'),
|
|
80
|
+
Type.Literal('weekly'),
|
|
81
|
+
Type.Literal('biweekly'),
|
|
82
|
+
Type.Literal('monthly'),
|
|
83
|
+
], { description: 'How often the task recurs' }),
|
|
84
|
+
dayOfWeek: Type.Optional(Type.Number({
|
|
85
|
+
description: '0=Sun, 1=Mon, ..., 6=Sat (for weekly/biweekly)',
|
|
86
|
+
})),
|
|
87
|
+
dayOfMonth: Type.Optional(Type.Number({ description: '1-31 (for monthly)' })),
|
|
88
|
+
time: Type.String({
|
|
89
|
+
description: 'Time in HH:mm format (e.g., "09:00")',
|
|
90
|
+
}),
|
|
91
|
+
timezone: Type.Optional(Type.String({
|
|
92
|
+
description: 'IANA timezone (e.g., "America/New_York"). Defaults to UTC.',
|
|
93
|
+
})),
|
|
94
|
+
}, {
|
|
95
|
+
description: 'Schedule for recurring tasks. Required if isRecurring is true.',
|
|
96
|
+
})),
|
|
97
|
+
}),
|
|
98
|
+
},
|
|
99
|
+
SNOOZE_TASK: {
|
|
100
|
+
name: 'deskfree_snooze_task',
|
|
101
|
+
description: 'Snooze a task until a future time. The task keeps its status but is hidden from active views until the snooze expires. Both humans and bots can snooze tasks.',
|
|
102
|
+
parameters: Type.Object({
|
|
103
|
+
taskId: Type.String({ description: 'Task UUID to snooze' }),
|
|
104
|
+
snoozedUntil: Type.String({
|
|
105
|
+
description: 'ISO 8601 timestamp for when the task should reappear (e.g., "2026-02-16T09:00:00-05:00")',
|
|
106
|
+
}),
|
|
107
|
+
}),
|
|
108
|
+
},
|
|
109
|
+
UNSNOOZE_TASK: {
|
|
110
|
+
name: 'deskfree_unsnooze_task',
|
|
111
|
+
description: 'Unsnooze a task immediately, making it visible again in active views.',
|
|
112
|
+
parameters: Type.Object({
|
|
113
|
+
taskId: Type.String({ description: 'Task UUID to unsnooze' }),
|
|
114
|
+
}),
|
|
115
|
+
},
|
|
116
|
+
SETUP: {
|
|
117
|
+
name: 'deskfree_setup',
|
|
118
|
+
description: 'Run after installing DeskFree plugin. Returns a short AGENTS.md directive that tells the agent to always read the deskfree skill. The agent should check if AGENTS.md contains this block and add it if missing.',
|
|
119
|
+
parameters: Type.Object({}),
|
|
120
|
+
},
|
|
121
|
+
};
|
|
122
|
+
// ─── Channel ──────────────────────────────────────────────────
|
|
123
|
+
export const CHANNEL_META = {
|
|
124
|
+
name: 'DeskFree',
|
|
125
|
+
description: '1:1 messaging channel for DeskFree bots',
|
|
126
|
+
};
|
|
127
|
+
export const CHANNEL_HINTS = {
|
|
128
|
+
targetResolver: 'Use a DeskFree ID (e.g. U9QF3C6X1A)',
|
|
129
|
+
onboardingSelection: 'Connect to a DeskFree instance for 1:1 bot messaging',
|
|
130
|
+
};
|
|
131
|
+
export const STATUS_MESSAGES = {
|
|
132
|
+
probeNotConfigured: 'Account not configured',
|
|
133
|
+
notConfigured: {
|
|
134
|
+
message: 'Account is not configured',
|
|
135
|
+
fix: 'Run onboarding to set bot token and API URL',
|
|
136
|
+
},
|
|
137
|
+
disabled: {
|
|
138
|
+
message: 'Account is disabled',
|
|
139
|
+
fix: 'Set enabled: true in config',
|
|
140
|
+
},
|
|
141
|
+
notRunning: {
|
|
142
|
+
message: 'Gateway is not running',
|
|
143
|
+
},
|
|
144
|
+
probeFailed: {
|
|
145
|
+
fix: 'Check bot token and API URL',
|
|
146
|
+
},
|
|
147
|
+
};
|
|
148
|
+
//# sourceMappingURL=llm-definitions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"llm-definitions.js","sourceRoot":"","sources":["../src/llm-definitions.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Offline queue for failed API requests.
|
|
3
|
+
*
|
|
4
|
+
* When the DeskFree API is unreachable (network errors, timeouts),
|
|
5
|
+
* outbound requests are queued in memory and retried with exponential
|
|
6
|
+
* backoff when connectivity is restored.
|
|
7
|
+
*/
|
|
8
|
+
import type { PluginLogger } from './types';
|
|
9
|
+
/** A queued request that can be retried. */
|
|
10
|
+
export interface QueuedRequest {
|
|
11
|
+
id: string;
|
|
12
|
+
/** Human-readable description for logging. */
|
|
13
|
+
label: string;
|
|
14
|
+
/** The function to execute. Must be idempotent for safe retries. */
|
|
15
|
+
execute: () => Promise<void>;
|
|
16
|
+
/** Number of retry attempts so far. */
|
|
17
|
+
attempts: number;
|
|
18
|
+
/** Timestamp when the request was first queued. */
|
|
19
|
+
queuedAt: number;
|
|
20
|
+
}
|
|
21
|
+
export declare class OfflineQueue {
|
|
22
|
+
private queue;
|
|
23
|
+
private processing;
|
|
24
|
+
private retryTimer;
|
|
25
|
+
private log;
|
|
26
|
+
constructor(log: PluginLogger);
|
|
27
|
+
/** Number of requests currently queued. */
|
|
28
|
+
get size(): number;
|
|
29
|
+
/**
|
|
30
|
+
* Enqueue a failed request for later retry.
|
|
31
|
+
* Returns false if the queue is full.
|
|
32
|
+
*/
|
|
33
|
+
enqueue(request: Omit<QueuedRequest, 'attempts' | 'queuedAt'>): boolean;
|
|
34
|
+
/**
|
|
35
|
+
* Attempt to flush all queued requests.
|
|
36
|
+
* Called when connectivity is restored (e.g., WebSocket reconnect).
|
|
37
|
+
*/
|
|
38
|
+
flush(): Promise<void>;
|
|
39
|
+
/** Clear all queued requests. */
|
|
40
|
+
clear(): void;
|
|
41
|
+
/** Stop the retry timer (for cleanup). */
|
|
42
|
+
destroy(): void;
|
|
43
|
+
private scheduleRetry;
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=offline-queue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"offline-queue.d.ts","sourceRoot":"","sources":["../src/offline-queue.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE5C,4CAA4C;AAC5C,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,8CAA8C;IAC9C,KAAK,EAAE,MAAM,CAAC;IACd,oEAAoE;IACpE,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,uCAAuC;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,mDAAmD;IACnD,QAAQ,EAAE,MAAM,CAAC;CAClB;AAiBD,qBAAa,YAAY;IACvB,OAAO,CAAC,KAAK,CAAuB;IACpC,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,UAAU,CAA8C;IAChE,OAAO,CAAC,GAAG,CAAe;gBAEd,GAAG,EAAE,YAAY;IAI7B,2CAA2C;IAC3C,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED;;;OAGG;IACH,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,UAAU,GAAG,UAAU,CAAC,GAAG,OAAO;IAsBvE;;;OAGG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA8C5B,iCAAiC;IACjC,KAAK,IAAI,IAAI;IAYb,0CAA0C;IAC1C,OAAO,IAAI,IAAI;IAIf,OAAO,CAAC,aAAa;CAYtB"}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
/** Maximum number of queued requests to prevent unbounded memory growth. */
|
|
2
|
+
const MAX_QUEUE_SIZE = 100;
|
|
3
|
+
/** Maximum retry attempts before dropping a request. */
|
|
4
|
+
const MAX_RETRIES = 5;
|
|
5
|
+
/** Base delay for exponential backoff (ms). */
|
|
6
|
+
const BASE_DELAY_MS = 2_000;
|
|
7
|
+
/** Maximum delay between retries (ms). */
|
|
8
|
+
const MAX_DELAY_MS = 60_000;
|
|
9
|
+
/** Maximum age of a queued request before it's dropped (5 minutes). */
|
|
10
|
+
const MAX_AGE_MS = 5 * 60 * 1000;
|
|
11
|
+
export class OfflineQueue {
|
|
12
|
+
queue = [];
|
|
13
|
+
processing = false;
|
|
14
|
+
retryTimer = null;
|
|
15
|
+
log;
|
|
16
|
+
constructor(log) {
|
|
17
|
+
this.log = log;
|
|
18
|
+
}
|
|
19
|
+
/** Number of requests currently queued. */
|
|
20
|
+
get size() {
|
|
21
|
+
return this.queue.length;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Enqueue a failed request for later retry.
|
|
25
|
+
* Returns false if the queue is full.
|
|
26
|
+
*/
|
|
27
|
+
enqueue(request) {
|
|
28
|
+
if (this.queue.length >= MAX_QUEUE_SIZE) {
|
|
29
|
+
this.log.warn(`Offline queue full (${MAX_QUEUE_SIZE}), dropping request: ${request.label}`);
|
|
30
|
+
return false;
|
|
31
|
+
}
|
|
32
|
+
this.queue.push({
|
|
33
|
+
...request,
|
|
34
|
+
attempts: 0,
|
|
35
|
+
queuedAt: Date.now(),
|
|
36
|
+
});
|
|
37
|
+
this.log.info(`Queued request for retry: ${request.label} (queue size: ${this.queue.length})`);
|
|
38
|
+
this.scheduleRetry();
|
|
39
|
+
return true;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Attempt to flush all queued requests.
|
|
43
|
+
* Called when connectivity is restored (e.g., WebSocket reconnect).
|
|
44
|
+
*/
|
|
45
|
+
async flush() {
|
|
46
|
+
if (this.processing || this.queue.length === 0)
|
|
47
|
+
return;
|
|
48
|
+
this.processing = true;
|
|
49
|
+
this.log.info(`Flushing offline queue (${this.queue.length} requests)`);
|
|
50
|
+
// Process a snapshot — new items added during flush will be picked up next time
|
|
51
|
+
const batch = [...this.queue];
|
|
52
|
+
this.queue = [];
|
|
53
|
+
for (const request of batch) {
|
|
54
|
+
// Drop stale requests
|
|
55
|
+
if (Date.now() - request.queuedAt > MAX_AGE_MS) {
|
|
56
|
+
this.log.warn(`Dropping stale request: ${request.label} (queued ${Math.round((Date.now() - request.queuedAt) / 1000)}s ago)`);
|
|
57
|
+
continue;
|
|
58
|
+
}
|
|
59
|
+
try {
|
|
60
|
+
await request.execute();
|
|
61
|
+
this.log.info(`Retry succeeded: ${request.label}`);
|
|
62
|
+
}
|
|
63
|
+
catch (_error) {
|
|
64
|
+
request.attempts++;
|
|
65
|
+
if (request.attempts >= MAX_RETRIES) {
|
|
66
|
+
this.log.warn(`Dropping request after ${MAX_RETRIES} retries: ${request.label}`);
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
// Re-queue for another attempt
|
|
70
|
+
this.queue.push(request);
|
|
71
|
+
this.log.info(`Retry failed (attempt ${request.attempts}/${MAX_RETRIES}): ${request.label}`);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
this.processing = false;
|
|
76
|
+
// If there are still items, schedule another retry
|
|
77
|
+
if (this.queue.length > 0) {
|
|
78
|
+
this.scheduleRetry();
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
/** Clear all queued requests. */
|
|
82
|
+
clear() {
|
|
83
|
+
const count = this.queue.length;
|
|
84
|
+
this.queue = [];
|
|
85
|
+
if (this.retryTimer) {
|
|
86
|
+
clearTimeout(this.retryTimer);
|
|
87
|
+
this.retryTimer = null;
|
|
88
|
+
}
|
|
89
|
+
if (count > 0) {
|
|
90
|
+
this.log.info(`Cleared ${count} queued requests`);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
/** Stop the retry timer (for cleanup). */
|
|
94
|
+
destroy() {
|
|
95
|
+
this.clear();
|
|
96
|
+
}
|
|
97
|
+
scheduleRetry() {
|
|
98
|
+
if (this.retryTimer)
|
|
99
|
+
return; // Already scheduled
|
|
100
|
+
// Use the highest attempt count in the queue for backoff
|
|
101
|
+
const maxAttempts = Math.max(...this.queue.map((r) => r.attempts), 0);
|
|
102
|
+
const delay = Math.min(BASE_DELAY_MS * 2 ** maxAttempts, MAX_DELAY_MS);
|
|
103
|
+
this.retryTimer = setTimeout(() => {
|
|
104
|
+
this.retryTimer = null;
|
|
105
|
+
void this.flush();
|
|
106
|
+
}, delay);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
//# sourceMappingURL=offline-queue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"offline-queue.js","sourceRoot":"","sources":["../src/offline-queue.ts"],"names":[],"mappings":"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"}
|
package/dist/paths.d.ts
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Resolve a path for plugin data storage.
|
|
3
|
+
*
|
|
4
|
+
* Uses `runtime.state.resolveStateDir()` to find the OpenClaw state directory,
|
|
5
|
+
* then appends `plugin-data/deskfree/<subpath>`.
|
|
6
|
+
* Falls back to `~/.openclaw/plugin-data/deskfree/<subpath>` if the runtime
|
|
7
|
+
* is not yet initialized.
|
|
8
|
+
*/
|
|
9
|
+
export declare function resolvePluginStorePath(subpath: string): string;
|
|
10
|
+
//# sourceMappingURL=paths.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../src/paths.ts"],"names":[],"mappings":"AAIA;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAkB9D"}
|
package/dist/paths.js
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { getDeskFreeRuntime } from './runtime';
|
|
2
|
+
import { homedir } from 'node:os';
|
|
3
|
+
import { join } from 'node:path';
|
|
4
|
+
/**
|
|
5
|
+
* Resolve a path for plugin data storage.
|
|
6
|
+
*
|
|
7
|
+
* Uses `runtime.state.resolveStateDir()` to find the OpenClaw state directory,
|
|
8
|
+
* then appends `plugin-data/deskfree/<subpath>`.
|
|
9
|
+
* Falls back to `~/.openclaw/plugin-data/deskfree/<subpath>` if the runtime
|
|
10
|
+
* is not yet initialized.
|
|
11
|
+
*/
|
|
12
|
+
export function resolvePluginStorePath(subpath) {
|
|
13
|
+
let stateDir;
|
|
14
|
+
try {
|
|
15
|
+
const runtime = getDeskFreeRuntime();
|
|
16
|
+
if (runtime.state?.resolveStateDir) {
|
|
17
|
+
stateDir = runtime.state.resolveStateDir();
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
catch {
|
|
21
|
+
// runtime not initialized yet — use fallback
|
|
22
|
+
}
|
|
23
|
+
if (!stateDir) {
|
|
24
|
+
stateDir =
|
|
25
|
+
process.env.OPENCLAW_STATE_DIR?.trim() || join(homedir(), '.openclaw');
|
|
26
|
+
}
|
|
27
|
+
return join(stateDir, 'plugin-data', 'deskfree', subpath);
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=paths.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../src/paths.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC;;;;;;;GAOG;AACH,MAAM,UAAU,sBAAsB,CAAC,OAAe;IACpD,IAAI,QAA4B,CAAC;IAEjC,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,kBAAkB,EAAE,CAAC;QACrC,IAAI,OAAO,CAAC,KAAK,EAAE,eAAe,EAAE,CAAC;YACnC,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC;QAC7C,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,6CAA6C;IAC/C,CAAC;IAED,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,QAAQ;YACN,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,WAAW,CAAC,CAAC;IAC3E,CAAC;IAED,OAAO,IAAI,CAAC,QAAQ,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;AAC5D,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { PluginRuntime } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Store the OpenClaw plugin runtime for later use by other modules.
|
|
4
|
+
*
|
|
5
|
+
* Called once during plugin registration in {@link index.ts}.
|
|
6
|
+
*
|
|
7
|
+
* @param runtime - The OpenClaw plugin runtime provided during registration
|
|
8
|
+
*/
|
|
9
|
+
export declare function setDeskFreeRuntime(runtime: PluginRuntime): void;
|
|
10
|
+
/**
|
|
11
|
+
* Retrieve the stored OpenClaw plugin runtime.
|
|
12
|
+
*
|
|
13
|
+
* @returns The plugin runtime instance
|
|
14
|
+
* @throws Error if called before {@link setDeskFreeRuntime}
|
|
15
|
+
*/
|
|
16
|
+
export declare function getDeskFreeRuntime(): PluginRuntime;
|
|
17
|
+
//# sourceMappingURL=runtime.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAI7C;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI,CAE/D;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,IAAI,aAAa,CAOlD"}
|
package/dist/runtime.js
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
let _runtime = null;
|
|
2
|
+
/**
|
|
3
|
+
* Store the OpenClaw plugin runtime for later use by other modules.
|
|
4
|
+
*
|
|
5
|
+
* Called once during plugin registration in {@link index.ts}.
|
|
6
|
+
*
|
|
7
|
+
* @param runtime - The OpenClaw plugin runtime provided during registration
|
|
8
|
+
*/
|
|
9
|
+
export function setDeskFreeRuntime(runtime) {
|
|
10
|
+
_runtime = runtime;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Retrieve the stored OpenClaw plugin runtime.
|
|
14
|
+
*
|
|
15
|
+
* @returns The plugin runtime instance
|
|
16
|
+
* @throws Error if called before {@link setDeskFreeRuntime}
|
|
17
|
+
*/
|
|
18
|
+
export function getDeskFreeRuntime() {
|
|
19
|
+
if (!_runtime) {
|
|
20
|
+
throw new Error('DeskFree runtime not initialized. Ensure setDeskFreeRuntime() is called during plugin registration.');
|
|
21
|
+
}
|
|
22
|
+
return _runtime;
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=runtime.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAEA,IAAI,QAAQ,GAAyB,IAAI,CAAC;AAE1C;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAsB;IACvD,QAAQ,GAAG,OAAO,CAAC;AACrB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB;IAChC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CACb,qGAAqG,CACtG,CAAC;IACJ,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|