capacitor-mobile-claw 2.0.0 → 2.0.1

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 (53) hide show
  1. package/package.json +1 -1
  2. package/dist/esm/agent/agent-runner.d.ts +0 -93
  3. package/dist/esm/agent/agent-runner.d.ts.map +0 -1
  4. package/dist/esm/agent/agent-runner.js +0 -352
  5. package/dist/esm/agent/agent-runner.js.map +0 -1
  6. package/dist/esm/agent/auth-store.d.ts +0 -31
  7. package/dist/esm/agent/auth-store.d.ts.map +0 -1
  8. package/dist/esm/agent/auth-store.js +0 -121
  9. package/dist/esm/agent/auth-store.js.map +0 -1
  10. package/dist/esm/agent/capacitor-fs-adapter.d.ts +0 -65
  11. package/dist/esm/agent/capacitor-fs-adapter.d.ts.map +0 -1
  12. package/dist/esm/agent/capacitor-fs-adapter.js +0 -186
  13. package/dist/esm/agent/capacitor-fs-adapter.js.map +0 -1
  14. package/dist/esm/agent/cron-db-access.d.ts +0 -116
  15. package/dist/esm/agent/cron-db-access.d.ts.map +0 -1
  16. package/dist/esm/agent/cron-db-access.js +0 -741
  17. package/dist/esm/agent/cron-db-access.js.map +0 -1
  18. package/dist/esm/agent/fetch-proxy.d.ts +0 -2
  19. package/dist/esm/agent/fetch-proxy.d.ts.map +0 -1
  20. package/dist/esm/agent/fetch-proxy.js +0 -171
  21. package/dist/esm/agent/fetch-proxy.js.map +0 -1
  22. package/dist/esm/agent/file-tools.d.ts +0 -17
  23. package/dist/esm/agent/file-tools.d.ts.map +0 -1
  24. package/dist/esm/agent/file-tools.js +0 -295
  25. package/dist/esm/agent/file-tools.js.map +0 -1
  26. package/dist/esm/agent/git-tools.d.ts +0 -17
  27. package/dist/esm/agent/git-tools.d.ts.map +0 -1
  28. package/dist/esm/agent/git-tools.js +0 -184
  29. package/dist/esm/agent/git-tools.js.map +0 -1
  30. package/dist/esm/agent/heartbeat-manager.d.ts +0 -63
  31. package/dist/esm/agent/heartbeat-manager.d.ts.map +0 -1
  32. package/dist/esm/agent/heartbeat-manager.js +0 -711
  33. package/dist/esm/agent/heartbeat-manager.js.map +0 -1
  34. package/dist/esm/agent/retry-logic.d.ts +0 -9
  35. package/dist/esm/agent/retry-logic.d.ts.map +0 -1
  36. package/dist/esm/agent/retry-logic.js +0 -30
  37. package/dist/esm/agent/retry-logic.js.map +0 -1
  38. package/dist/esm/agent/session-store.d.ts +0 -31
  39. package/dist/esm/agent/session-store.d.ts.map +0 -1
  40. package/dist/esm/agent/session-store.js +0 -223
  41. package/dist/esm/agent/session-store.js.map +0 -1
  42. package/dist/esm/agent/tool-proxy.d.ts +0 -25
  43. package/dist/esm/agent/tool-proxy.d.ts.map +0 -1
  44. package/dist/esm/agent/tool-proxy.js +0 -58
  45. package/dist/esm/agent/tool-proxy.js.map +0 -1
  46. package/dist/esm/agent/tool-schemas.d.ts +0 -16
  47. package/dist/esm/agent/tool-schemas.d.ts.map +0 -1
  48. package/dist/esm/agent/tool-schemas.js +0 -129
  49. package/dist/esm/agent/tool-schemas.js.map +0 -1
  50. package/dist/esm/agent/wasm-tools.d.ts +0 -11
  51. package/dist/esm/agent/wasm-tools.d.ts.map +0 -1
  52. package/dist/esm/agent/wasm-tools.js +0 -70
  53. 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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"}