capacitor-mobile-claw 2.0.0 → 2.0.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.
Files changed (56) hide show
  1. package/dist/esm/engine.d.ts.map +1 -1
  2. package/dist/esm/engine.js +4 -6
  3. package/dist/esm/engine.js.map +1 -1
  4. package/package.json +1 -1
  5. package/dist/esm/agent/agent-runner.d.ts +0 -93
  6. package/dist/esm/agent/agent-runner.d.ts.map +0 -1
  7. package/dist/esm/agent/agent-runner.js +0 -352
  8. package/dist/esm/agent/agent-runner.js.map +0 -1
  9. package/dist/esm/agent/auth-store.d.ts +0 -31
  10. package/dist/esm/agent/auth-store.d.ts.map +0 -1
  11. package/dist/esm/agent/auth-store.js +0 -121
  12. package/dist/esm/agent/auth-store.js.map +0 -1
  13. package/dist/esm/agent/capacitor-fs-adapter.d.ts +0 -65
  14. package/dist/esm/agent/capacitor-fs-adapter.d.ts.map +0 -1
  15. package/dist/esm/agent/capacitor-fs-adapter.js +0 -186
  16. package/dist/esm/agent/capacitor-fs-adapter.js.map +0 -1
  17. package/dist/esm/agent/cron-db-access.d.ts +0 -116
  18. package/dist/esm/agent/cron-db-access.d.ts.map +0 -1
  19. package/dist/esm/agent/cron-db-access.js +0 -741
  20. package/dist/esm/agent/cron-db-access.js.map +0 -1
  21. package/dist/esm/agent/fetch-proxy.d.ts +0 -2
  22. package/dist/esm/agent/fetch-proxy.d.ts.map +0 -1
  23. package/dist/esm/agent/fetch-proxy.js +0 -171
  24. package/dist/esm/agent/fetch-proxy.js.map +0 -1
  25. package/dist/esm/agent/file-tools.d.ts +0 -17
  26. package/dist/esm/agent/file-tools.d.ts.map +0 -1
  27. package/dist/esm/agent/file-tools.js +0 -295
  28. package/dist/esm/agent/file-tools.js.map +0 -1
  29. package/dist/esm/agent/git-tools.d.ts +0 -17
  30. package/dist/esm/agent/git-tools.d.ts.map +0 -1
  31. package/dist/esm/agent/git-tools.js +0 -184
  32. package/dist/esm/agent/git-tools.js.map +0 -1
  33. package/dist/esm/agent/heartbeat-manager.d.ts +0 -63
  34. package/dist/esm/agent/heartbeat-manager.d.ts.map +0 -1
  35. package/dist/esm/agent/heartbeat-manager.js +0 -711
  36. package/dist/esm/agent/heartbeat-manager.js.map +0 -1
  37. package/dist/esm/agent/retry-logic.d.ts +0 -9
  38. package/dist/esm/agent/retry-logic.d.ts.map +0 -1
  39. package/dist/esm/agent/retry-logic.js +0 -30
  40. package/dist/esm/agent/retry-logic.js.map +0 -1
  41. package/dist/esm/agent/session-store.d.ts +0 -31
  42. package/dist/esm/agent/session-store.d.ts.map +0 -1
  43. package/dist/esm/agent/session-store.js +0 -223
  44. package/dist/esm/agent/session-store.js.map +0 -1
  45. package/dist/esm/agent/tool-proxy.d.ts +0 -25
  46. package/dist/esm/agent/tool-proxy.d.ts.map +0 -1
  47. package/dist/esm/agent/tool-proxy.js +0 -58
  48. package/dist/esm/agent/tool-proxy.js.map +0 -1
  49. package/dist/esm/agent/tool-schemas.d.ts +0 -16
  50. package/dist/esm/agent/tool-schemas.d.ts.map +0 -1
  51. package/dist/esm/agent/tool-schemas.js +0 -129
  52. package/dist/esm/agent/tool-schemas.js.map +0 -1
  53. package/dist/esm/agent/wasm-tools.d.ts +0 -11
  54. package/dist/esm/agent/wasm-tools.d.ts.map +0 -1
  55. package/dist/esm/agent/wasm-tools.js +0 -70
  56. package/dist/esm/agent/wasm-tools.js.map +0 -1
@@ -1,184 +0,0 @@
1
- /**
2
- * Native git tools using isomorphic-git + @capacitor/filesystem.
3
- *
4
- * Replaces the Node.js worker's git tools (git_init, git_status, git_add,
5
- * git_commit, git_log, git_diff) with isomorphic-git running in the WebView
6
- * using a Capacitor filesystem adapter.
7
- */
8
- import git from 'isomorphic-git';
9
- import { capacitorFs } from './capacitor-fs-adapter';
10
- /** Workspace root path, set by engine on init. */
11
- let _workspaceDir = '';
12
- /** Set the workspace directory (absolute path for isomorphic-git). */
13
- export function setWorkspaceDir(dir) {
14
- _workspaceDir = dir;
15
- }
16
- function toolResult(data) {
17
- return {
18
- content: [{ type: 'text', text: JSON.stringify(data) }],
19
- details: data,
20
- };
21
- }
22
- // ── git_init ────────────────────────────────────────────────────────────────
23
- export async function gitInitNative(params) {
24
- const defaultBranch = params.default_branch || 'main';
25
- try {
26
- await git.init({ fs: capacitorFs, dir: _workspaceDir, defaultBranch });
27
- // Auto-create .gitignore if it doesn't exist
28
- try {
29
- await capacitorFs.promises.readFile(`${_workspaceDir}/.gitignore`, { encoding: 'utf8' });
30
- }
31
- catch {
32
- await capacitorFs.promises.writeFile(`${_workspaceDir}/.gitignore`, '.openclaw/\n', { encoding: 'utf8' });
33
- }
34
- return toolResult({ success: true, message: `Initialized git repository with branch "${defaultBranch}"` });
35
- }
36
- catch (err) {
37
- return toolResult({ error: `Failed to initialize git: ${err.message}` });
38
- }
39
- }
40
- // ── git_status ──────────────────────────────────────────────────────────────
41
- export async function gitStatusNative(_params) {
42
- try {
43
- const matrix = await git.statusMatrix({ fs: capacitorFs, dir: _workspaceDir });
44
- const files = matrix
45
- .map(([filepath, head, workdir, stage]) => {
46
- let status = 'unmodified';
47
- if (head === 0 && workdir === 2 && stage === 0)
48
- status = 'untracked';
49
- else if (head === 0 && workdir === 2 && stage === 2)
50
- status = 'added';
51
- else if (head === 0 && workdir === 2 && stage === 3)
52
- status = 'added (modified)';
53
- else if (head === 1 && workdir === 2 && stage === 1)
54
- status = 'modified (unstaged)';
55
- else if (head === 1 && workdir === 2 && stage === 2)
56
- status = 'modified (staged)';
57
- else if (head === 1 && workdir === 2 && stage === 3)
58
- status = 'modified (staged + unstaged)';
59
- else if (head === 1 && workdir === 0 && stage === 0)
60
- status = 'deleted (unstaged)';
61
- else if (head === 1 && workdir === 0 && stage === 1)
62
- status = 'deleted (staged)';
63
- return { path: filepath, status };
64
- })
65
- .filter((f) => f.status !== 'unmodified');
66
- return toolResult({ files });
67
- }
68
- catch (err) {
69
- return toolResult({ error: `Failed to get status: ${err.message}` });
70
- }
71
- }
72
- // ── git_add ─────────────────────────────────────────────────────────────────
73
- export async function gitAddNative(params) {
74
- try {
75
- if (params.path === '.') {
76
- const matrix = await git.statusMatrix({ fs: capacitorFs, dir: _workspaceDir });
77
- for (const [filepath, head, workdir, stage] of matrix) {
78
- if (workdir === 0) {
79
- await git.remove({ fs: capacitorFs, dir: _workspaceDir, filepath });
80
- }
81
- else if (head !== workdir || workdir !== stage) {
82
- await git.add({ fs: capacitorFs, dir: _workspaceDir, filepath });
83
- }
84
- }
85
- return toolResult({ success: true, message: 'All changes staged' });
86
- }
87
- else {
88
- await git.add({ fs: capacitorFs, dir: _workspaceDir, filepath: params.path });
89
- return toolResult({ success: true, path: params.path });
90
- }
91
- }
92
- catch (err) {
93
- return toolResult({ error: `Failed to stage: ${err.message}` });
94
- }
95
- }
96
- // ── git_commit ──────────────────────────────────────────────────────────────
97
- export async function gitCommitNative(params) {
98
- try {
99
- const sha = await git.commit({
100
- fs: capacitorFs,
101
- dir: _workspaceDir,
102
- message: params.message,
103
- author: {
104
- name: params.author_name || 'mobile-claw',
105
- email: params.author_email || 'agent@mobile-claw.local',
106
- },
107
- });
108
- return toolResult({ success: true, sha, message: params.message });
109
- }
110
- catch (err) {
111
- return toolResult({ error: `Failed to commit: ${err.message}` });
112
- }
113
- }
114
- // ── git_log ─────────────────────────────────────────────────────────────────
115
- export async function gitLogNative(params) {
116
- try {
117
- const commits = await git.log({
118
- fs: capacitorFs,
119
- dir: _workspaceDir,
120
- depth: params.max_count || 10,
121
- });
122
- return toolResult({
123
- commits: commits.map((c) => ({
124
- sha: c.oid,
125
- message: c.commit.message,
126
- author: c.commit.author.name,
127
- email: c.commit.author.email,
128
- timestamp: new Date(c.commit.author.timestamp * 1000).toISOString(),
129
- })),
130
- });
131
- }
132
- catch (err) {
133
- return toolResult({ error: `Failed to get log: ${err.message}` });
134
- }
135
- }
136
- // ── git_diff ────────────────────────────────────────────────────────────────
137
- export async function gitDiffNative(params) {
138
- try {
139
- const matrix = await git.statusMatrix({ fs: capacitorFs, dir: _workspaceDir });
140
- const changes = [];
141
- let headOid = null;
142
- try {
143
- headOid = await git.resolveRef({ fs: capacitorFs, dir: _workspaceDir, ref: 'HEAD' });
144
- }
145
- catch {
146
- /* no commits yet */
147
- }
148
- for (const [filepath, head, workdir, stage] of matrix) {
149
- const isRelevant = params.cached ? stage !== head : workdir !== stage;
150
- if (!isRelevant)
151
- continue;
152
- let currentContent = null;
153
- try {
154
- currentContent = (await capacitorFs.promises.readFile(`${_workspaceDir}/${filepath}`, {
155
- encoding: 'utf8',
156
- }));
157
- }
158
- catch {
159
- /* file deleted */
160
- }
161
- let previousContent = null;
162
- if (headOid) {
163
- try {
164
- const { blob } = await git.readBlob({ fs: capacitorFs, dir: _workspaceDir, oid: headOid, filepath });
165
- previousContent = new TextDecoder().decode(blob);
166
- }
167
- catch {
168
- /* new file */
169
- }
170
- }
171
- changes.push({
172
- path: filepath,
173
- previous: previousContent ? previousContent.substring(0, 2000) : null,
174
- current: currentContent ? currentContent.substring(0, 2000) : null,
175
- type: !previousContent ? 'added' : !currentContent ? 'deleted' : 'modified',
176
- });
177
- }
178
- return toolResult({ changes });
179
- }
180
- catch (err) {
181
- return toolResult({ error: `Failed to get diff: ${err.message}` });
182
- }
183
- }
184
- //# sourceMappingURL=git-tools.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"git-tools.js","sourceRoot":"","sources":["../../../src/agent/git-tools.ts"],"names":[],"mappings":"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"}
@@ -1,63 +0,0 @@
1
- import type { CronDbAccess, CronJobStoreRecord, PendingSystemEvent } from './cron-db-access';
2
- import type { ToolProxy } from './tool-proxy';
3
- type AgentTool<TParameters extends import('@sinclair/typebox').TSchema = import('@sinclair/typebox').TSchema, TDetails = any> = import('@mariozechner/pi-agent-core').AgentTool<TParameters, TDetails>;
4
- export interface HeartbeatManagerConfig {
5
- dispatch: (msg: Record<string, unknown>) => void;
6
- toolProxy: ToolProxy;
7
- cronDb: CronDbAccess;
8
- getAuth: (provider: string, agentId: string) => Promise<{
9
- apiKey: string | null;
10
- }>;
11
- getSystemPrompt: (agentId: string) => Promise<{
12
- systemPrompt: string;
13
- }>;
14
- isUserAgentRunning: () => boolean;
15
- getCurrentSessionKey: () => string | null;
16
- extraTools?: AgentTool<any>[];
17
- /** Consumer-owned policy: returns true if tool requires user approval. */
18
- needsApproval?: (toolName: string) => boolean;
19
- }
20
- interface HeartbeatWakeOptions {
21
- force?: boolean;
22
- forceJobId?: string;
23
- forceSessionKey?: string;
24
- }
25
- export declare class HeartbeatManager {
26
- private config;
27
- private wakeInFlight;
28
- private heartbeatConsecutiveErrors;
29
- private sessionStore;
30
- private _cronTimer;
31
- private _cronApprovalResolvers;
32
- constructor(config: HeartbeatManagerConfig);
33
- /** Resolve a pending cron approval request (called from engine). */
34
- respondToCronApproval(requestId: string, approved: boolean): void;
35
- /** Kick off the self-rearming cron timer. Call once after init. */
36
- startCronTimer(): void;
37
- handleWake(source: string, opts?: HeartbeatWakeOptions): Promise<void>;
38
- /**
39
- * Self-rearming timer (mirrors OpenClaw's armTimer pattern).
40
- * After each wake completes, check for the next due job and schedule
41
- * a setTimeout to fire it. Clamped to 60s max to prevent drift.
42
- * Native WorkManager handles background wakes; this handles foreground.
43
- */
44
- private _armCronTimer;
45
- private _runHeartbeatCycle;
46
- private _runDueCronJobs;
47
- private _runAgentTurn;
48
- private _persistSession;
49
- private _deliverCronResult;
50
- private _resolveSkill;
51
- private _emitSchedulerStatus;
52
- private _consumePendingEvents;
53
- private _emit;
54
- }
55
- export declare function extractLastAssistantText(messages: any[]): string;
56
- export declare function buildHeartbeatPrompt(basePrompt: string, pendingEvents: PendingSystemEvent[]): string;
57
- export declare function computeNextRunAt(job: Pick<CronJobStoreRecord, 'schedule'>, nowMs: number): number | null;
58
- export declare function isHeartbeatOk(text: string): boolean;
59
- export declare function fnv1aHash(str: string): string;
60
- export declare function errorBackoffMs(consecutiveErrors: number): number;
61
- export declare function isWithinActiveHours(start?: string, end?: string, tz?: string, nowMs?: number): boolean;
62
- export {};
63
- //# sourceMappingURL=heartbeat-manager.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"heartbeat-manager.d.ts","sourceRoot":"","sources":["../../../src/agent/heartbeat-manager.ts"],"names":[],"mappings":"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"}