copilot-operator 0.1.0

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 (128) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +556 -0
  3. package/dist/src/api/app.module.js +18 -0
  4. package/dist/src/api/dataAcl.js +109 -0
  5. package/dist/src/api/folderPicker.js +110 -0
  6. package/dist/src/api/main.js +132 -0
  7. package/dist/src/api/operator.controller.js +975 -0
  8. package/dist/src/api/operator.service.js +1971 -0
  9. package/dist/src/api/saveToDesktop.js +157 -0
  10. package/dist/src/api/security.js +225 -0
  11. package/dist/src/api/settings.js +57 -0
  12. package/dist/src/cli.js +531 -0
  13. package/dist/src/config/layout.js +66 -0
  14. package/dist/src/config/lockedPolicy.js +176 -0
  15. package/dist/src/config/schema.js +487 -0
  16. package/dist/src/context/contextFiles.js +295 -0
  17. package/dist/src/context/desktopMirror.js +113 -0
  18. package/dist/src/context/projectMirror.js +364 -0
  19. package/dist/src/exec/authorizer.js +61 -0
  20. package/dist/src/exec/checks.js +285 -0
  21. package/dist/src/exec/confinement.js +224 -0
  22. package/dist/src/exec/dangerous.js +161 -0
  23. package/dist/src/exec/environment.js +80 -0
  24. package/dist/src/exec/isolation.js +166 -0
  25. package/dist/src/exec/network.js +242 -0
  26. package/dist/src/exec/policy.js +201 -0
  27. package/dist/src/exec/policyManifest.js +84 -0
  28. package/dist/src/exec/processes.js +329 -0
  29. package/dist/src/exec/programs.js +290 -0
  30. package/dist/src/exec/redaction.js +93 -0
  31. package/dist/src/exec/reportFile.js +154 -0
  32. package/dist/src/exec/runner.js +245 -0
  33. package/dist/src/exec/scriptFiles.js +81 -0
  34. package/dist/src/exec/shellExecuteTrap.js +221 -0
  35. package/dist/src/exec/shells.js +298 -0
  36. package/dist/src/exec/stepEnv.js +72 -0
  37. package/dist/src/exec/winps.js +17 -0
  38. package/dist/src/exec/workDir.js +94 -0
  39. package/dist/src/log/runLog.js +43 -0
  40. package/dist/src/orchestrator/derivedChecks.js +95 -0
  41. package/dist/src/orchestrator/review.js +590 -0
  42. package/dist/src/orchestrator/taskRunner.js +1582 -0
  43. package/dist/src/plan/brief.js +1785 -0
  44. package/dist/src/plan/importPlan.js +202 -0
  45. package/dist/src/plan/schema.js +483 -0
  46. package/dist/src/plan/script.js +1012 -0
  47. package/dist/src/plan/systemGuide.js +1851 -0
  48. package/dist/src/protocol/parser.js +224 -0
  49. package/dist/src/protocol/replySchema.js +207 -0
  50. package/dist/src/protocol/reporter.js +75 -0
  51. package/dist/src/protocol/reviewSchema.js +205 -0
  52. package/dist/src/session/compose.js +67 -0
  53. package/dist/src/session/debugExport.js +165 -0
  54. package/dist/src/session/events.js +34 -0
  55. package/dist/src/session/exportRecord.js +261 -0
  56. package/dist/src/session/exports.js +484 -0
  57. package/dist/src/session/model.js +22 -0
  58. package/dist/src/session/retention.js +34 -0
  59. package/dist/src/session/runName.js +36 -0
  60. package/dist/src/session/store.js +440 -0
  61. package/dist/src/session/story.js +198 -0
  62. package/dist/src/transport/acceptance.js +34 -0
  63. package/dist/src/transport/chatSession.js +73 -0
  64. package/dist/src/transport/copilotTransport.js +1208 -0
  65. package/dist/src/transport/edgeCrash.js +59 -0
  66. package/dist/src/transport/locators.js +261 -0
  67. package/dist/src/transport/profileLock.js +102 -0
  68. package/dist/src/util/pacing.js +89 -0
  69. package/dist/src/vcs/commitHygiene.js +102 -0
  70. package/dist/src/vcs/git.js +286 -0
  71. package/dist/src/vcs/taskVcs.js +343 -0
  72. package/dist/web/404.html +15 -0
  73. package/dist/web/_next/static/chunks/12.f1f4d35b52633e8d.js +1 -0
  74. package/dist/web/_next/static/chunks/131-bae98f790a541679.js +1 -0
  75. package/dist/web/_next/static/chunks/197-f7c33a0114fc3db3.js +1 -0
  76. package/dist/web/_next/static/chunks/489.158bbe303a595fba.js +1 -0
  77. package/dist/web/_next/static/chunks/643-34b9f66a6c317c4a.js +1 -0
  78. package/dist/web/_next/static/chunks/867-03b7cac8f79896c3.js +1 -0
  79. package/dist/web/_next/static/chunks/955-63de06e182d98949.js +1 -0
  80. package/dist/web/_next/static/chunks/app/_not-found/page-0d0d8e7e62efca12.js +1 -0
  81. package/dist/web/_next/static/chunks/app/appearance/page-501842e7aeac7f6b.js +1 -0
  82. package/dist/web/_next/static/chunks/app/defaults/page-ed858127cbdfb4ab.js +1 -0
  83. package/dist/web/_next/static/chunks/app/history/page-bad4f3e89b485719.js +1 -0
  84. package/dist/web/_next/static/chunks/app/import/page-db1f5f1ab2f5cad1.js +1 -0
  85. package/dist/web/_next/static/chunks/app/layout-72251c52cc54f95e.js +1 -0
  86. package/dist/web/_next/static/chunks/app/level1/page-cf3e50cf64fecf4f.js +1 -0
  87. package/dist/web/_next/static/chunks/app/page-6fd16e5c8cf3b20f.js +1 -0
  88. package/dist/web/_next/static/chunks/app/presets/page-951e78b80e0e22e6.js +1 -0
  89. package/dist/web/_next/static/chunks/app/sessions/view/page-f2e63618097d7221.js +1 -0
  90. package/dist/web/_next/static/chunks/app/system/page-44e7954c0e48f4ba.js +1 -0
  91. package/dist/web/_next/static/chunks/c7879cf7-b5ab1053c1d9a2e7.js +1 -0
  92. package/dist/web/_next/static/chunks/framework-9ac6a346bd42cedd.js +1 -0
  93. package/dist/web/_next/static/chunks/main-6be4444e2d667e41.js +1 -0
  94. package/dist/web/_next/static/chunks/main-app-e3a5f713ba31557e.js +1 -0
  95. package/dist/web/_next/static/chunks/pages/_app-32d20d5a04949d29.js +1 -0
  96. package/dist/web/_next/static/chunks/pages/_error-abbab53f25ea29b0.js +1 -0
  97. package/dist/web/_next/static/chunks/polyfills-42372ed130431b0a.js +1 -0
  98. package/dist/web/_next/static/chunks/webpack-0f31b926d9a9c5a4.js +1 -0
  99. package/dist/web/_next/static/css/d77735cdc9020a86.css +1 -0
  100. package/dist/web/_next/static/u8rZNwh4d3n-HGJnfZ72Y/_buildManifest.js +1 -0
  101. package/dist/web/_next/static/u8rZNwh4d3n-HGJnfZ72Y/_ssgManifest.js +1 -0
  102. package/dist/web/appearance.html +15 -0
  103. package/dist/web/appearance.txt +26 -0
  104. package/dist/web/defaults.html +15 -0
  105. package/dist/web/defaults.txt +26 -0
  106. package/dist/web/history.html +15 -0
  107. package/dist/web/history.txt +26 -0
  108. package/dist/web/import.html +15 -0
  109. package/dist/web/import.txt +26 -0
  110. package/dist/web/index.html +15 -0
  111. package/dist/web/index.txt +26 -0
  112. package/dist/web/level1.html +15 -0
  113. package/dist/web/level1.txt +26 -0
  114. package/dist/web/presets.html +18 -0
  115. package/dist/web/presets.txt +26 -0
  116. package/dist/web/sessions/view.html +15 -0
  117. package/dist/web/sessions/view.txt +26 -0
  118. package/dist/web/system.html +15 -0
  119. package/dist/web/system.txt +26 -0
  120. package/package.json +111 -0
  121. package/prompts/level1.md +535 -0
  122. package/prompts/organisation.bg.md +44 -0
  123. package/prompts/organisation.en.md +44 -0
  124. package/prompts/persona.bg.md +17 -0
  125. package/prompts/persona.en.md +17 -0
  126. package/prompts/review1.md +277 -0
  127. package/prompts/work.bg.md +19 -0
  128. package/prompts/work.en.md +19 -0
@@ -0,0 +1,15 @@
1
+ <!DOCTYPE html><!--u8rZNwh4d3n_HGJnfZ72Y--><html lang="en" data-theme="light" data-textsize="normal" data-contrast="normal" data-motion="normal" data-links="plain" data-focus="normal"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/css/d77735cdc9020a86.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-0f31b926d9a9c5a4.js"/><script src="/_next/static/chunks/c7879cf7-b5ab1053c1d9a2e7.js" async=""></script><script src="/_next/static/chunks/131-bae98f790a541679.js" async=""></script><script src="/_next/static/chunks/main-app-e3a5f713ba31557e.js" async=""></script><script src="/_next/static/chunks/197-f7c33a0114fc3db3.js" async=""></script><script src="/_next/static/chunks/867-03b7cac8f79896c3.js" async=""></script><script src="/_next/static/chunks/643-34b9f66a6c317c4a.js" async=""></script><script src="/_next/static/chunks/app/layout-72251c52cc54f95e.js" async=""></script><script src="/_next/static/chunks/955-63de06e182d98949.js" async=""></script><script src="/_next/static/chunks/app/sessions/view/page-f2e63618097d7221.js" async=""></script><title>copilot-operator</title><meta name="description" content="Runs task loops with Microsoft 365 Copilot on this machine."/><script>
2
+ (function () {
3
+ try {
4
+ var d = document.documentElement;
5
+ var raw = localStorage.getItem('cop.appearance');
6
+ var a = raw ? JSON.parse(raw) : {};
7
+ d.dataset.theme = a.theme === 'dark' ? 'dark' : 'light';
8
+ d.dataset.textsize = a.textSize || 'normal';
9
+ d.dataset.contrast = a.highContrast ? 'high' : 'normal';
10
+ d.dataset.motion = a.reduceMotion ? 'reduced' : 'normal';
11
+ d.dataset.links = a.underlineLinks ? 'underline' : 'plain';
12
+ d.dataset.focus = a.strongFocus ? 'strong' : 'normal';
13
+ } catch (e) {}
14
+ })();
15
+ </script><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><a class="skip-link" href="#main">Skip to the content</a><div class="wrap"><header class="top"><h1><a href="/">copilot-operator</a></h1><nav aria-label="Main"><a href="/"><svg class="nav-icon" viewBox="0 0 24 24" width="16" height="16" fill="currentColor" aria-hidden="true"><path d="M4 5h16v4H4zM4 11h16v4H4zM4 17h10v2H4z"></path></svg><span>Sessions</span></a><a href="/defaults"><svg class="nav-icon" viewBox="0 0 24 24" width="16" height="16" fill="currentColor" aria-hidden="true"><path d="M12 8a4 4 0 1 0 0 8 4 4 0 0 0 0-8zm8.5 4 1.5 1-1.6 2.8-1.8-.4a7 7 0 0 1-1.5 1.5l.4 1.8L14.7 21l-1-1.5a7 7 0 0 1-3.4 0l-1 1.5-2.8-1.6.4-1.8A7 7 0 0 1 5.4 16l-1.8.4L2 13.6 3.5 12.6V11.4L2 10.4l1.6-2.8 1.8.4A7 7 0 0 1 6.9 6.5l-.4-1.8L9.3 3l1 1.5a7 7 0 0 1 3.4 0l1-1.5 2.8 1.6-.4 1.8a7 7 0 0 1 1.5 1.5l1.8-.4L22 10.4l-1.5 1z"></path></svg><span>Settings</span></a><a href="/import"><svg class="nav-icon" viewBox="0 0 24 24" width="16" height="16" fill="currentColor" aria-hidden="true"><path d="M12 3v10m0 0 4-4m-4 4-4-4M4 15v4a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-4" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path></svg><span>Plan from JSON</span></a><a href="/history"><svg class="nav-icon" viewBox="0 0 24 24" width="16" height="16" fill="currentColor" aria-hidden="true"><path d="M12 3a9 9 0 1 0 8.5 6M12 7v5l3 2M3 4v5h5" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path></svg><span>Task register</span></a><a href="/level1"><svg class="nav-icon" viewBox="0 0 24 24" width="16" height="16" fill="currentColor" aria-hidden="true"><path d="M6 3h9l5 5v13H6zM14 3v6h6M9 13h7M9 17h7" fill="none" stroke="currentColor" stroke-width="2" stroke-linejoin="round"></path></svg><span>Level 1 prompt</span></a><a href="/presets"><svg class="nav-icon" viewBox="0 0 24 24" width="16" height="16" fill="currentColor" aria-hidden="true"><path d="M5 4h14v4H5zM5 10h14v4H5zM5 16h9v4H5z" fill="none" stroke="currentColor" stroke-width="2" stroke-linejoin="round"></path></svg><span>Level 2 presets</span></a><a href="/appearance"><svg class="nav-icon" viewBox="0 0 24 24" width="16" height="16" fill="currentColor" aria-hidden="true"><path d="M12 3a9 9 0 0 0 0 18c1.5 0 2-1 2-2s-1-1.5-1-2.5S14 15 15.5 15H17a4 4 0 0 0 4-4 8 8 0 0 0-9-8zM8 9a1 1 0 1 0 0 2 1 1 0 0 0 0-2zm4-3a1 1 0 1 0 0 2 1 1 0 0 0 0-2zm4 3a1 1 0 1 0 0 2 1 1 0 0 0 0-2z"></path></svg><span>Appearance</span></a><a href="/system"><svg class="nav-icon" viewBox="0 0 24 24" width="16" height="16" fill="currentColor" aria-hidden="true"><path d="M4 5h16v10H4zM2 19h20M9 15v4M15 15v4" fill="none" stroke="currentColor" stroke-width="2" stroke-linejoin="round"></path></svg><span>System</span></a><select aria-label="Language" style="width:auto"><option value="en" selected="">English</option><option value="bg">Български</option></select></nav></header><main id="main"><!--$!--><template data-dgst="BAILOUT_TO_CLIENT_SIDE_RENDERING"></template><!--/$--><!--$--><!--/$--></main></div><script src="/_next/static/chunks/webpack-0f31b926d9a9c5a4.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[1205,[\"197\",\"static/chunks/197-f7c33a0114fc3db3.js\",\"867\",\"static/chunks/867-03b7cac8f79896c3.js\",\"643\",\"static/chunks/643-34b9f66a6c317c4a.js\",\"177\",\"static/chunks/app/layout-72251c52cc54f95e.js\"],\"themeScript\"]\n3:I[1205,[\"197\",\"static/chunks/197-f7c33a0114fc3db3.js\",\"867\",\"static/chunks/867-03b7cac8f79896c3.js\",\"643\",\"static/chunks/643-34b9f66a6c317c4a.js\",\"177\",\"static/chunks/app/layout-72251c52cc54f95e.js\"],\"AppearanceProvider\"]\n4:I[867,[\"197\",\"static/chunks/197-f7c33a0114fc3db3.js\",\"867\",\"static/chunks/867-03b7cac8f79896c3.js\",\"643\",\"static/chunks/643-34b9f66a6c317c4a.js\",\"177\",\"static/chunks/app/layout-72251c52cc54f95e.js\"],\"LanguageProvider\"]\n5:I[1035,[\"197\",\"static/chunks/197-f7c33a0114fc3db3.js\",\"867\",\"static/chunks/867-03b7cac8f79896c3.js\",\"643\",\"static/chunks/643-34b9f66a6c317c4a.js\",\"177\",\"static/chunks/app/layout-72251c52cc54f95e.js\"],\"DialogHost\"]\n6:I[8214,[\"197\",\"static/chunks/197-f7c33a0114fc3db3.js\",\"867\",\"static/chunks/867-03b7cac8f79896c3.js\",\"643\",\"static/chunks/643-34b9f66a6c317c4a.js\",\"177\",\"static/chunks/app/layout-72251c52cc54f95e.js\"],\"SkipLink\"]\n7:I[8197,[\"197\",\"static/chunks/197-f7c33a0114fc3db3.js\",\"867\",\"static/chunks/867-03b7cac8f79896c3.js\",\"643\",\"static/chunks/643-34b9f66a6c317c4a.js\",\"177\",\"static/chunks/app/layout-72251c52cc54f95e.js\"],\"\"]\n8:I[8214,[\"197\",\"static/chunks/197-f7c33a0114fc3db3.js\",\"867\",\"static/chunks/867-03b7cac8f79896c3.js\",\"643\",\"static/chunks/643-34b9f66a6c317c4a.js\",\"177\",\"static/chunks/app/layout-72251c52cc54f95e.js\"],\"Nav\"]\n9:I[5204,[],\"\"]\na:I[2642,[],\"\"]\nb:I[7089,[],\"ClientPageRoot\"]\nc:I[4269,[\"197\",\"static/chunks/197-f7c33a0114fc3db3.js\",\"867\",\"static/chunks/867-03b7cac8f79896c3.js\",\"643\",\"static/chunks/643-34b9f66a6c317c4a.js\",\"955\",\"static/chunks/955-63de06e182d98949.js\",\"66\",\"static/chunks/app/sessions/view/page-f2e63618097d7221.js\"],\"default\"]\nf:I[433,[],\"OutletBoundary\"]\n11:I[9884,[],\"AsyncMetadataOutlet\"]\n13:I[433,[],\"ViewportBoundary\"]\n15:I[433,[],\"MetadataBoundary\"]\n16:\"$Sreact.suspense\"\n18:I[3536,[],\"\"]\n:HL[\"/_next/static/c"])</script><script>self.__next_f.push([1,"ss/d77735cdc9020a86.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"u8rZNwh4d3n-HGJnfZ72Y\",\"p\":\"\",\"c\":[\"\",\"sessions\",\"view\"],\"i\":false,\"f\":[[[\"\",{\"children\":[\"sessions\",{\"children\":[\"view\",{\"children\":[\"__PAGE__\",{}]}]}]},\"$undefined\",\"$undefined\",true],[\"\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/d77735cdc9020a86.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"suppressHydrationWarning\":true,\"data-theme\":\"light\",\"data-textsize\":\"normal\",\"data-contrast\":\"normal\",\"data-motion\":\"normal\",\"data-links\":\"plain\",\"data-focus\":\"normal\",\"children\":[[\"$\",\"head\",null,{\"children\":[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"$2\"}}]}],[\"$\",\"body\",null,{\"children\":[\"$\",\"$L3\",null,{\"children\":[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$L5\",null,{\"children\":[[\"$\",\"$L6\",null,{}],[\"$\",\"div\",null,{\"className\":\"wrap\",\"children\":[[\"$\",\"header\",null,{\"className\":\"top\",\"children\":[[\"$\",\"h1\",null,{\"children\":[\"$\",\"$L7\",null,{\"href\":\"/\",\"children\":\"copilot-operator\"}]}],[\"$\",\"$L8\",null,{}]]}],[\"$\",\"main\",null,{\"id\":\"main\",\"children\":[\"$\",\"$L9\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$La\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]]}]]}]}]}]}]]}]]}],{\"children\":[\"sessions\",[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L9\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$La\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[\"view\",[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L9\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$La\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[\"__PAGE__\",[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"$Lb\",null,{\"Component\":\"$c\",\"searchParams\":{},\"params\":{},\"promises\":[\"$@d\",\"$@e\"]}],null,[\"$\",\"$Lf\",null,{\"children\":[\"$L10\",[\"$\",\"$L11\",null,{\"promise\":\"$@12\"}]]}]]}],{},null,false]},null,false]},null,false]},null,false],[\"$\",\"$1\",\"h\",{\"children\":[null,[[\"$\",\"$L13\",null,{\"children\":\"$L14\"}],null],[\"$\",\"$L15\",null,{\"children\":[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$16\",null,{\"fallback\":null,\"children\":\"$L17\"}]}]}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$18\",[]],\"s\":false,\"S\":true}\n"])</script><script>self.__next_f.push([1,"d:{}\ne:\"$0:f:0:1:2:children:2:children:2:children:1:props:children:0:props:params\"\n"])</script><script>self.__next_f.push([1,"14:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n10:null\n"])</script><script>self.__next_f.push([1,"12:{\"metadata\":[[\"$\",\"title\",\"0\",{\"children\":\"copilot-operator\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Runs task loops with Microsoft 365 Copilot on this machine.\"}]],\"error\":null,\"digest\":\"$undefined\"}\n"])</script><script>self.__next_f.push([1,"17:\"$12:metadata\"\n"])</script></body></html>
@@ -0,0 +1,26 @@
1
+ 1:"$Sreact.fragment"
2
+ 2:I[1205,["197","static/chunks/197-f7c33a0114fc3db3.js","867","static/chunks/867-03b7cac8f79896c3.js","643","static/chunks/643-34b9f66a6c317c4a.js","177","static/chunks/app/layout-72251c52cc54f95e.js"],"themeScript"]
3
+ 3:I[1205,["197","static/chunks/197-f7c33a0114fc3db3.js","867","static/chunks/867-03b7cac8f79896c3.js","643","static/chunks/643-34b9f66a6c317c4a.js","177","static/chunks/app/layout-72251c52cc54f95e.js"],"AppearanceProvider"]
4
+ 4:I[867,["197","static/chunks/197-f7c33a0114fc3db3.js","867","static/chunks/867-03b7cac8f79896c3.js","643","static/chunks/643-34b9f66a6c317c4a.js","177","static/chunks/app/layout-72251c52cc54f95e.js"],"LanguageProvider"]
5
+ 5:I[1035,["197","static/chunks/197-f7c33a0114fc3db3.js","867","static/chunks/867-03b7cac8f79896c3.js","643","static/chunks/643-34b9f66a6c317c4a.js","177","static/chunks/app/layout-72251c52cc54f95e.js"],"DialogHost"]
6
+ 6:I[8214,["197","static/chunks/197-f7c33a0114fc3db3.js","867","static/chunks/867-03b7cac8f79896c3.js","643","static/chunks/643-34b9f66a6c317c4a.js","177","static/chunks/app/layout-72251c52cc54f95e.js"],"SkipLink"]
7
+ 7:I[8197,["197","static/chunks/197-f7c33a0114fc3db3.js","867","static/chunks/867-03b7cac8f79896c3.js","643","static/chunks/643-34b9f66a6c317c4a.js","177","static/chunks/app/layout-72251c52cc54f95e.js"],""]
8
+ 8:I[8214,["197","static/chunks/197-f7c33a0114fc3db3.js","867","static/chunks/867-03b7cac8f79896c3.js","643","static/chunks/643-34b9f66a6c317c4a.js","177","static/chunks/app/layout-72251c52cc54f95e.js"],"Nav"]
9
+ 9:I[5204,[],""]
10
+ a:I[2642,[],""]
11
+ b:I[7089,[],"ClientPageRoot"]
12
+ c:I[4269,["197","static/chunks/197-f7c33a0114fc3db3.js","867","static/chunks/867-03b7cac8f79896c3.js","643","static/chunks/643-34b9f66a6c317c4a.js","955","static/chunks/955-63de06e182d98949.js","66","static/chunks/app/sessions/view/page-f2e63618097d7221.js"],"default"]
13
+ f:I[433,[],"OutletBoundary"]
14
+ 11:I[9884,[],"AsyncMetadataOutlet"]
15
+ 13:I[433,[],"ViewportBoundary"]
16
+ 15:I[433,[],"MetadataBoundary"]
17
+ 16:"$Sreact.suspense"
18
+ 18:I[3536,[],""]
19
+ :HL["/_next/static/css/d77735cdc9020a86.css","style"]
20
+ 0:{"P":null,"b":"u8rZNwh4d3n-HGJnfZ72Y","p":"","c":["","sessions","view"],"i":false,"f":[[["",{"children":["sessions",{"children":["view",{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/d77735cdc9020a86.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"data-theme":"light","data-textsize":"normal","data-contrast":"normal","data-motion":"normal","data-links":"plain","data-focus":"normal","children":[["$","head",null,{"children":["$","script",null,{"dangerouslySetInnerHTML":{"__html":"$2"}}]}],["$","body",null,{"children":["$","$L3",null,{"children":["$","$L4",null,{"children":["$","$L5",null,{"children":[["$","$L6",null,{}],["$","div",null,{"className":"wrap","children":[["$","header",null,{"className":"top","children":[["$","h1",null,{"children":["$","$L7",null,{"href":"/","children":"copilot-operator"}]}],["$","$L8",null,{}]]}],["$","main",null,{"id":"main","children":["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]]}]]}]}]}]}]]}]]}],{"children":["sessions",["$","$1","c",{"children":[null,["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["view",["$","$1","c",{"children":[null,["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[["$","$Lb",null,{"Component":"$c","searchParams":{},"params":{},"promises":["$@d","$@e"]}],null,["$","$Lf",null,{"children":["$L10",["$","$L11",null,{"promise":"$@12"}]]}]]}],{},null,false]},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,[["$","$L13",null,{"children":"$L14"}],null],["$","$L15",null,{"children":["$","div",null,{"hidden":true,"children":["$","$16",null,{"fallback":null,"children":"$L17"}]}]}]]}],false]],"m":"$undefined","G":["$18",[]],"s":false,"S":true}
21
+ d:{}
22
+ e:"$0:f:0:1:2:children:2:children:2:children:1:props:children:0:props:params"
23
+ 14:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]
24
+ 10:null
25
+ 12:{"metadata":[["$","title","0",{"children":"copilot-operator"}],["$","meta","1",{"name":"description","content":"Runs task loops with Microsoft 365 Copilot on this machine."}]],"error":null,"digest":"$undefined"}
26
+ 17:"$12:metadata"
@@ -0,0 +1,15 @@
1
+ <!DOCTYPE html><!--u8rZNwh4d3n_HGJnfZ72Y--><html lang="en" data-theme="light" data-textsize="normal" data-contrast="normal" data-motion="normal" data-links="plain" data-focus="normal"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/css/d77735cdc9020a86.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-0f31b926d9a9c5a4.js"/><script src="/_next/static/chunks/c7879cf7-b5ab1053c1d9a2e7.js" async=""></script><script src="/_next/static/chunks/131-bae98f790a541679.js" async=""></script><script src="/_next/static/chunks/main-app-e3a5f713ba31557e.js" async=""></script><script src="/_next/static/chunks/197-f7c33a0114fc3db3.js" async=""></script><script src="/_next/static/chunks/867-03b7cac8f79896c3.js" async=""></script><script src="/_next/static/chunks/643-34b9f66a6c317c4a.js" async=""></script><script src="/_next/static/chunks/app/layout-72251c52cc54f95e.js" async=""></script><script src="/_next/static/chunks/app/system/page-44e7954c0e48f4ba.js" async=""></script><title>copilot-operator</title><meta name="description" content="Runs task loops with Microsoft 365 Copilot on this machine."/><script>
2
+ (function () {
3
+ try {
4
+ var d = document.documentElement;
5
+ var raw = localStorage.getItem('cop.appearance');
6
+ var a = raw ? JSON.parse(raw) : {};
7
+ d.dataset.theme = a.theme === 'dark' ? 'dark' : 'light';
8
+ d.dataset.textsize = a.textSize || 'normal';
9
+ d.dataset.contrast = a.highContrast ? 'high' : 'normal';
10
+ d.dataset.motion = a.reduceMotion ? 'reduced' : 'normal';
11
+ d.dataset.links = a.underlineLinks ? 'underline' : 'plain';
12
+ d.dataset.focus = a.strongFocus ? 'strong' : 'normal';
13
+ } catch (e) {}
14
+ })();
15
+ </script><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><a class="skip-link" href="#main">Skip to the content</a><div class="wrap"><header class="top"><h1><a href="/">copilot-operator</a></h1><nav aria-label="Main"><a href="/"><svg class="nav-icon" viewBox="0 0 24 24" width="16" height="16" fill="currentColor" aria-hidden="true"><path d="M4 5h16v4H4zM4 11h16v4H4zM4 17h10v2H4z"></path></svg><span>Sessions</span></a><a href="/defaults"><svg class="nav-icon" viewBox="0 0 24 24" width="16" height="16" fill="currentColor" aria-hidden="true"><path d="M12 8a4 4 0 1 0 0 8 4 4 0 0 0 0-8zm8.5 4 1.5 1-1.6 2.8-1.8-.4a7 7 0 0 1-1.5 1.5l.4 1.8L14.7 21l-1-1.5a7 7 0 0 1-3.4 0l-1 1.5-2.8-1.6.4-1.8A7 7 0 0 1 5.4 16l-1.8.4L2 13.6 3.5 12.6V11.4L2 10.4l1.6-2.8 1.8.4A7 7 0 0 1 6.9 6.5l-.4-1.8L9.3 3l1 1.5a7 7 0 0 1 3.4 0l1-1.5 2.8 1.6-.4 1.8a7 7 0 0 1 1.5 1.5l1.8-.4L22 10.4l-1.5 1z"></path></svg><span>Settings</span></a><a href="/import"><svg class="nav-icon" viewBox="0 0 24 24" width="16" height="16" fill="currentColor" aria-hidden="true"><path d="M12 3v10m0 0 4-4m-4 4-4-4M4 15v4a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-4" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path></svg><span>Plan from JSON</span></a><a href="/history"><svg class="nav-icon" viewBox="0 0 24 24" width="16" height="16" fill="currentColor" aria-hidden="true"><path d="M12 3a9 9 0 1 0 8.5 6M12 7v5l3 2M3 4v5h5" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path></svg><span>Task register</span></a><a href="/level1"><svg class="nav-icon" viewBox="0 0 24 24" width="16" height="16" fill="currentColor" aria-hidden="true"><path d="M6 3h9l5 5v13H6zM14 3v6h6M9 13h7M9 17h7" fill="none" stroke="currentColor" stroke-width="2" stroke-linejoin="round"></path></svg><span>Level 1 prompt</span></a><a href="/presets"><svg class="nav-icon" viewBox="0 0 24 24" width="16" height="16" fill="currentColor" aria-hidden="true"><path d="M5 4h14v4H5zM5 10h14v4H5zM5 16h9v4H5z" fill="none" stroke="currentColor" stroke-width="2" stroke-linejoin="round"></path></svg><span>Level 2 presets</span></a><a href="/appearance"><svg class="nav-icon" viewBox="0 0 24 24" width="16" height="16" fill="currentColor" aria-hidden="true"><path d="M12 3a9 9 0 0 0 0 18c1.5 0 2-1 2-2s-1-1.5-1-2.5S14 15 15.5 15H17a4 4 0 0 0 4-4 8 8 0 0 0-9-8zM8 9a1 1 0 1 0 0 2 1 1 0 0 0 0-2zm4-3a1 1 0 1 0 0 2 1 1 0 0 0 0-2zm4 3a1 1 0 1 0 0 2 1 1 0 0 0 0-2z"></path></svg><span>Appearance</span></a><a aria-current="page" href="/system"><svg class="nav-icon" viewBox="0 0 24 24" width="16" height="16" fill="currentColor" aria-hidden="true"><path d="M4 5h16v10H4zM2 19h20M9 15v4M15 15v4" fill="none" stroke="currentColor" stroke-width="2" stroke-linejoin="round"></path></svg><span>System</span></a><select aria-label="Language" style="width:auto"><option value="en" selected="">English</option><option value="bg">Български</option></select></nav></header><main id="main"><div class="panel"><h2>This machine</h2><div class="muted">Loading…</div></div><div class="panel"><h2>Settings</h2><p class="muted small">Read from data/settings.json next to the project. It has the same shape as run.example.yaml; anything missing takes the default. Edit the file and restart the API.</p></div><div class="panel"><h2>Sign-in</h2><p class="muted small">Signing in is done once, from the terminal, so that the bot never handles credentials:</p><pre>npx tsx src/cli.ts login --account you@yourtenant.org</pre></div><!--$--><!--/$--></main></div><script src="/_next/static/chunks/webpack-0f31b926d9a9c5a4.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[1205,[\"197\",\"static/chunks/197-f7c33a0114fc3db3.js\",\"867\",\"static/chunks/867-03b7cac8f79896c3.js\",\"643\",\"static/chunks/643-34b9f66a6c317c4a.js\",\"177\",\"static/chunks/app/layout-72251c52cc54f95e.js\"],\"themeScript\"]\n3:I[1205,[\"197\",\"static/chunks/197-f7c33a0114fc3db3.js\",\"867\",\"static/chunks/867-03b7cac8f79896c3.js\",\"643\",\"static/chunks/643-34b9f66a6c317c4a.js\",\"177\",\"static/chunks/app/layout-72251c52cc54f95e.js\"],\"AppearanceProvider\"]\n4:I[867,[\"197\",\"static/chunks/197-f7c33a0114fc3db3.js\",\"867\",\"static/chunks/867-03b7cac8f79896c3.js\",\"643\",\"static/chunks/643-34b9f66a6c317c4a.js\",\"177\",\"static/chunks/app/layout-72251c52cc54f95e.js\"],\"LanguageProvider\"]\n5:I[1035,[\"197\",\"static/chunks/197-f7c33a0114fc3db3.js\",\"867\",\"static/chunks/867-03b7cac8f79896c3.js\",\"643\",\"static/chunks/643-34b9f66a6c317c4a.js\",\"177\",\"static/chunks/app/layout-72251c52cc54f95e.js\"],\"DialogHost\"]\n6:I[8214,[\"197\",\"static/chunks/197-f7c33a0114fc3db3.js\",\"867\",\"static/chunks/867-03b7cac8f79896c3.js\",\"643\",\"static/chunks/643-34b9f66a6c317c4a.js\",\"177\",\"static/chunks/app/layout-72251c52cc54f95e.js\"],\"SkipLink\"]\n7:I[8197,[\"197\",\"static/chunks/197-f7c33a0114fc3db3.js\",\"867\",\"static/chunks/867-03b7cac8f79896c3.js\",\"643\",\"static/chunks/643-34b9f66a6c317c4a.js\",\"177\",\"static/chunks/app/layout-72251c52cc54f95e.js\"],\"\"]\n8:I[8214,[\"197\",\"static/chunks/197-f7c33a0114fc3db3.js\",\"867\",\"static/chunks/867-03b7cac8f79896c3.js\",\"643\",\"static/chunks/643-34b9f66a6c317c4a.js\",\"177\",\"static/chunks/app/layout-72251c52cc54f95e.js\"],\"Nav\"]\n9:I[5204,[],\"\"]\na:I[2642,[],\"\"]\nb:I[7089,[],\"ClientPageRoot\"]\nc:I[3134,[\"867\",\"static/chunks/867-03b7cac8f79896c3.js\",\"186\",\"static/chunks/app/system/page-44e7954c0e48f4ba.js\"],\"default\"]\nf:I[433,[],\"OutletBoundary\"]\n11:I[9884,[],\"AsyncMetadataOutlet\"]\n13:I[433,[],\"ViewportBoundary\"]\n15:I[433,[],\"MetadataBoundary\"]\n16:\"$Sreact.suspense\"\n18:I[3536,[],\"\"]\n:HL[\"/_next/static/css/d77735cdc9020a86.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"u8rZNwh4d3n-HGJnfZ72Y\",\"p\":\"\",\"c\":[\"\",\"system\"],\"i\":false,\"f\":[[[\"\",{\"children\":[\"system\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],[\"\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/d77735cdc9020a86.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"suppressHydrationWarning\":true,\"data-theme\":\"light\",\"data-textsize\":\"normal\",\"data-contrast\":\"normal\",\"data-motion\":\"normal\",\"data-links\":\"plain\",\"data-focus\":\"normal\",\"children\":[[\"$\",\"head\",null,{\"children\":[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"$2\"}}]}],[\"$\",\"body\",null,{\"children\":[\"$\",\"$L3\",null,{\"children\":[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$L5\",null,{\"children\":[[\"$\",\"$L6\",null,{}],[\"$\",\"div\",null,{\"className\":\"wrap\",\"children\":[[\"$\",\"header\",null,{\"className\":\"top\",\"children\":[[\"$\",\"h1\",null,{\"children\":[\"$\",\"$L7\",null,{\"href\":\"/\",\"children\":\"copilot-operator\"}]}],[\"$\",\"$L8\",null,{}]]}],[\"$\",\"main\",null,{\"id\":\"main\",\"children\":[\"$\",\"$L9\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$La\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]]}]]}]}]}]}]]}]]}],{\"children\":[\"system\",[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L9\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$La\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[\"__PAGE__\",[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"$Lb\",null,{\"Component\":\"$c\",\"searchParams\":{},\"params\":{},\"promises\":[\"$@d\",\"$@e\"]}],null,[\"$\",\"$Lf\",null,{\"children\":[\"$L10\",[\"$\",\"$L11\",null,{\"promise\":\"$@12\"}]]}]]}],{},null,false]},null,false]},null,false],[\"$\",\"$1\",\"h\",{\"children\":[null,[[\"$\",\"$L13\",null,{\"children\":\"$L14\"}],null],[\"$\",\"$L15\",null,{\"children\":[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$16\",null,{\"fallback\":null,\"children\":\"$L17\"}]}]}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$18\",[]],\"s\":false,\"S\":true}\n"])</script><script>self.__next_f.push([1,"d:{}\ne:\"$0:f:0:1:2:children:2:children:1:props:children:0:props:params\"\n"])</script><script>self.__next_f.push([1,"14:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n10:null\n"])</script><script>self.__next_f.push([1,"12:{\"metadata\":[[\"$\",\"title\",\"0\",{\"children\":\"copilot-operator\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Runs task loops with Microsoft 365 Copilot on this machine.\"}]],\"error\":null,\"digest\":\"$undefined\"}\n"])</script><script>self.__next_f.push([1,"17:\"$12:metadata\"\n"])</script></body></html>
@@ -0,0 +1,26 @@
1
+ 1:"$Sreact.fragment"
2
+ 2:I[1205,["197","static/chunks/197-f7c33a0114fc3db3.js","867","static/chunks/867-03b7cac8f79896c3.js","643","static/chunks/643-34b9f66a6c317c4a.js","177","static/chunks/app/layout-72251c52cc54f95e.js"],"themeScript"]
3
+ 3:I[1205,["197","static/chunks/197-f7c33a0114fc3db3.js","867","static/chunks/867-03b7cac8f79896c3.js","643","static/chunks/643-34b9f66a6c317c4a.js","177","static/chunks/app/layout-72251c52cc54f95e.js"],"AppearanceProvider"]
4
+ 4:I[867,["197","static/chunks/197-f7c33a0114fc3db3.js","867","static/chunks/867-03b7cac8f79896c3.js","643","static/chunks/643-34b9f66a6c317c4a.js","177","static/chunks/app/layout-72251c52cc54f95e.js"],"LanguageProvider"]
5
+ 5:I[1035,["197","static/chunks/197-f7c33a0114fc3db3.js","867","static/chunks/867-03b7cac8f79896c3.js","643","static/chunks/643-34b9f66a6c317c4a.js","177","static/chunks/app/layout-72251c52cc54f95e.js"],"DialogHost"]
6
+ 6:I[8214,["197","static/chunks/197-f7c33a0114fc3db3.js","867","static/chunks/867-03b7cac8f79896c3.js","643","static/chunks/643-34b9f66a6c317c4a.js","177","static/chunks/app/layout-72251c52cc54f95e.js"],"SkipLink"]
7
+ 7:I[8197,["197","static/chunks/197-f7c33a0114fc3db3.js","867","static/chunks/867-03b7cac8f79896c3.js","643","static/chunks/643-34b9f66a6c317c4a.js","177","static/chunks/app/layout-72251c52cc54f95e.js"],""]
8
+ 8:I[8214,["197","static/chunks/197-f7c33a0114fc3db3.js","867","static/chunks/867-03b7cac8f79896c3.js","643","static/chunks/643-34b9f66a6c317c4a.js","177","static/chunks/app/layout-72251c52cc54f95e.js"],"Nav"]
9
+ 9:I[5204,[],""]
10
+ a:I[2642,[],""]
11
+ b:I[7089,[],"ClientPageRoot"]
12
+ c:I[3134,["867","static/chunks/867-03b7cac8f79896c3.js","186","static/chunks/app/system/page-44e7954c0e48f4ba.js"],"default"]
13
+ f:I[433,[],"OutletBoundary"]
14
+ 11:I[9884,[],"AsyncMetadataOutlet"]
15
+ 13:I[433,[],"ViewportBoundary"]
16
+ 15:I[433,[],"MetadataBoundary"]
17
+ 16:"$Sreact.suspense"
18
+ 18:I[3536,[],""]
19
+ :HL["/_next/static/css/d77735cdc9020a86.css","style"]
20
+ 0:{"P":null,"b":"u8rZNwh4d3n-HGJnfZ72Y","p":"","c":["","system"],"i":false,"f":[[["",{"children":["system",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/d77735cdc9020a86.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"data-theme":"light","data-textsize":"normal","data-contrast":"normal","data-motion":"normal","data-links":"plain","data-focus":"normal","children":[["$","head",null,{"children":["$","script",null,{"dangerouslySetInnerHTML":{"__html":"$2"}}]}],["$","body",null,{"children":["$","$L3",null,{"children":["$","$L4",null,{"children":["$","$L5",null,{"children":[["$","$L6",null,{}],["$","div",null,{"className":"wrap","children":[["$","header",null,{"className":"top","children":[["$","h1",null,{"children":["$","$L7",null,{"href":"/","children":"copilot-operator"}]}],["$","$L8",null,{}]]}],["$","main",null,{"id":"main","children":["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]]}]]}]}]}]}]]}]]}],{"children":["system",["$","$1","c",{"children":[null,["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[["$","$Lb",null,{"Component":"$c","searchParams":{},"params":{},"promises":["$@d","$@e"]}],null,["$","$Lf",null,{"children":["$L10",["$","$L11",null,{"promise":"$@12"}]]}]]}],{},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,[["$","$L13",null,{"children":"$L14"}],null],["$","$L15",null,{"children":["$","div",null,{"hidden":true,"children":["$","$16",null,{"fallback":null,"children":"$L17"}]}]}]]}],false]],"m":"$undefined","G":["$18",[]],"s":false,"S":true}
21
+ d:{}
22
+ e:"$0:f:0:1:2:children:2:children:1:props:children:0:props:params"
23
+ 14:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]
24
+ 10:null
25
+ 12:{"metadata":[["$","title","0",{"children":"copilot-operator"}],["$","meta","1",{"name":"description","content":"Runs task loops with Microsoft 365 Copilot on this machine."}]],"error":null,"digest":"$undefined"}
26
+ 17:"$12:metadata"
package/package.json ADDED
@@ -0,0 +1,111 @@
1
+ {
2
+ "name": "copilot-operator",
3
+ "version": "0.1.0",
4
+ "private": false,
5
+ "type": "module",
6
+ "description": "Automates a Microsoft 365 Copilot chat: sends prompts, extracts commands, runs them, reports back.",
7
+ "license": "MIT",
8
+ "engines": {
9
+ "node": ">=20"
10
+ },
11
+ "scripts": {
12
+ "build": "tsc -p tsconfig.json",
13
+ "build:package": "node scripts/build-package.mjs",
14
+ "prepack": "node scripts/build-package.mjs",
15
+ "check:pacing": "tsx test/pacing.check.ts",
16
+ "check:runner": "tsx test/runner.check.ts",
17
+ "check:chat": "tsx test/chat.check.ts",
18
+ "check:context": "tsx test/context.check.ts",
19
+ "check:mirror": "tsx test/mirror.check.ts",
20
+ "cop": "tsx src/cli.ts",
21
+ "check:parser": "tsx test/parser.check.ts",
22
+ "check:report": "tsx test/report.check.ts",
23
+ "check": "npm run check:parser && npm run check:damage && npm run check:session && npm run check:report && npm run check:runner && npm run check:mirror && npm run check:vcs && npm run check:plan && npm run check:checks && npm run check:workdir && npm run check:processes && npm run check:environment && npm run check:clock && npm run check:crash && npm run check:clipboard && npm run check:restart && npm run check:review && npm run check:chat && npm run check:context && npm run check:pacing && npm run check:shells && npm run check:save && npm run check:guide && npm run check:bundle && npm run check:runname && npm run check:dangerous && npm run check:programs && npm run check:manifest && npm run check:lock && npm run check:isolation && npm run check:security && npm run check:update && npm run check:persona && npm run check:script && npm run check:batch && npm run check:confinement && npm run check:network && npm run check:hardening && npm run check:package",
24
+ "probe": "tsx scripts/probe-locators.ts",
25
+ "check:damage": "tsx test/damage.check.ts",
26
+ "api": "npm run build && node dist/src/api/main.js",
27
+ "api:start": "node dist/src/api/main.js",
28
+ "web": "npm run dev --workspace web",
29
+ "web:build": "npm run build --workspace web",
30
+ "check:session": "tsx test/session.check.ts",
31
+ "start": "node scripts/dev.mjs",
32
+ "dev": "node scripts/dev.mjs --open",
33
+ "check:vcs": "tsx test/vcs.check.ts",
34
+ "check:plan": "tsx test/plan.check.ts",
35
+ "check:checks": "tsx test/checks.check.ts",
36
+ "check:workdir": "tsx test/workdir.check.ts",
37
+ "check:processes": "tsx test/processes.check.ts",
38
+ "check:environment": "tsx test/environment.check.ts",
39
+ "check:clock": "tsx test/clock.check.ts",
40
+ "check:crash": "tsx test/crash.check.ts",
41
+ "check:clipboard": "tsx test/clipboard.check.ts",
42
+ "check:restart": "tsx test/restart.check.ts",
43
+ "check:review": "tsx test/review.check.ts",
44
+ "check:shells": "tsx test/shells.check.ts",
45
+ "check:save": "tsx test/save.check.ts",
46
+ "check:guide": "tsx test/guide.check.ts",
47
+ "typecheck": "tsc -p tsconfig.json --noEmit && npm run typecheck --workspace web",
48
+ "check:bundle": "tsx test/bundle.check.ts",
49
+ "check:runname": "tsx test/runname.check.ts",
50
+ "update": "node scripts/update.mjs",
51
+ "check:dangerous": "tsx test/dangerous.check.ts",
52
+ "check:programs": "tsx test/programs.check.ts",
53
+ "check:manifest": "tsx test/manifest.check.ts",
54
+ "check:lock": "tsx test/lock.check.ts",
55
+ "check:isolation": "tsx test/isolation.check.ts",
56
+ "check:security": "tsx test/security.check.ts",
57
+ "check:update": "tsx test/update.check.ts",
58
+ "check:persona": "tsx test/persona.check.ts",
59
+ "check:script": "tsx test/script.check.ts",
60
+ "check:batch": "tsx test/batch.check.ts",
61
+ "check:confinement": "tsx test/confinement.check.ts",
62
+ "check:network": "tsx test/network.check.ts",
63
+ "check:hardening": "tsx test/hardening.check.ts",
64
+ "check:package": "tsx test/package.check.ts"
65
+ },
66
+ "dependencies": {
67
+ "@nestjs/common": "^12.0.3",
68
+ "@nestjs/core": "^12.0.3",
69
+ "@nestjs/platform-express": "^12.0.3",
70
+ "commander": "^15.0.0",
71
+ "ignore": "^7.0.9",
72
+ "playwright": "^1.63.0",
73
+ "reflect-metadata": "^0.2.2",
74
+ "rxjs": "^7.8.2",
75
+ "yaml": "^2.9.1",
76
+ "zod": "^4.6.5"
77
+ },
78
+ "devDependencies": {
79
+ "@types/express": "^5.0.6",
80
+ "@types/node": "^22.10.2",
81
+ "tsx": "^4.19.2",
82
+ "typescript": "5.9"
83
+ },
84
+ "repository": {
85
+ "type": "git",
86
+ "url": "git+https://github.com/ivan-markov-666/copilot-operator.git"
87
+ },
88
+ "bin": {
89
+ "cop": "dist/src/cli.js"
90
+ },
91
+ "files": [
92
+ "dist/src",
93
+ "dist/web",
94
+ "prompts",
95
+ "README.md",
96
+ "LICENSE"
97
+ ],
98
+ "os": [
99
+ "win32"
100
+ ],
101
+ "keywords": [
102
+ "copilot",
103
+ "microsoft-365",
104
+ "automation",
105
+ "playwright",
106
+ "agent"
107
+ ],
108
+ "workspaces": [
109
+ "web"
110
+ ]
111
+ }