MCPcopy Create free account
hub / github.com/anus-dev/ANUS / setUpdateHandler

Function setUpdateHandler

packages/cli/src/utils/handleAutoUpdate.ts:80–146  ·  view source on GitHub ↗
(
  addItem: (item: Omit<HistoryItem, 'id'>, timestamp: number) => void,
  setUpdateInfo: (info: UpdateObject | null) => void,
)

Source from the content-addressed store, hash-verified

78}
79
80export function setUpdateHandler(
81 addItem: (item: Omit<HistoryItem, 'id'>, timestamp: number) => void,
82 setUpdateInfo: (info: UpdateObject | null) => void,
83) {
84 let successfullyInstalled = false;
85 const handleUpdateRecieved = (info: UpdateObject) => {
86 setUpdateInfo(info);
87 const savedMessage = info.message;
88 setTimeout(() => {
89 if (!successfullyInstalled) {
90 addItem(
91 {
92 type: MessageType.INFO,
93 text: savedMessage,
94 },
95 Date.now(),
96 );
97 }
98 setUpdateInfo(null);
99 }, 60000);
100 };
101
102 const handleUpdateFailed = () => {
103 setUpdateInfo(null);
104 addItem(
105 {
106 type: MessageType.ERROR,
107 text: `Automatic update failed. Please try updating manually`,
108 },
109 Date.now(),
110 );
111 };
112
113 const handleUpdateSuccess = () => {
114 successfullyInstalled = true;
115 setUpdateInfo(null);
116 addItem(
117 {
118 type: MessageType.INFO,
119 text: `Update successful! The new version will be used on your next run.`,
120 },
121 Date.now(),
122 );
123 };
124
125 const handleUpdateInfo = (data: { message: string }) => {
126 addItem(
127 {
128 type: MessageType.INFO,
129 text: data.message,
130 },
131 Date.now(),
132 );
133 };
134
135 updateEventEmitter.on('update-received', handleUpdateRecieved);
136 updateEventEmitter.on('update-failed', handleUpdateFailed);
137 updateEventEmitter.on('update-success', handleUpdateSuccess);

Callers 1

AppFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected