@10play/expo-air 0.3.0 → 0.3.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/cli/dist/server/promptServer.d.ts +1 -0
- package/cli/dist/server/promptServer.d.ts.map +1 -1
- package/cli/dist/server/promptServer.js +44 -6
- package/cli/dist/server/promptServer.js.map +1 -1
- package/cli/dist/types/messages.d.ts +2 -0
- package/cli/dist/types/messages.d.ts.map +1 -1
- package/ios/widget.jsbundle +3 -3
- package/package.json +1 -1
- package/widget/BubbleContent.tsx +120 -17
- package/widget/components/GitChangesTab.tsx +76 -93
- package/widget/services/notifications.ts +4 -6
- package/widget/services/websocket.ts +2 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"promptServer.d.ts","sourceRoot":"","sources":["../../server/promptServer.ts"],"names":[],"mappings":"AAkBA,qBAAa,YAAY;IACvB,OAAO,CAAC,GAAG,CAAgC;IAC3C,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,YAAY,CAAyC;IAC7D,OAAO,CAAC,eAAe,CAAgC;IACvD,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,mBAAmB,CAA2B;IACtD,OAAO,CAAC,gBAAgB,CAA+C;IACvE,OAAO,CAAC,cAAc,CAAc;IACpC,OAAO,CAAC,kBAAkB,CAAc;IACxC,OAAO,CAAC,SAAS,CAAuB;gBAE5B,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM;IAM9C,OAAO,CAAC,aAAa;IAYrB,OAAO,CAAC,aAAa;IAmCrB,OAAO,CAAC,eAAe;IAsBvB,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,kBAAkB;
|
|
1
|
+
{"version":3,"file":"promptServer.d.ts","sourceRoot":"","sources":["../../server/promptServer.ts"],"names":[],"mappings":"AAkBA,qBAAa,YAAY;IACvB,OAAO,CAAC,GAAG,CAAgC;IAC3C,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,YAAY,CAAyC;IAC7D,OAAO,CAAC,eAAe,CAAgC;IACvD,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,mBAAmB,CAA2B;IACtD,OAAO,CAAC,gBAAgB,CAA+C;IACvE,OAAO,CAAC,cAAc,CAAc;IACpC,OAAO,CAAC,kBAAkB,CAAc;IACxC,OAAO,CAAC,SAAS,CAAuB;gBAE5B,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM;IAM9C,OAAO,CAAC,aAAa;IAYrB,OAAO,CAAC,aAAa;IAmCrB,OAAO,CAAC,eAAe;IAsBvB,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,WAAW;IAanB,OAAO,CAAC,kBAAkB;IAkB1B,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,WAAW;IAmBnB,OAAO,CAAC,WAAW;IAgBnB,OAAO,CAAC,oBAAoB;IActB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAmBtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IA4B3B,OAAO,CAAC,gBAAgB;IA0DxB,OAAO,CAAC,aAAa;IAmDrB,OAAO,CAAC,gBAAgB;IAsBxB,OAAO,CAAC,UAAU;IAWlB,OAAO,CAAC,oBAAoB;IAkC5B,OAAO,CAAC,eAAe;IAWvB,OAAO,CAAC,mBAAmB;IAS3B,OAAO,CAAC,aAAa;IASrB,OAAO,CAAC,uBAAuB;IAS/B,OAAO,CAAC,0BAA0B;YAWpB,cAAc;IAmP5B,OAAO,CAAC,YAAY;YAMN,oBAAoB;IA2BlC,OAAO,CAAC,GAAG;CAyBZ"}
|
|
@@ -92,17 +92,33 @@ export class PromptServer {
|
|
|
92
92
|
this.gitWatchInterval = null;
|
|
93
93
|
}
|
|
94
94
|
}
|
|
95
|
+
getPRStatus() {
|
|
96
|
+
try {
|
|
97
|
+
const result = execSync("gh pr view --json url -q .url", {
|
|
98
|
+
cwd: this.projectRoot,
|
|
99
|
+
encoding: "utf-8",
|
|
100
|
+
stdio: ["pipe", "pipe", "pipe"],
|
|
101
|
+
}).trim();
|
|
102
|
+
return { hasPR: true, prUrl: result || undefined };
|
|
103
|
+
}
|
|
104
|
+
catch {
|
|
105
|
+
return { hasPR: false };
|
|
106
|
+
}
|
|
107
|
+
}
|
|
95
108
|
broadcastGitStatus(branchName, changes) {
|
|
109
|
+
const prStatus = this.getPRStatus();
|
|
96
110
|
const message = {
|
|
97
111
|
type: "git_status",
|
|
98
112
|
branchName,
|
|
99
113
|
changes,
|
|
114
|
+
hasPR: prStatus.hasPR,
|
|
115
|
+
prUrl: prStatus.prUrl,
|
|
100
116
|
timestamp: Date.now(),
|
|
101
117
|
};
|
|
102
118
|
for (const client of this.clients) {
|
|
103
119
|
this.sendToClient(client, message);
|
|
104
120
|
}
|
|
105
|
-
this.log(`Git status updated: ${branchName} (${changes.length} changes)`, "info");
|
|
121
|
+
this.log(`Git status updated: ${branchName} (${changes.length} changes, PR: ${prStatus.hasPR})`, "info");
|
|
106
122
|
}
|
|
107
123
|
getConfigPath() {
|
|
108
124
|
return join(this.projectRoot, ".expo-air.local.json");
|
|
@@ -217,10 +233,13 @@ export class PromptServer {
|
|
|
217
233
|
// Send initial git status
|
|
218
234
|
const branchName = this.getBranchName();
|
|
219
235
|
const changes = this.getGitChanges();
|
|
236
|
+
const prStatus = this.getPRStatus();
|
|
220
237
|
this.sendToClient(ws, {
|
|
221
238
|
type: "git_status",
|
|
222
239
|
branchName,
|
|
223
240
|
changes,
|
|
241
|
+
hasPR: prStatus.hasPR,
|
|
242
|
+
prUrl: prStatus.prUrl,
|
|
224
243
|
timestamp: Date.now(),
|
|
225
244
|
});
|
|
226
245
|
ws.on("message", (data) => {
|
|
@@ -402,7 +421,7 @@ export class PromptServer {
|
|
|
402
421
|
cwd: this.projectRoot,
|
|
403
422
|
abortController: this.abortController,
|
|
404
423
|
includePartialMessages: true,
|
|
405
|
-
permissionMode: "
|
|
424
|
+
permissionMode: "bypassPermissions", // YOLO mode - bypass all permission prompts
|
|
406
425
|
systemPrompt: `You are Claude, running as part of Expo Flow - an AI-powered development tool that runs on the developer's local machine and developer runs the app on their phone with a widget that help him develop the app on the go.
|
|
407
426
|
|
|
408
427
|
IMPORTANT CONSTRAINTS:
|
|
@@ -433,7 +452,10 @@ IMPORTANT CONSTRAINTS:
|
|
|
433
452
|
input: input.tool_input,
|
|
434
453
|
timestamp: Date.now(),
|
|
435
454
|
});
|
|
436
|
-
|
|
455
|
+
// Log tool name and truncated input for debugging
|
|
456
|
+
const inputStr = JSON.stringify(input.tool_input || {});
|
|
457
|
+
const truncatedInput = inputStr.length > 100 ? inputStr.substring(0, 100) + "..." : inputStr;
|
|
458
|
+
this.log(`Tool started: ${input.tool_name} - ${truncatedInput}`, "info");
|
|
437
459
|
}
|
|
438
460
|
return {};
|
|
439
461
|
},
|
|
@@ -453,7 +475,14 @@ IMPORTANT CONSTRAINTS:
|
|
|
453
475
|
output: input.tool_response,
|
|
454
476
|
timestamp: Date.now(),
|
|
455
477
|
});
|
|
456
|
-
|
|
478
|
+
// Log completion with truncated response for debugging
|
|
479
|
+
const responseStr = typeof input.tool_response === 'string'
|
|
480
|
+
? input.tool_response
|
|
481
|
+
: JSON.stringify(input.tool_response || '');
|
|
482
|
+
const truncatedResponse = responseStr.length > 150
|
|
483
|
+
? responseStr.substring(0, 150) + "..."
|
|
484
|
+
: responseStr;
|
|
485
|
+
this.log(`Tool completed: ${input.tool_name} - ${truncatedResponse.replace(/\n/g, ' ')}`, "success");
|
|
457
486
|
}
|
|
458
487
|
return {};
|
|
459
488
|
},
|
|
@@ -465,15 +494,24 @@ IMPORTANT CONSTRAINTS:
|
|
|
465
494
|
hooks: [
|
|
466
495
|
async (input) => {
|
|
467
496
|
if (input.hook_event_name === "PostToolUseFailure") {
|
|
497
|
+
const errorStr = typeof input.error === 'string'
|
|
498
|
+
? input.error
|
|
499
|
+
: JSON.stringify(input.error || 'Unknown error');
|
|
468
500
|
this.sendToClient(ws, {
|
|
469
501
|
type: "tool",
|
|
470
502
|
promptId,
|
|
471
503
|
toolName: input.tool_name,
|
|
472
504
|
status: "failed",
|
|
473
|
-
output:
|
|
505
|
+
output: errorStr,
|
|
474
506
|
timestamp: Date.now(),
|
|
475
507
|
});
|
|
476
|
-
|
|
508
|
+
// Log detailed error information
|
|
509
|
+
this.log(`Tool FAILED: ${input.tool_name}`, "error");
|
|
510
|
+
this.log(` Error: ${errorStr.substring(0, 500)}`, "error");
|
|
511
|
+
if (input.tool_input) {
|
|
512
|
+
const inputStr = JSON.stringify(input.tool_input);
|
|
513
|
+
this.log(` Input was: ${inputStr.substring(0, 200)}`, "error");
|
|
514
|
+
}
|
|
477
515
|
}
|
|
478
516
|
return {};
|
|
479
517
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"promptServer.js","sourceRoot":"","sources":["../../server/promptServer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"promptServer.js","sourceRoot":"","sources":["../../server/promptServer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../types/messages.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../types/messages.ts"],"names":[],"mappings":"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"}
|
package/ios/widget.jsbundle
CHANGED
|
@@ -534,12 +534,12 @@ __d(function(g,r,i,a,m,e,d){'use strict';Object.defineProperty(e,'__esModule',{v
|
|
|
534
534
|
__d(function(g,r,i,a,m,_e,d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"default",{enumerable:!0,get:function(){return c}});var e,t=r(d[0]),n=(e=t)&&e.__esModule?e:{default:e},u=(r(d[1]).default,!1),o=0;function f(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];u||(u=!0,0===e[0]&&(n.default.vibrate(400),e=e.slice(1)),0!==e.length?setTimeout(()=>l(++o,e,t,1),e[0]):u=!1)}function l(e,t,f,v){if(u&&e===o){if(n.default.vibrate(400),v>=t.length){if(!f)return void(u=!1);v=0}setTimeout(()=>l(e,t,f,v+1),t[v])}}var v={vibrate:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:400,t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(!u)if('number'==typeof e)n.default.vibrate(e);else{if(!Array.isArray(e))throw new Error('Vibration pattern should be a number or array');f(e,t)}},cancel:function(){u=!1}},c=v},482,[483,60]);
|
|
535
535
|
__d(function(g,r,i,a,m,_e,d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"default",{enumerable:!0,get:function(){return n}});var e=r(d[0]);Object.keys(e).forEach(function(t){'default'===t||Object.prototype.hasOwnProperty.call(_e,t)||Object.defineProperty(_e,t,{enumerable:!0,get:function(){return e[t]}})});var t,n=((t=e)&&t.__esModule?t:{default:t}).default},483,[484]);
|
|
536
536
|
__d(function(g,r,i,a,m,_e,_d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"default",{enumerable:!0,get:function(){return e}});var e=(function(e){if(e&&e.__esModule)return e;var t={};return e&&Object.keys(e).forEach(function(n){var u=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,u.get?u:{enumerable:!0,get:function(){return e[n]}})}),t.default=e,t})(r(_d[0])).getEnforcing('Vibration')},484,[50]);
|
|
537
|
-
__d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.BubbleContent=function(e){e.size,e.color;var f=e.expanded,x=void 0!==f&&f,v=e.serverUrl,
|
|
537
|
+
__d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.BubbleContent=function(e){e.size,e.color;var f=e.expanded,x=void 0!==f&&f,v=e.serverUrl,w=void 0===v?"ws://localhost:3847":v,k=(0,s.useState)("disconnected"),S=(0,n.default)(k,2),A=S[0],P=S[1],V=(0,s.useState)([]),R=(0,n.default)(V,2),N=R[0],B=R[1],D=(0,s.useState)(""),W=(0,n.default)(D,2),E=W[0],F=W[1],O=(0,s.useState)("main"),_=(0,n.default)(O,2),I=_[0],z=_[1],q=(0,s.useState)([]),M=(0,n.default)(q,2),H=M[0],L=M[1],U=(0,s.useState)(!1),G=(0,n.default)(U,2),J=G[0],K=G[1],Q=(0,s.useState)(),X=(0,n.default)(Q,2),Y=X[0],Z=X[1],$=(0,s.useState)("chat"),ee=(0,n.default)($,2),te=ee[0],ae=ee[1],ne=(0,s.useRef)(!1),ie=Y?.match(/\/pull\/(\d+)/)?.[1];(0,s.useEffect)(()=>{console.log("[expo-air] Connecting to:",w);var e=(0,h.createWebSocketClient)({url:w,onStatusChange:P,onMessage:se,onError:e=>{console.error("[expo-air] WebSocket error:",e)}});return e.connect(),()=>{e.disconnect()}},[w]),(0,s.useEffect)(()=>(0,b.setupTapHandler)((e,t)=>{var n=(0,h.getWebSocketClient)();n&&!n.isConnected()&&n.connect()}),[]);var se=(0,s.useCallback)(e=>{switch(e.type){case"stream":e.done||F(t=>t+e.chunk);break;case"result":case"error":B(t=>[...t,e]),F("");break;case"tool":B(t=>[...t,e]);break;case"status":case"stopped":break;case"session_cleared":B([]),F("");break;case"history":var t=e.entries.map(e=>"user"===e.role?{type:"user_prompt",content:e.content,timestamp:e.timestamp}:{type:"history_result",content:e.content,timestamp:e.timestamp});B(t);break;case"git_status":z(e.branchName),L(e.changes),K(e.hasPR),Z(e.prUrl)}},[]),oe=(0,s.useCallback)((function(){var e=(0,t.default)(function*(e){if(!ne.current){var t=yield(0,b.requestPushToken)();if(t){var n=(0,h.getWebSocketClient)();n?.isConnected()&&(n.sendPushToken(t),ne.current=!0)}}B(t=>[...t,{type:"user_prompt",content:e,timestamp:Date.now()}]),F("");var s=(0,h.getWebSocketClient)();s&&s.sendPrompt(e)});return function(t){return e.apply(this,arguments)}})(),[]),re=(0,s.useCallback)(()=>{var e=(0,h.getWebSocketClient)();e&&e.requestNewSession()},[]),ce=(0,s.useCallback)(()=>{var e=(0,h.getWebSocketClient)();e&&e.requestStop()},[]),le=(0,s.useCallback)(()=>{ae("chat"),oe("Look at my current git changes and create a commit with a good conventional commit message. Stage all changes and commit them.")},[oe]),de=(0,s.useCallback)(()=>{ae("chat"),oe("Create a pull request for my current branch. First commit any uncommitted changes with a good message. Then generate a title and description based on the commits, and use `gh pr create --title \"...\" --body \"...\"` (non-interactive mode) to create it. Push to remote first if needed.")},[oe]),ue=(0,s.useCallback)(()=>{Y&&o.Linking.openURL(Y)},[Y]),he=(0,s.useCallback)(()=>{var e=(0,h.getWebSocketClient)();e&&e.requestDiscardChanges()},[]);if(!x)return(0,p.jsx)(o.View,{style:j.collapsedPill,children:(0,p.jsx)(T,{status:A})});return(0,p.jsxs)(o.View,{style:j.expanded,children:[(0,p.jsx)(y,{status:A,branchName:I}),(0,p.jsx)(C,{activeTab:te,onTabChange:ae,onNewSession:re,canStartNew:"connected"===A,hasPR:J,hasChanges:H.length>0,prNumber:ie,onCreatePR:de,onCommit:le,onViewPR:ue}),(0,p.jsx)(o.View,{style:j.body,children:"chat"===te?(0,p.jsx)(l.ResponseArea,{messages:N,currentResponse:E}):(0,p.jsx)(u.GitChangesTab,{changes:H,onDiscard:he})}),"chat"===te&&(0,p.jsx)(c.PromptInput,{onSubmit:oe,onStop:ce,disabled:"disconnected"===A,isProcessing:"processing"===A})]})};var t=e(r(d[0])),n=e(r(d[1])),s=r(d[2]),o=r(d[3]),c=r(d[4]),l=r(d[5]),u=r(d[6]),h=r(d[7]),b=r(d[8]),p=r(d[9]),f=o.NativeModules.WidgetBridge,x=o.NativeModules.ExpoAir;function v(){try{f?.collapse?f.collapse():x?.collapse?x.collapse():console.warn("[expo-air] No collapse method available")}catch(e){console.warn("[expo-air] Failed to collapse:",e)}}function y(e){var t=e.status,n=e.branchName;return(0,p.jsxs)(o.View,{style:j.header,children:[(0,p.jsx)(o.TouchableOpacity,{onPress:v,style:j.closeButton,children:(0,p.jsx)(o.Text,{style:j.closeButtonText,children:"\u2715"})}),(0,p.jsx)(o.Text,{style:j.branchName,numberOfLines:1,children:n}),(0,p.jsx)(o.View,{style:[j.statusDot,{backgroundColor:{disconnected:"#FF3B30",connecting:"#007AFF",connected:"#30D158",processing:"#007AFF"}[t]}]})]})}function C(e){var t=e.activeTab,n=e.onTabChange,s=e.onNewSession,c=e.canStartNew,l=e.hasPR,u=e.hasChanges,h=e.prNumber,b=e.onCreatePR,f=e.onCommit,x=e.onViewPR;return(0,p.jsxs)(o.View,{style:j.tabBar,children:[(0,p.jsxs)(o.View,{style:j.tabButtons,children:[(0,p.jsx)(o.TouchableOpacity,{onPress:()=>n("chat"),children:(0,p.jsx)(o.Text,{style:[j.tabText,"chat"===t?j.tabTextActive:j.tabTextInactive],children:"Chat"})}),(0,p.jsx)(o.TouchableOpacity,{onPress:()=>n("changes"),children:(0,p.jsx)(o.Text,{style:[j.tabText,"changes"===t?j.tabTextActive:j.tabTextInactive],children:"Changes"})})]}),"chat"===t?(0,p.jsx)(o.TouchableOpacity,{onPress:s,style:[j.ctaButton,!c&&j.ctaButtonDisabled],disabled:!c,children:(0,p.jsx)(o.Text,{style:[j.ctaText,!c&&j.ctaTextDisabled],children:"New"})}):!l&&u?(0,p.jsx)(w,{onPress:b,children:"Create PR"}):l&&u?(0,p.jsx)(w,{onPress:f,children:"Commit"}):l&&!u&&h?(0,p.jsxs)(w,{onPress:x,children:["#",h]}):null]})}function w(e){var t=e.children,n=e.onPress,c=(0,s.useRef)(new o.Animated.Value(.6)).current;return(0,s.useEffect)(()=>{var e=o.Animated.loop(o.Animated.sequence([o.Animated.timing(c,{toValue:.9,duration:1500,easing:o.Easing.inOut(o.Easing.ease),useNativeDriver:!0}),o.Animated.timing(c,{toValue:.6,duration:1500,easing:o.Easing.inOut(o.Easing.ease),useNativeDriver:!0})]));return e.start(),()=>e.stop()},[c]),(0,p.jsx)(o.TouchableOpacity,{onPress:n,style:j.ctaButton,activeOpacity:.7,children:(0,p.jsx)(o.Animated.Text,{style:[j.ctaText,{opacity:c}],children:t})})}function T(e){var t=e.status,n={disconnected:"#FF3B30",connecting:"#007AFF",connected:"#30D158",processing:"#007AFF"},c="processing"===t||"connecting"===t,l=(0,s.useRef)(new o.Animated.Value(1)).current,u=(0,s.useRef)(new o.Animated.Value(.4)).current;return(0,s.useEffect)(()=>{if(c){var e=o.Animated.loop(o.Animated.sequence([o.Animated.parallel([o.Animated.timing(l,{toValue:1.3,duration:1200,easing:o.Easing.inOut(o.Easing.ease),useNativeDriver:!0}),o.Animated.timing(u,{toValue:0,duration:1200,easing:o.Easing.inOut(o.Easing.ease),useNativeDriver:!0})]),o.Animated.parallel([o.Animated.timing(l,{toValue:1,duration:0,useNativeDriver:!0}),o.Animated.timing(u,{toValue:.4,duration:0,useNativeDriver:!0})])]));return e.start(),()=>e.stop()}l.setValue(1),u.setValue(.4)},[c,l,u]),(0,p.jsxs)(o.View,{style:j.indicatorContainer,children:[(0,p.jsx)(o.View,{style:[j.indicator,{backgroundColor:n[t]}]}),c&&(0,p.jsx)(o.Animated.View,{style:[j.indicatorRing,{borderColor:n[t],transform:[{scale:l}],opacity:u}]})]})}var j=o.StyleSheet.create({collapsedPill:{width:100,height:32,backgroundColor:"transparent",alignItems:"center",justifyContent:"center"},indicatorContainer:{width:20,height:20,alignItems:"center",justifyContent:"center"},indicator:{width:8,height:8,borderRadius:4},indicatorRing:{position:"absolute",width:16,height:16,borderRadius:8,borderWidth:1.5,opacity:.4},expanded:{flex:1,backgroundColor:"#000",borderRadius:32,overflow:"hidden"},header:{flexDirection:"row",alignItems:"center",paddingHorizontal:16,paddingVertical:14,borderBottomWidth:1,borderBottomColor:"rgba(255,255,255,0.08)"},closeButton:{width:30,height:30,borderRadius:15,backgroundColor:"transparent",alignItems:"center",justifyContent:"center",marginRight:12},closeButtonText:{color:"transparent",fontSize:14,fontWeight:"600"},branchName:{flex:1,color:"rgba(255,255,255,0.6)",fontSize:14,fontWeight:"500"},statusDot:{width:8,height:8,borderRadius:4},ctaButton:{paddingHorizontal:12,paddingVertical:6,borderRadius:14,backgroundColor:"rgba(255,255,255,0.08)"},ctaButtonDisabled:{opacity:.4},ctaText:{color:"#fff",fontSize:13,fontWeight:"600"},ctaTextDisabled:{opacity:.6},tabBar:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",paddingHorizontal:16,paddingVertical:10,borderBottomWidth:1,borderBottomColor:"rgba(255,255,255,0.08)"},tabButtons:{flexDirection:"row",gap:20},tabText:{fontSize:15,fontWeight:"500"},tabTextActive:{color:"#fff"},tabTextInactive:{color:"rgba(255,255,255,0.4)"},body:{flex:1,backgroundColor:"rgba(255,255,255,0.03)"}})},485,[346,29,63,258,486,487,488,489,490,250]);
|
|
538
538
|
__d(function(g,r,i,a,m,_e,d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),_e.PromptInput=function(t){var e=t.onSubmit,h=t.onStop,p=t.disabled,f=void 0!==p&&p,y=t.isProcessing,x=void 0!==y&&y,w=(0,n.useState)(""),C=(0,o.default)(w,2),j=C[0],v=C[1],B=()=>{var t=j.trim();!t||f||x||(e(t),v(""))},I=j.trim().length>0&&!f&&!x;return(0,l.jsxs)(s.View,{style:b.container,children:[(0,l.jsx)(s.TextInput,{style:b.input,placeholder:"Ask Claude...",placeholderTextColor:"rgba(255,255,255,0.5)",value:j,onChangeText:v,onSubmitEditing:B,editable:!x,multiline:!0,maxLength:2e3,returnKeyType:"send",blurOnSubmit:!0}),x?(0,l.jsx)(s.TouchableOpacity,{style:[b.submitButton,b.stopButton],onPress:h,activeOpacity:.7,children:(0,l.jsx)(c,{})}):(0,l.jsx)(s.TouchableOpacity,{style:[b.submitButton,!I&&b.submitButtonDisabled],onPress:B,disabled:!I,activeOpacity:.7,children:(0,l.jsx)(u,{})})]})};var t,e=r(d[0]),o=(t=e)&&t.__esModule?t:{default:t},n=r(d[1]),s=r(d[2]),l=r(d[3]);function u(){return(0,l.jsxs)(s.View,{style:b.arrowIcon,children:[(0,l.jsx)(s.View,{style:b.arrowLine}),(0,l.jsx)(s.View,{style:b.arrowHead})]})}function c(){return(0,l.jsx)(s.View,{style:b.stopIcon})}var b=s.StyleSheet.create({container:{flexDirection:"row",alignItems:"flex-end",paddingHorizontal:12,paddingVertical:12,borderTopWidth:1,borderTopColor:"rgba(255,255,255,0.08)",backgroundColor:"#000"},input:{flex:1,backgroundColor:"rgba(255,255,255,0.1)",borderRadius:22,paddingHorizontal:18,paddingVertical:12,color:"#fff",fontSize:15,maxHeight:100},submitButton:{width:40,height:40,borderRadius:20,backgroundColor:"rgba(255,255,255,0.15)",alignItems:"center",justifyContent:"center",marginLeft:10},submitButtonDisabled:{opacity:.4},stopButton:{backgroundColor:"#8E8E93"},stopIcon:{width:12,height:12,backgroundColor:"#fff",borderRadius:2},arrowIcon:{width:16,height:16,alignItems:"center",justifyContent:"center"},arrowLine:{width:2,height:10,backgroundColor:"#fff",borderRadius:1},arrowHead:{position:"absolute",top:0,width:0,height:0,borderLeftWidth:5,borderRightWidth:5,borderBottomWidth:6,borderLeftColor:"transparent",borderRightColor:"transparent",borderBottomColor:"#fff"}})},486,[29,63,258,250]);
|
|
539
539
|
__d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.ResponseArea=function(l){var c=l.messages,u=l.currentResponse,x=(0,t.useRef)(null);if((0,t.useEffect)(()=>{x.current?.scrollToEnd({animated:!0})},[c,u]),!(c.length>0||u.length>0))return(0,o.jsx)(n.View,{style:f.emptyContainer,children:(0,o.jsx)(n.Text,{style:f.emptyText,children:"Send a prompt to start coding with Claude"})});return(0,o.jsxs)(n.ScrollView,{ref:x,style:f.container,contentContainerStyle:f.content,showsVerticalScrollIndicator:!0,children:[c.map((t,n)=>(0,o.jsx)(s,{message:t},n)),u.length>0&&(0,o.jsxs)(n.View,{style:f.messageContainer,children:[(0,o.jsx)(n.Text,{style:f.responseText,children:u}),(0,o.jsx)(n.View,{style:f.cursor})]})]})};var t=r(d[0]),n=r(d[1]),o=r(d[2]);function s(t){var s=t.message;switch(s.type){case"stream":case"status":default:return null;case"tool":return(0,o.jsx)(u,{tool:s});case"result":return(0,o.jsx)(x,{result:s});case"error":return(0,o.jsx)(n.View,{style:f.errorContainer,children:(0,o.jsx)(n.Text,{style:f.errorText,children:s.message})});case"user_prompt":return(0,o.jsx)(l,{message:s});case"history_result":return(0,o.jsx)(c,{message:s})}}function l(t){var s=t.message;return(0,o.jsx)(n.View,{style:f.userPromptContainer,children:(0,o.jsx)(n.Text,{style:f.userPromptText,children:s.content})})}function c(t){var s=t.message;return(0,o.jsx)(n.View,{style:f.resultContainer,children:(0,o.jsx)(n.Text,{style:f.responseText,children:s.content})})}function u(t){var s=t.tool,l={started:"\u27f3",completed:"\u2713",failed:"\u2715"}[s.status],c={started:"#FF9500",completed:"#30D158",failed:"#FF453A"}[s.status],u=s.input?"string"==typeof s.input?s.input:JSON.stringify(s.input).substring(0,100):null;return(0,o.jsxs)(n.View,{style:f.toolContainer,children:[(0,o.jsxs)(n.View,{style:f.toolHeader,children:[(0,o.jsx)(n.Text,{style:[f.toolStatus,{color:c}],children:l}),(0,o.jsx)(n.Text,{style:f.toolName,children:s.toolName})]}),u&&(0,o.jsx)(n.Text,{style:f.toolInput,numberOfLines:2,children:u})]})}function x(t){var s=t.result;return!s.success&&s.error?(0,o.jsx)(n.View,{style:f.errorContainer,children:(0,o.jsx)(n.Text,{style:f.errorText,children:s.error})}):(0,o.jsxs)(n.View,{style:f.resultContainer,children:[s.result&&(0,o.jsx)(n.Text,{style:f.responseText,children:s.result}),(void 0!==s.costUsd||void 0!==s.durationMs)&&(0,o.jsxs)(n.Text,{style:f.metaText,children:[void 0!==s.durationMs&&`${s.durationMs}ms`,void 0!==s.costUsd&&void 0!==s.durationMs&&" \u2022 ",void 0!==s.costUsd&&`$${s.costUsd.toFixed(4)}`]})]})}var f=n.StyleSheet.create({container:{flex:1,backgroundColor:"#000"},content:{padding:16,paddingBottom:24},emptyContainer:{flex:1,alignItems:"center",justifyContent:"center",padding:24},emptyText:{color:"rgba(255,255,255,0.4)",fontSize:15,textAlign:"center",lineHeight:22},messageContainer:{flexDirection:"row",flexWrap:"wrap"},responseText:{color:"rgba(255,255,255,0.95)",fontSize:15,lineHeight:22},cursor:{width:2,height:18,backgroundColor:"#fff",marginLeft:2,opacity:.7},resultContainer:{marginTop:8},metaText:{color:"rgba(255,255,255,0.4)",fontSize:12,marginTop:10},errorContainer:{backgroundColor:"rgba(255,59,48,0.15)",borderRadius:12,padding:12,marginVertical:6},errorText:{color:"#FF6B6B",fontSize:14},toolContainer:{backgroundColor:"rgba(255,255,255,0.06)",borderRadius:12,padding:12,marginVertical:6},toolHeader:{flexDirection:"row",alignItems:"center"},toolStatus:{fontSize:15,marginRight:8},toolName:{color:"rgba(255,255,255,0.7)",fontSize:14,fontWeight:"500"},toolInput:{color:"rgba(255,255,255,0.4)",fontSize:12,marginTop:6,fontFamily:"monospace"},userPromptContainer:{backgroundColor:"rgba(0,122,255,0.15)",borderRadius:16,padding:12,marginVertical:8,alignSelf:"flex-end",maxWidth:"85%"},userPromptText:{color:"#fff",fontSize:15,lineHeight:20}})},487,[63,258,250]);
|
|
540
|
-
__d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.GitChangesTab=function(
|
|
540
|
+
__d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.GitChangesTab=function(c){var f=c.changes,x=c.onDiscard;if(!(f.length>0))return(0,n.jsxs)(t.View,{style:s.emptyContainer,children:[(0,n.jsx)(t.Text,{style:s.emptyTitle,children:"No uncommitted changes"}),(0,n.jsx)(t.Text,{style:s.emptySubtext,children:"Your working directory is clean"})]});return(0,n.jsxs)(t.View,{style:s.container,children:[(0,n.jsx)(t.ScrollView,{style:s.fileList,contentContainerStyle:s.fileListContent,children:f.map((c,f)=>(0,n.jsxs)(t.View,{style:s.fileRow,children:[(0,n.jsx)(t.Text,{style:[s.statusIcon,{color:l[c.status]}],children:o[c.status]}),(0,n.jsx)(t.Text,{style:s.fileName,numberOfLines:1,children:c.file})]},`${c.file}-${f}`))}),(0,n.jsxs)(t.View,{style:s.footer,children:[(0,n.jsx)(t.TouchableOpacity,{style:s.discardButton,onPress:x,children:(0,n.jsx)(t.Text,{style:s.discardText,children:"Discard All Changes"})}),(0,n.jsx)(t.Text,{style:s.warningText,children:"Note: Discarding won't reset memory"})]})]})},r(d[0]);var t=r(d[1]),n=r(d[2]),o={added:"A",modified:"M",deleted:"D",renamed:"R",untracked:"?"},l={added:"#30D158",modified:"#FFD60A",deleted:"#FF453A",renamed:"#BF5AF2",untracked:"#8E8E93"};var s=t.StyleSheet.create({container:{flex:1,backgroundColor:"#000"},emptyContainer:{flex:1,backgroundColor:"#000",alignItems:"center",justifyContent:"center",padding:24},emptyTitle:{color:"rgba(255,255,255,0.6)",fontSize:16,fontWeight:"500",marginBottom:8},emptySubtext:{color:"rgba(255,255,255,0.4)",fontSize:14},fileList:{flex:1},fileListContent:{padding:16},fileRow:{flexDirection:"row",alignItems:"center",paddingVertical:8,borderBottomWidth:1,borderBottomColor:"rgba(255,255,255,0.06)"},statusIcon:{width:20,fontSize:13,fontWeight:"600",fontFamily:"Menlo"},fileName:{flex:1,color:"rgba(255,255,255,0.8)",fontSize:14,fontFamily:"Menlo"},footer:{padding:16,borderTopWidth:1,borderTopColor:"rgba(255,255,255,0.08)",alignItems:"center"},discardButton:{backgroundColor:"rgba(255,59,48,0.15)",borderRadius:12,paddingVertical:12,paddingHorizontal:24,marginBottom:8},discardText:{color:"#FF3B30",fontSize:15,fontWeight:"500"},warningText:{color:"rgba(255,255,255,0.3)",fontSize:12}})},488,[63,258,250]);
|
|
541
541
|
__d(function(g,r,i,a,m,_e,d){"use strict";function t(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"WebSocketClient",{enumerable:!0,get:function(){return n}}),_e.getWebSocketClient=function(){return o},_e.createWebSocketClient=function(t){o&&o.disconnect();return o=new n(t)};var e=t(r(d[0])),s=t(r(d[1])),n=(function(){return(0,s.default)(function t(s){(0,e.default)(this,t),this.ws=null,this.reconnectAttempts=0,this.reconnectTimeout=null,this._status="disconnected",this.shouldReconnect=!0,this.options={reconnectInterval:3e3,maxReconnectAttempts:10,onConnect:()=>{},onDisconnect:()=>{},onMessage:()=>{},onError:()=>{},onStatusChange:()=>{},...s}},[{key:"status",get:function(){return this._status}},{key:"setStatus",value:function(t){this._status=t,this.options.onStatusChange(t)}},{key:"connect",value:function(){if(this.ws?.readyState!==WebSocket.OPEN){this.shouldReconnect=!0,this.setStatus("connecting");try{this.ws=new WebSocket(this.options.url),this.ws.onopen=()=>{this.reconnectAttempts=0,this.setStatus("connected"),this.options.onConnect()},this.ws.onclose=()=>{this.setStatus("disconnected"),this.options.onDisconnect(),this.attemptReconnect()},this.ws.onerror=()=>{var t=new Error("WebSocket error");this.options.onError(t)},this.ws.onmessage=t=>{try{var e=JSON.parse(t.data);this.handleMessage(e)}catch(t){console.error("[expo-air] Failed to parse message:",t)}}}catch(t){this.options.onError(t),this.attemptReconnect()}}}},{key:"handleMessage",value:function(t){"status"===t.type?"processing"===t.status?this.setStatus("processing"):"idle"!==t.status&&"connected"!==t.status||this.setStatus("connected"):"result"===t.type||"error"===t.type?this.setStatus("connected"):"stopped"!==t.type&&"session_cleared"!==t.type||this.setStatus("connected"),this.options.onMessage(t)}},{key:"attemptReconnect",value:function(){this.shouldReconnect&&(this.reconnectAttempts>=this.options.maxReconnectAttempts?console.log("[expo-air] Max reconnect attempts reached"):(this.reconnectTimeout&&clearTimeout(this.reconnectTimeout),this.reconnectAttempts++,console.log(`[expo-air] Reconnecting... (attempt ${this.reconnectAttempts}/${this.options.maxReconnectAttempts})`),this.reconnectTimeout=setTimeout(()=>{this.connect()},this.options.reconnectInterval)))}},{key:"disconnect",value:function(){this.shouldReconnect=!1,this.reconnectTimeout&&(clearTimeout(this.reconnectTimeout),this.reconnectTimeout=null),this.ws&&(this.ws.close(),this.ws=null),this.setStatus("disconnected")}},{key:"sendPrompt",value:function(t){if(this.ws&&this.ws.readyState===WebSocket.OPEN){var e={type:"prompt",content:t,id:Math.random().toString(36).substring(2,15)};this.ws.send(JSON.stringify(e)),this.setStatus("processing")}else this.options.onError(new Error("Not connected"))}},{key:"requestNewSession",value:function(){this.ws&&this.ws.readyState===WebSocket.OPEN?this.ws.send(JSON.stringify({type:"new_session"})):this.options.onError(new Error("Not connected"))}},{key:"requestStop",value:function(){this.ws&&this.ws.readyState===WebSocket.OPEN?this.ws.send(JSON.stringify({type:"stop"})):this.options.onError(new Error("Not connected"))}},{key:"requestDiscardChanges",value:function(){this.ws&&this.ws.readyState===WebSocket.OPEN?this.ws.send(JSON.stringify({type:"discard_changes"})):this.options.onError(new Error("Not connected"))}},{key:"sendPushToken",value:function(t){this.ws&&this.ws.readyState===WebSocket.OPEN&&this.ws.send(JSON.stringify({type:"register_push_token",token:t}))}},{key:"isConnected",value:function(){return this.ws?.readyState===WebSocket.OPEN}}])})();var o=null},489,[8,9]);
|
|
542
|
-
__d(function(g,r,i,a,m,_e,d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),_e.requestPushToken=function(){return
|
|
542
|
+
__d(function(g,r,i,a,m,_e,d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),_e.requestPushToken=function(){return c.apply(this,arguments)},_e.setupTapHandler=function(e){var t=null,s=!1;return(0,n.default)(function*(){try{var n=yield u();if(!n||s)return;t=n.addNotificationResponseReceivedListener(t=>{var n=t.notification.request.content.data;n?.source===o&&(console.log("[expo-air] Notification tapped:",n),e(n.promptId,n.success))})}catch(e){console.log("[expo-air] Notifications not available:",e)}})(),()=>{s=!0,t?.remove()}};var e,t=r(d[0]),n=(e=t)&&e.__esModule?e:{default:e},o="expo-air",s=null;function u(){return l.apply(this,arguments)}function l(){return(l=(0,n.default)(function*(){if(s)return s;try{return s=yield r(d[2])(d[1],d.paths,"expo-notifications")}catch{return null}})).apply(this,arguments)}function c(){return(c=(0,n.default)(function*(){try{var e=yield u();if(!e)return console.log("[expo-air] expo-notifications not available"),null;var t=(yield e.getPermissionsAsync()).status,n=t;if("granted"!==t)n=(yield e.requestPermissionsAsync()).status;if("granted"!==n)return console.log("[expo-air] Push notification permission denied"),null;var o=yield e.getExpoPushTokenAsync({projectId:void 0});return console.log("[expo-air] Push token:",o.data),o.data}catch(e){return console.error("[expo-air] Failed to get push token:",e),null}})).apply(this,arguments)}},490,[346,null,491]);
|
|
543
543
|
__d(function(g,r,i,a,m,e,d){m.exports=r(d[0])},491,[492]);
|
|
544
544
|
__d(function(g,r,i,a,m,e,d){var n=r(d[0]).default;function t(n,t){var o=g[`${__METRO_GLOBAL_PREFIX__}__loadBundleAsync`];if(null!=o){var u=String(n);if(null!=t){var s=t[u];if(null!=s)return o(s)}}}function o(n,o){var u=t(n,o),s=()=>r.importAll(n);return null!=u?u.then(s):s()}function u(n,t,o){return s.apply(this,arguments)}function s(){return(s=n(function*(n,t,u){return o(n,t)})).apply(this,arguments)}u.unstable_importMaybeSync=function(n,t){return o(n,t)},u.prefetch=function(n,o,u){t(n,o)?.then(()=>{},()=>{})},u.unstable_resolve=function(n,t){if(!t)throw new Error('Bundle splitting is required for Web Worker imports');var o=t[n];if(!o)throw new Error('Worker import is missing from split bundle paths: '+o);return o},u.unstable_createWorker=function(n,t){if('undefined'==typeof crossOriginIsolated||!crossOriginIsolated)return new Worker(n,t);try{var o=(u=n,`\n const ASYNC_WORKER_BASE = ${JSON.stringify(u)};\n const IMPORT_SCRIPTS = importScripts;\n const FETCH = fetch;\n const fromBaseURL = (input) => new URL(input, ASYNC_WORKER_BASE).href;\n self.fetch = function(input, init) {\n return FETCH(typeof input === 'string' ? fromBaseURL(input) : input, init);\n };\n self.importScripts = function(...urls) {\n return IMPORT_SCRIPTS.apply(self, urls.map(fromBaseURL));\n };\n importScripts(ASYNC_WORKER_BASE);\n `);return n=URL.createObjectURL(new Blob([o],{type:'text/javascript'})),new Worker(n,t)}finally{URL.revokeObjectURL(n)}var u},m.exports=u},492,[346]);
|
|
545
545
|
__r(1);
|
package/package.json
CHANGED
package/widget/BubbleContent.tsx
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React, { useState, useEffect, useCallback, useRef } from "react";
|
|
2
|
-
import { View, Text, StyleSheet, NativeModules, TouchableOpacity, Animated, Easing } from "react-native";
|
|
2
|
+
import { View, Text, StyleSheet, NativeModules, TouchableOpacity, Animated, Easing, Linking } from "react-native";
|
|
3
3
|
import { PromptInput } from "./components/PromptInput";
|
|
4
4
|
import { ResponseArea } from "./components/ResponseArea";
|
|
5
5
|
import { GitChangesTab } from "./components/GitChangesTab";
|
|
@@ -51,9 +51,14 @@ export function BubbleContent({
|
|
|
51
51
|
const [currentResponse, setCurrentResponse] = useState("");
|
|
52
52
|
const [branchName, setBranchName] = useState<string>("main");
|
|
53
53
|
const [gitChanges, setGitChanges] = useState<GitChange[]>([]);
|
|
54
|
+
const [hasPR, setHasPR] = useState(false);
|
|
55
|
+
const [prUrl, setPrUrl] = useState<string | undefined>();
|
|
54
56
|
const [activeTab, setActiveTab] = useState<TabType>("chat");
|
|
55
57
|
const pushTokenSentRef = useRef(false);
|
|
56
58
|
|
|
59
|
+
// Extract PR number from URL (e.g., "https://github.com/org/repo/pull/12" → "12")
|
|
60
|
+
const prNumber = prUrl?.match(/\/pull\/(\d+)/)?.[1];
|
|
61
|
+
|
|
57
62
|
// Initialize WebSocket connection immediately (even when collapsed)
|
|
58
63
|
// so it's already connected when user expands the widget
|
|
59
64
|
useEffect(() => {
|
|
@@ -136,9 +141,11 @@ export function BubbleContent({
|
|
|
136
141
|
setMessages(historyMessages);
|
|
137
142
|
break;
|
|
138
143
|
case "git_status":
|
|
139
|
-
// Update branch name and
|
|
144
|
+
// Update branch name, git changes, and PR status
|
|
140
145
|
setBranchName(message.branchName);
|
|
141
146
|
setGitChanges(message.changes);
|
|
147
|
+
setHasPR(message.hasPR);
|
|
148
|
+
setPrUrl(message.prUrl);
|
|
142
149
|
break;
|
|
143
150
|
}
|
|
144
151
|
}, []);
|
|
@@ -187,6 +194,22 @@ export function BubbleContent({
|
|
|
187
194
|
}
|
|
188
195
|
}, []);
|
|
189
196
|
|
|
197
|
+
const handleCommit = useCallback(() => {
|
|
198
|
+
setActiveTab("chat");
|
|
199
|
+
handleSubmit("Look at my current git changes and create a commit with a good conventional commit message. Stage all changes and commit them.");
|
|
200
|
+
}, [handleSubmit]);
|
|
201
|
+
|
|
202
|
+
const handleCreatePR = useCallback(() => {
|
|
203
|
+
setActiveTab("chat");
|
|
204
|
+
handleSubmit("Create a pull request for my current branch. First commit any uncommitted changes with a good message. Then generate a title and description based on the commits, and use `gh pr create --title \"...\" --body \"...\"` (non-interactive mode) to create it. Push to remote first if needed.");
|
|
205
|
+
}, [handleSubmit]);
|
|
206
|
+
|
|
207
|
+
const handleViewPR = useCallback(() => {
|
|
208
|
+
if (prUrl) {
|
|
209
|
+
Linking.openURL(prUrl);
|
|
210
|
+
}
|
|
211
|
+
}, [prUrl]);
|
|
212
|
+
|
|
190
213
|
const handleDiscard = useCallback(() => {
|
|
191
214
|
const client = getWebSocketClient();
|
|
192
215
|
if (client) {
|
|
@@ -215,6 +238,12 @@ export function BubbleContent({
|
|
|
215
238
|
onTabChange={setActiveTab}
|
|
216
239
|
onNewSession={handleNewSession}
|
|
217
240
|
canStartNew={status === "connected"}
|
|
241
|
+
hasPR={hasPR}
|
|
242
|
+
hasChanges={gitChanges.length > 0}
|
|
243
|
+
prNumber={prNumber}
|
|
244
|
+
onCreatePR={handleCreatePR}
|
|
245
|
+
onCommit={handleCommit}
|
|
246
|
+
onViewPR={handleViewPR}
|
|
218
247
|
/>
|
|
219
248
|
<View style={styles.body}>
|
|
220
249
|
{activeTab === "chat" ? (
|
|
@@ -268,9 +297,53 @@ interface TabBarProps {
|
|
|
268
297
|
onTabChange: (tab: TabType) => void;
|
|
269
298
|
onNewSession: () => void;
|
|
270
299
|
canStartNew: boolean;
|
|
300
|
+
hasPR: boolean;
|
|
301
|
+
hasChanges: boolean;
|
|
302
|
+
prNumber?: string;
|
|
303
|
+
onCreatePR: () => void;
|
|
304
|
+
onCommit: () => void;
|
|
305
|
+
onViewPR: () => void;
|
|
271
306
|
}
|
|
272
307
|
|
|
273
|
-
function TabBar({
|
|
308
|
+
function TabBar({
|
|
309
|
+
activeTab,
|
|
310
|
+
onTabChange,
|
|
311
|
+
onNewSession,
|
|
312
|
+
canStartNew,
|
|
313
|
+
hasPR,
|
|
314
|
+
hasChanges,
|
|
315
|
+
prNumber,
|
|
316
|
+
onCreatePR,
|
|
317
|
+
onCommit,
|
|
318
|
+
onViewPR,
|
|
319
|
+
}: TabBarProps) {
|
|
320
|
+
// Determine which CTA to show for Changes tab
|
|
321
|
+
const renderCTA = () => {
|
|
322
|
+
if (activeTab === "chat") {
|
|
323
|
+
return (
|
|
324
|
+
<TouchableOpacity
|
|
325
|
+
onPress={onNewSession}
|
|
326
|
+
style={[styles.ctaButton, !canStartNew && styles.ctaButtonDisabled]}
|
|
327
|
+
disabled={!canStartNew}
|
|
328
|
+
>
|
|
329
|
+
<Text style={[styles.ctaText, !canStartNew && styles.ctaTextDisabled]}>New</Text>
|
|
330
|
+
</TouchableOpacity>
|
|
331
|
+
);
|
|
332
|
+
}
|
|
333
|
+
|
|
334
|
+
// Changes tab - show smart CTA with breathing animation
|
|
335
|
+
if (!hasPR && hasChanges) {
|
|
336
|
+
return <BreathingButton onPress={onCreatePR}>Create PR</BreathingButton>;
|
|
337
|
+
}
|
|
338
|
+
if (hasPR && hasChanges) {
|
|
339
|
+
return <BreathingButton onPress={onCommit}>Commit</BreathingButton>;
|
|
340
|
+
}
|
|
341
|
+
if (hasPR && !hasChanges && prNumber) {
|
|
342
|
+
return <BreathingButton onPress={onViewPR}>#{prNumber}</BreathingButton>;
|
|
343
|
+
}
|
|
344
|
+
return null; // no PR + no changes = nothing
|
|
345
|
+
};
|
|
346
|
+
|
|
274
347
|
return (
|
|
275
348
|
<View style={styles.tabBar}>
|
|
276
349
|
<View style={styles.tabButtons}>
|
|
@@ -291,19 +364,49 @@ function TabBar({ activeTab, onTabChange, onNewSession, canStartNew }: TabBarPro
|
|
|
291
364
|
</Text>
|
|
292
365
|
</TouchableOpacity>
|
|
293
366
|
</View>
|
|
294
|
-
{
|
|
295
|
-
<TouchableOpacity
|
|
296
|
-
onPress={onNewSession}
|
|
297
|
-
style={[styles.newButton, !canStartNew && styles.newButtonDisabled]}
|
|
298
|
-
disabled={!canStartNew}
|
|
299
|
-
>
|
|
300
|
-
<Text style={[styles.newButtonText, !canStartNew && styles.newButtonTextDisabled]}>New</Text>
|
|
301
|
-
</TouchableOpacity>
|
|
302
|
-
)}
|
|
367
|
+
{renderCTA()}
|
|
303
368
|
</View>
|
|
304
369
|
);
|
|
305
370
|
}
|
|
306
371
|
|
|
372
|
+
interface BreathingButtonProps {
|
|
373
|
+
children: React.ReactNode;
|
|
374
|
+
onPress: () => void;
|
|
375
|
+
}
|
|
376
|
+
|
|
377
|
+
function BreathingButton({ children, onPress }: BreathingButtonProps) {
|
|
378
|
+
const opacityAnim = useRef(new Animated.Value(0.6)).current;
|
|
379
|
+
|
|
380
|
+
useEffect(() => {
|
|
381
|
+
const animation = Animated.loop(
|
|
382
|
+
Animated.sequence([
|
|
383
|
+
Animated.timing(opacityAnim, {
|
|
384
|
+
toValue: 0.9,
|
|
385
|
+
duration: 1500,
|
|
386
|
+
easing: Easing.inOut(Easing.ease),
|
|
387
|
+
useNativeDriver: true,
|
|
388
|
+
}),
|
|
389
|
+
Animated.timing(opacityAnim, {
|
|
390
|
+
toValue: 0.6,
|
|
391
|
+
duration: 1500,
|
|
392
|
+
easing: Easing.inOut(Easing.ease),
|
|
393
|
+
useNativeDriver: true,
|
|
394
|
+
}),
|
|
395
|
+
])
|
|
396
|
+
);
|
|
397
|
+
animation.start();
|
|
398
|
+
return () => animation.stop();
|
|
399
|
+
}, [opacityAnim]);
|
|
400
|
+
|
|
401
|
+
return (
|
|
402
|
+
<TouchableOpacity onPress={onPress} style={styles.ctaButton} activeOpacity={0.7}>
|
|
403
|
+
<Animated.Text style={[styles.ctaText, { opacity: opacityAnim }]}>
|
|
404
|
+
{children}
|
|
405
|
+
</Animated.Text>
|
|
406
|
+
</TouchableOpacity>
|
|
407
|
+
);
|
|
408
|
+
}
|
|
409
|
+
|
|
307
410
|
function PulsingIndicator({ status }: { status: ConnectionStatus }) {
|
|
308
411
|
const colors = {
|
|
309
412
|
disconnected: "#FF3B30",
|
|
@@ -454,21 +557,21 @@ const styles = StyleSheet.create({
|
|
|
454
557
|
height: 8,
|
|
455
558
|
borderRadius: 4,
|
|
456
559
|
},
|
|
457
|
-
|
|
560
|
+
ctaButton: {
|
|
458
561
|
paddingHorizontal: 12,
|
|
459
562
|
paddingVertical: 6,
|
|
460
563
|
borderRadius: 14,
|
|
461
|
-
backgroundColor: "rgba(255,255,255,0.
|
|
564
|
+
backgroundColor: "rgba(255,255,255,0.08)",
|
|
462
565
|
},
|
|
463
|
-
|
|
566
|
+
ctaButtonDisabled: {
|
|
464
567
|
opacity: 0.4,
|
|
465
568
|
},
|
|
466
|
-
|
|
569
|
+
ctaText: {
|
|
467
570
|
color: "#fff",
|
|
468
571
|
fontSize: 13,
|
|
469
572
|
fontWeight: "600",
|
|
470
573
|
},
|
|
471
|
-
|
|
574
|
+
ctaTextDisabled: {
|
|
472
575
|
opacity: 0.6,
|
|
473
576
|
},
|
|
474
577
|
tabBar: {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import { View, Text,
|
|
2
|
+
import { View, Text, TouchableOpacity, StyleSheet, ScrollView } from "react-native";
|
|
3
3
|
import type { GitChange } from "../services/websocket";
|
|
4
4
|
|
|
5
5
|
interface GitChangesTabProps {
|
|
@@ -7,142 +7,125 @@ interface GitChangesTabProps {
|
|
|
7
7
|
onDiscard?: () => void;
|
|
8
8
|
}
|
|
9
9
|
|
|
10
|
+
const STATUS_ICONS: Record<GitChange["status"], string> = {
|
|
11
|
+
added: "A",
|
|
12
|
+
modified: "M",
|
|
13
|
+
deleted: "D",
|
|
14
|
+
renamed: "R",
|
|
15
|
+
untracked: "?",
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
const STATUS_COLORS: Record<GitChange["status"], string> = {
|
|
19
|
+
added: "#30D158",
|
|
20
|
+
modified: "#FFD60A",
|
|
21
|
+
deleted: "#FF453A",
|
|
22
|
+
renamed: "#BF5AF2",
|
|
23
|
+
untracked: "#8E8E93",
|
|
24
|
+
};
|
|
25
|
+
|
|
10
26
|
export function GitChangesTab({ changes, onDiscard }: GitChangesTabProps) {
|
|
11
27
|
const hasChanges = changes.length > 0;
|
|
12
28
|
|
|
29
|
+
if (!hasChanges) {
|
|
30
|
+
return (
|
|
31
|
+
<View style={styles.emptyContainer}>
|
|
32
|
+
<Text style={styles.emptyTitle}>No uncommitted changes</Text>
|
|
33
|
+
<Text style={styles.emptySubtext}>Your working directory is clean</Text>
|
|
34
|
+
</View>
|
|
35
|
+
);
|
|
36
|
+
}
|
|
37
|
+
|
|
13
38
|
return (
|
|
14
39
|
<View style={styles.container}>
|
|
15
|
-
{
|
|
16
|
-
|
|
17
|
-
<
|
|
18
|
-
{
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
<Text style={styles.fileName} numberOfLines={1}>
|
|
24
|
-
{change.file}
|
|
25
|
-
</Text>
|
|
26
|
-
</View>
|
|
27
|
-
))}
|
|
28
|
-
</ScrollView>
|
|
29
|
-
<View style={styles.footer}>
|
|
30
|
-
<TouchableOpacity style={styles.discardButton} onPress={onDiscard}>
|
|
31
|
-
<Text style={styles.discardButtonText}>Discard All Changes</Text>
|
|
32
|
-
</TouchableOpacity>
|
|
33
|
-
<Text style={styles.warningText}>
|
|
34
|
-
Note: Discarding changes won't reset Claude's memory
|
|
40
|
+
<ScrollView style={styles.fileList} contentContainerStyle={styles.fileListContent}>
|
|
41
|
+
{changes.map((change, index) => (
|
|
42
|
+
<View key={`${change.file}-${index}`} style={styles.fileRow}>
|
|
43
|
+
<Text style={[styles.statusIcon, { color: STATUS_COLORS[change.status] }]}>
|
|
44
|
+
{STATUS_ICONS[change.status]}
|
|
45
|
+
</Text>
|
|
46
|
+
<Text style={styles.fileName} numberOfLines={1}>
|
|
47
|
+
{change.file}
|
|
35
48
|
</Text>
|
|
36
49
|
</View>
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
<Text style={styles.
|
|
42
|
-
</
|
|
43
|
-
|
|
50
|
+
))}
|
|
51
|
+
</ScrollView>
|
|
52
|
+
<View style={styles.footer}>
|
|
53
|
+
<TouchableOpacity style={styles.discardButton} onPress={onDiscard}>
|
|
54
|
+
<Text style={styles.discardText}>Discard All Changes</Text>
|
|
55
|
+
</TouchableOpacity>
|
|
56
|
+
<Text style={styles.warningText}>Note: Discarding won't reset memory</Text>
|
|
57
|
+
</View>
|
|
44
58
|
</View>
|
|
45
59
|
);
|
|
46
60
|
}
|
|
47
61
|
|
|
48
|
-
function getStatusIcon(status: GitChange["status"]): string {
|
|
49
|
-
switch (status) {
|
|
50
|
-
case "added":
|
|
51
|
-
return "+";
|
|
52
|
-
case "modified":
|
|
53
|
-
return "M";
|
|
54
|
-
case "deleted":
|
|
55
|
-
return "D";
|
|
56
|
-
case "renamed":
|
|
57
|
-
return "R";
|
|
58
|
-
case "untracked":
|
|
59
|
-
return "?";
|
|
60
|
-
default:
|
|
61
|
-
return "•";
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
|
|
65
62
|
const styles = StyleSheet.create({
|
|
66
63
|
container: {
|
|
67
64
|
flex: 1,
|
|
68
65
|
backgroundColor: "#000",
|
|
69
66
|
},
|
|
67
|
+
emptyContainer: {
|
|
68
|
+
flex: 1,
|
|
69
|
+
backgroundColor: "#000",
|
|
70
|
+
alignItems: "center",
|
|
71
|
+
justifyContent: "center",
|
|
72
|
+
padding: 24,
|
|
73
|
+
},
|
|
74
|
+
emptyTitle: {
|
|
75
|
+
color: "rgba(255,255,255,0.6)",
|
|
76
|
+
fontSize: 16,
|
|
77
|
+
fontWeight: "500",
|
|
78
|
+
marginBottom: 8,
|
|
79
|
+
},
|
|
80
|
+
emptySubtext: {
|
|
81
|
+
color: "rgba(255,255,255,0.4)",
|
|
82
|
+
fontSize: 14,
|
|
83
|
+
},
|
|
70
84
|
fileList: {
|
|
71
85
|
flex: 1,
|
|
72
86
|
},
|
|
73
87
|
fileListContent: {
|
|
74
88
|
padding: 16,
|
|
75
89
|
},
|
|
76
|
-
|
|
90
|
+
fileRow: {
|
|
77
91
|
flexDirection: "row",
|
|
78
92
|
alignItems: "center",
|
|
79
|
-
paddingVertical:
|
|
93
|
+
paddingVertical: 8,
|
|
80
94
|
borderBottomWidth: 1,
|
|
81
95
|
borderBottomColor: "rgba(255,255,255,0.06)",
|
|
82
96
|
},
|
|
83
|
-
|
|
84
|
-
width:
|
|
85
|
-
fontSize:
|
|
97
|
+
statusIcon: {
|
|
98
|
+
width: 20,
|
|
99
|
+
fontSize: 13,
|
|
86
100
|
fontWeight: "600",
|
|
87
|
-
fontFamily: "
|
|
88
|
-
},
|
|
89
|
-
status_added: {
|
|
90
|
-
color: "#30D158",
|
|
91
|
-
},
|
|
92
|
-
status_modified: {
|
|
93
|
-
color: "#FF9F0A",
|
|
94
|
-
},
|
|
95
|
-
status_deleted: {
|
|
96
|
-
color: "#FF453A",
|
|
97
|
-
},
|
|
98
|
-
status_renamed: {
|
|
99
|
-
color: "#5E5CE6",
|
|
100
|
-
},
|
|
101
|
-
status_untracked: {
|
|
102
|
-
color: "rgba(255,255,255,0.5)",
|
|
101
|
+
fontFamily: "Menlo",
|
|
103
102
|
},
|
|
104
103
|
fileName: {
|
|
105
104
|
flex: 1,
|
|
106
|
-
color: "rgba(255,255,255,0.
|
|
105
|
+
color: "rgba(255,255,255,0.8)",
|
|
107
106
|
fontSize: 14,
|
|
108
|
-
fontFamily: "
|
|
107
|
+
fontFamily: "Menlo",
|
|
109
108
|
},
|
|
110
109
|
footer: {
|
|
111
110
|
padding: 16,
|
|
112
111
|
borderTopWidth: 1,
|
|
113
112
|
borderTopColor: "rgba(255,255,255,0.08)",
|
|
113
|
+
alignItems: "center",
|
|
114
114
|
},
|
|
115
115
|
discardButton: {
|
|
116
|
-
backgroundColor: "rgba(255,
|
|
116
|
+
backgroundColor: "rgba(255,59,48,0.15)",
|
|
117
117
|
borderRadius: 12,
|
|
118
|
-
paddingVertical:
|
|
119
|
-
|
|
118
|
+
paddingVertical: 12,
|
|
119
|
+
paddingHorizontal: 24,
|
|
120
|
+
marginBottom: 8,
|
|
120
121
|
},
|
|
121
|
-
|
|
122
|
-
color: "#
|
|
122
|
+
discardText: {
|
|
123
|
+
color: "#FF3B30",
|
|
123
124
|
fontSize: 15,
|
|
124
|
-
fontWeight: "
|
|
125
|
+
fontWeight: "500",
|
|
125
126
|
},
|
|
126
127
|
warningText: {
|
|
127
|
-
color: "rgba(255,255,255,0.
|
|
128
|
+
color: "rgba(255,255,255,0.3)",
|
|
128
129
|
fontSize: 12,
|
|
129
|
-
textAlign: "center",
|
|
130
|
-
marginTop: 10,
|
|
131
|
-
},
|
|
132
|
-
emptyContainer: {
|
|
133
|
-
flex: 1,
|
|
134
|
-
alignItems: "center",
|
|
135
|
-
justifyContent: "center",
|
|
136
|
-
padding: 24,
|
|
137
|
-
},
|
|
138
|
-
emptyText: {
|
|
139
|
-
color: "rgba(255,255,255,0.6)",
|
|
140
|
-
fontSize: 16,
|
|
141
|
-
fontWeight: "500",
|
|
142
|
-
},
|
|
143
|
-
emptySubtext: {
|
|
144
|
-
color: "rgba(255,255,255,0.35)",
|
|
145
|
-
fontSize: 14,
|
|
146
|
-
marginTop: 6,
|
|
147
130
|
},
|
|
148
131
|
});
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Push notification service for expo-air widget.
|
|
3
|
-
* Dev-only: all functions return early if not in __DEV__ mode.
|
|
4
3
|
* Does NOT override existing app notification handlers.
|
|
5
4
|
* Fails silently if push notifications aren't configured or expo-notifications isn't installed.
|
|
5
|
+
*
|
|
6
|
+
* Note: The widget is only shown in the host app's DEBUG mode (controlled by native code),
|
|
7
|
+
* so we don't need __DEV__ checks here. The pre-built widget bundle is always a production
|
|
8
|
+
* build (via expo export), so __DEV__ would always be false anyway.
|
|
6
9
|
*/
|
|
7
10
|
|
|
8
11
|
const EXPO_AIR_SOURCE = "expo-air";
|
|
@@ -22,12 +25,9 @@ async function getNotifications(): Promise<typeof import("expo-notifications") |
|
|
|
22
25
|
|
|
23
26
|
/**
|
|
24
27
|
* Request push notification permissions and get Expo push token.
|
|
25
|
-
* Only runs in __DEV__ mode.
|
|
26
28
|
* @returns Expo push token string or null if failed/denied
|
|
27
29
|
*/
|
|
28
30
|
export async function requestPushToken(): Promise<string | null> {
|
|
29
|
-
if (!__DEV__) return null;
|
|
30
|
-
|
|
31
31
|
try {
|
|
32
32
|
const notif = await getNotifications();
|
|
33
33
|
if (!notif) {
|
|
@@ -65,14 +65,12 @@ export async function requestPushToken(): Promise<string | null> {
|
|
|
65
65
|
* Setup tap handler for expo-air notifications.
|
|
66
66
|
* Uses addNotificationResponseReceivedListener (additive, non-overriding).
|
|
67
67
|
* Filters by data.source === "expo-air" to ignore other app notifications.
|
|
68
|
-
* Only runs in __DEV__ mode.
|
|
69
68
|
* @param onTap Callback when user taps an expo-air notification
|
|
70
69
|
* @returns Cleanup function to remove listener
|
|
71
70
|
*/
|
|
72
71
|
export function setupTapHandler(
|
|
73
72
|
onTap: (promptId?: string, success?: boolean) => void
|
|
74
73
|
): () => void {
|
|
75
|
-
if (!__DEV__) return () => {};
|
|
76
74
|
|
|
77
75
|
// Start async setup, return cleanup that handles pending setup
|
|
78
76
|
let subscription: { remove: () => void } | null = null;
|