mirror of
https://github.com/hanzoai/extension.git
synced 2026-10-31 21:57:06 +00:00
A Microsoft Outlook mail add-in embedding Hanzo AI into email — the highest-value law-office surface after Word. Mail add-in manifest (MailApp), Read + Compose command surfaces, ribbon button opens the task pane. Quick actions: Summarize thread, Draft reply, Extract deadlines & action items, Explain plainly — all streamed (askStream/SSE). - Reuses the Office add-in's pure core identically: config.ts (api.hanzo.ai /v1 gateway), chat.ts (ask/askStream/listModels), auth.ts (@hanzo/auth OAuth2+PKCE via roamingSettings + hk- API-key path). Shares the hanzo-office IAM client — no new auth surface. - New outlook-host.ts: Office.context.mailbox.item glue (read body/subject/ from; compose prepend/setSelectedData; displayReplyForm) + pure shaping helpers (stripHtml, collapseWhitespace, shapeMessage, formatFrom, mailMode). - build.js mirrors office (esbuild -> dist/, base-URL stamp, dev HTTPS serve). - 39 vitest tests pass; manifest validated by office-addin-manifest. - Registered packages/outlook in pnpm-workspace.yaml.
24 lines
713 B
HTML
24 lines
713 B
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8" />
|
|
<title>Signing in…</title>
|
|
<script src="https://appsforoffice.microsoft.com/lib/1/hosted/office.js"></script>
|
|
</head>
|
|
<body>
|
|
<p>Completing sign-in…</p>
|
|
<script>
|
|
// The IAM redirect lands here inside the Office auth dialog. Hand the full
|
|
// callback URL (carrying ?code=&state=) back to the task pane via
|
|
// messageParent, then the pane exchanges the code for a token.
|
|
Office.onReady(function () {
|
|
try {
|
|
Office.context.ui.messageParent(window.location.href);
|
|
} catch (e) {
|
|
document.body.innerText = 'Sign-in could not return to the add-in: ' + e;
|
|
}
|
|
});
|
|
</script>
|
|
</body>
|
|
</html>
|