@hanzo/browser-extension 1.7.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.
Files changed (134) hide show
  1. package/.github/workflows/docs.yml +44 -0
  2. package/.github/workflows/release.yml +55 -0
  3. package/LICENSE +21 -0
  4. package/README.md +126 -0
  5. package/dist/browser-extension/README.md +43 -0
  6. package/dist/browser-extension/ai-worker.js +30 -0
  7. package/dist/browser-extension/background-firefox.js +617 -0
  8. package/dist/browser-extension/background.js +2737 -0
  9. package/dist/browser-extension/browser-control.js +683 -0
  10. package/dist/browser-extension/cdp-bridge-server.js +444 -0
  11. package/dist/browser-extension/chrome/ai-worker.js +571 -0
  12. package/dist/browser-extension/chrome/background.js +2737 -0
  13. package/dist/browser-extension/chrome/callback.html +17 -0
  14. package/dist/browser-extension/chrome/content-script.js +1270 -0
  15. package/dist/browser-extension/chrome/icon128.png +0 -0
  16. package/dist/browser-extension/chrome/icon16.png +0 -0
  17. package/dist/browser-extension/chrome/icon32.png +0 -0
  18. package/dist/browser-extension/chrome/icon48.png +0 -0
  19. package/dist/browser-extension/chrome/manifest.json +57 -0
  20. package/dist/browser-extension/chrome/popup.css +519 -0
  21. package/dist/browser-extension/chrome/popup.html +242 -0
  22. package/dist/browser-extension/chrome/popup.js +267 -0
  23. package/dist/browser-extension/chrome/sidebar.css +1176 -0
  24. package/dist/browser-extension/chrome/sidebar.html +280 -0
  25. package/dist/browser-extension/chrome/sidebar.js +778 -0
  26. package/dist/browser-extension/cli.js +233 -0
  27. package/dist/browser-extension/content-script.js +1270 -0
  28. package/dist/browser-extension/firefox/ai-worker.js +571 -0
  29. package/dist/browser-extension/firefox/background.js +617 -0
  30. package/dist/browser-extension/firefox/callback.html +17 -0
  31. package/dist/browser-extension/firefox/content-script.js +1270 -0
  32. package/dist/browser-extension/firefox/icon128.png +0 -0
  33. package/dist/browser-extension/firefox/icon16.png +0 -0
  34. package/dist/browser-extension/firefox/icon32.png +0 -0
  35. package/dist/browser-extension/firefox/icon48.png +0 -0
  36. package/dist/browser-extension/firefox/manifest.json +66 -0
  37. package/dist/browser-extension/firefox/popup.css +519 -0
  38. package/dist/browser-extension/firefox/popup.html +242 -0
  39. package/dist/browser-extension/firefox/popup.js +267 -0
  40. package/dist/browser-extension/firefox/sidebar.css +1176 -0
  41. package/dist/browser-extension/firefox/sidebar.html +280 -0
  42. package/dist/browser-extension/firefox/sidebar.js +778 -0
  43. package/dist/browser-extension/hanzo-browser-extension-firefox-1.1.0.zip +0 -0
  44. package/dist/browser-extension/icon128.png +0 -0
  45. package/dist/browser-extension/icon16.png +0 -0
  46. package/dist/browser-extension/icon32.png +0 -0
  47. package/dist/browser-extension/icon48.png +0 -0
  48. package/dist/browser-extension/manifest.json +57 -0
  49. package/dist/browser-extension/package.json +41 -0
  50. package/dist/browser-extension/popup.css +468 -0
  51. package/dist/browser-extension/popup.html +191 -0
  52. package/dist/browser-extension/popup.js +267 -0
  53. package/dist/browser-extension/safari/Info.plist +21 -0
  54. package/dist/browser-extension/safari/ai-worker.js +571 -0
  55. package/dist/browser-extension/safari/background.js +2737 -0
  56. package/dist/browser-extension/safari/callback.html +17 -0
  57. package/dist/browser-extension/safari/content-script.js +1270 -0
  58. package/dist/browser-extension/safari/icon128.png +0 -0
  59. package/dist/browser-extension/safari/icon16.png +0 -0
  60. package/dist/browser-extension/safari/icon32.png +0 -0
  61. package/dist/browser-extension/safari/icon48.png +0 -0
  62. package/dist/browser-extension/safari/popup.css +519 -0
  63. package/dist/browser-extension/safari/popup.html +242 -0
  64. package/dist/browser-extension/safari/popup.js +267 -0
  65. package/dist/browser-extension/safari/sidebar.css +1176 -0
  66. package/dist/browser-extension/safari/sidebar.html +280 -0
  67. package/dist/browser-extension/safari/sidebar.js +778 -0
  68. package/dist/browser-extension/sidebar.css +718 -0
  69. package/dist/browser-extension/sidebar.html +184 -0
  70. package/dist/browser-extension/sidebar.js +778 -0
  71. package/dist/browser-extension/webgpu-ai.js +495 -0
  72. package/dist/cdp-bridge-server.js +411 -0
  73. package/dist/safari/Hanzo AI/Hanzo AI.xcodeproj/project.pbxproj +1047 -0
  74. package/dist/safari/Hanzo AI/Hanzo AI.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
  75. package/dist/safari/Hanzo AI/Shared (App)/Assets.xcassets/AccentColor.colorset/Contents.json +11 -0
  76. package/dist/safari/Hanzo AI/Shared (App)/Assets.xcassets/AppIcon.appiconset/Contents.json +98 -0
  77. package/dist/safari/Hanzo AI/Shared (App)/Assets.xcassets/AppIcon.appiconset/mac-icon-128@1x.png +0 -0
  78. package/dist/safari/Hanzo AI/Shared (App)/Assets.xcassets/AppIcon.appiconset/mac-icon-128@2x.png +0 -0
  79. package/dist/safari/Hanzo AI/Shared (App)/Assets.xcassets/AppIcon.appiconset/mac-icon-16@1x.png +0 -0
  80. package/dist/safari/Hanzo AI/Shared (App)/Assets.xcassets/AppIcon.appiconset/mac-icon-16@2x.png +0 -0
  81. package/dist/safari/Hanzo AI/Shared (App)/Assets.xcassets/AppIcon.appiconset/mac-icon-256@1x.png +0 -0
  82. package/dist/safari/Hanzo AI/Shared (App)/Assets.xcassets/AppIcon.appiconset/mac-icon-256@2x.png +0 -0
  83. package/dist/safari/Hanzo AI/Shared (App)/Assets.xcassets/AppIcon.appiconset/mac-icon-32@1x.png +0 -0
  84. package/dist/safari/Hanzo AI/Shared (App)/Assets.xcassets/AppIcon.appiconset/mac-icon-32@2x.png +0 -0
  85. package/dist/safari/Hanzo AI/Shared (App)/Assets.xcassets/AppIcon.appiconset/mac-icon-512@1x.png +0 -0
  86. package/dist/safari/Hanzo AI/Shared (App)/Assets.xcassets/AppIcon.appiconset/mac-icon-512@2x.png +0 -0
  87. package/dist/safari/Hanzo AI/Shared (App)/Assets.xcassets/AppIcon.appiconset/universal-icon-1024@1x.png +0 -0
  88. package/dist/safari/Hanzo AI/Shared (App)/Assets.xcassets/Contents.json +6 -0
  89. package/dist/safari/Hanzo AI/Shared (App)/Assets.xcassets/LargeIcon.imageset/Contents.json +21 -0
  90. package/dist/safari/Hanzo AI/Shared (App)/Assets.xcassets/LargeIcon.imageset/icon128.png +0 -0
  91. package/dist/safari/Hanzo AI/Shared (App)/Resources/Base.lproj/Main.html +20 -0
  92. package/dist/safari/Hanzo AI/Shared (App)/Resources/Icon.png +0 -0
  93. package/dist/safari/Hanzo AI/Shared (App)/Resources/Script.js +24 -0
  94. package/dist/safari/Hanzo AI/Shared (App)/Resources/Style.css +61 -0
  95. package/dist/safari/Hanzo AI/Shared (App)/ViewController.swift +81 -0
  96. package/dist/safari/Hanzo AI/Shared (Extension)/SafariWebExtensionHandler.swift +42 -0
  97. package/dist/safari/Hanzo AI/iOS (App)/AppDelegate.swift +24 -0
  98. package/dist/safari/Hanzo AI/iOS (App)/Base.lproj/LaunchScreen.storyboard +36 -0
  99. package/dist/safari/Hanzo AI/iOS (App)/Base.lproj/Main.storyboard +38 -0
  100. package/dist/safari/Hanzo AI/iOS (App)/Info.plist +27 -0
  101. package/dist/safari/Hanzo AI/iOS (App)/SceneDelegate.swift +18 -0
  102. package/dist/safari/Hanzo AI/iOS (Extension)/Info.plist +13 -0
  103. package/dist/safari/Hanzo AI/macOS (App)/AppDelegate.swift +21 -0
  104. package/dist/safari/Hanzo AI/macOS (App)/Base.lproj/Main.storyboard +124 -0
  105. package/dist/safari/Hanzo AI/macOS (App)/Info.plist +8 -0
  106. package/dist/safari/Hanzo AI/macOS (Extension)/Info.plist +13 -0
  107. package/docs/_config.yml +13 -0
  108. package/docs/_layouts/default.html +435 -0
  109. package/docs/index.md +54 -0
  110. package/install-extension.sh +75 -0
  111. package/manifest.json +29 -0
  112. package/package.json +32 -0
  113. package/src/ai-worker.js +571 -0
  114. package/src/callback.html +17 -0
  115. package/src/chat-widget.tsx +93 -0
  116. package/src/icon128.png +0 -0
  117. package/src/icon16.png +0 -0
  118. package/src/icon32.png +0 -0
  119. package/src/icon48.png +0 -0
  120. package/src/manifest-firefox.json +66 -0
  121. package/src/manifest.json +57 -0
  122. package/src/package.json +41 -0
  123. package/src/popup.css +519 -0
  124. package/src/popup.html +242 -0
  125. package/src/popup.js +192 -0
  126. package/src/sidebar.css +1176 -0
  127. package/src/sidebar.html +280 -0
  128. package/src/sidebar.js +884 -0
  129. package/src/webgpu.d.ts +131 -0
  130. package/test/claude-integration.test.ts +251 -0
  131. package/test/server-frameworks-edge-cases.test.ts +145 -0
  132. package/test/server-frameworks.test.ts +395 -0
  133. package/test-cdp-connection.js +140 -0
  134. package/tsconfig.json +19 -0
@@ -0,0 +1,1047 @@
1
+ // !$*UTF8*$!
2
+ {
3
+ archiveVersion = 1;
4
+ classes = {
5
+ };
6
+ objectVersion = 77;
7
+ objects = {
8
+
9
+ /* Begin PBXBuildFile section */
10
+ 19C1A8962F593D6900F54D56 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19C1A8952F593D6900F54D56 /* AppDelegate.swift */; };
11
+ 19C1A8982F593D6900F54D56 /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19C1A8972F593D6900F54D56 /* SceneDelegate.swift */; };
12
+ 19C1A89B2F593D6900F54D56 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 19C1A8992F593D6900F54D56 /* LaunchScreen.storyboard */; };
13
+ 19C1A89E2F593D6900F54D56 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 19C1A89C2F593D6900F54D56 /* Main.storyboard */; };
14
+ 19C1A8A72F593D6900F54D56 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19C1A8A62F593D6900F54D56 /* AppDelegate.swift */; };
15
+ 19C1A8AA2F593D6900F54D56 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 19C1A8A82F593D6900F54D56 /* Main.storyboard */; };
16
+ 19C1A8B12F593D6900F54D56 /* Hanzo AI Extension.appex in Embed Foundation Extensions */ = {isa = PBXBuildFile; fileRef = 19C1A8B02F593D6900F54D56 /* Hanzo AI Extension.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; };
17
+ 19C1A8BB2F593D6900F54D56 /* Hanzo AI Extension.appex in Embed Foundation Extensions */ = {isa = PBXBuildFile; fileRef = 19C1A8BA2F593D6900F54D56 /* Hanzo AI Extension.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; };
18
+ 19C1A8C02F593D6900F54D56 /* Main.html in Resources */ = {isa = PBXBuildFile; fileRef = 19C1A8852F593D6700F54D56 /* Main.html */; };
19
+ 19C1A8C12F593D6900F54D56 /* Main.html in Resources */ = {isa = PBXBuildFile; fileRef = 19C1A8852F593D6700F54D56 /* Main.html */; };
20
+ 19C1A8C22F593D6900F54D56 /* Icon.png in Resources */ = {isa = PBXBuildFile; fileRef = 19C1A8872F593D6700F54D56 /* Icon.png */; };
21
+ 19C1A8C32F593D6900F54D56 /* Icon.png in Resources */ = {isa = PBXBuildFile; fileRef = 19C1A8872F593D6700F54D56 /* Icon.png */; };
22
+ 19C1A8C42F593D6900F54D56 /* Style.css in Resources */ = {isa = PBXBuildFile; fileRef = 19C1A8882F593D6700F54D56 /* Style.css */; };
23
+ 19C1A8C52F593D6900F54D56 /* Style.css in Resources */ = {isa = PBXBuildFile; fileRef = 19C1A8882F593D6700F54D56 /* Style.css */; };
24
+ 19C1A8C62F593D6900F54D56 /* Script.js in Resources */ = {isa = PBXBuildFile; fileRef = 19C1A8892F593D6700F54D56 /* Script.js */; };
25
+ 19C1A8C72F593D6900F54D56 /* Script.js in Resources */ = {isa = PBXBuildFile; fileRef = 19C1A8892F593D6700F54D56 /* Script.js */; };
26
+ 19C1A8C82F593D6900F54D56 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19C1A88A2F593D6700F54D56 /* ViewController.swift */; };
27
+ 19C1A8C92F593D6900F54D56 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19C1A88A2F593D6700F54D56 /* ViewController.swift */; };
28
+ 19C1A8CA2F593D6900F54D56 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 19C1A88B2F593D6900F54D56 /* Assets.xcassets */; };
29
+ 19C1A8CB2F593D6900F54D56 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 19C1A88B2F593D6900F54D56 /* Assets.xcassets */; };
30
+ 19C1A8CC2F593D6900F54D56 /* SafariWebExtensionHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19C1A88D2F593D6900F54D56 /* SafariWebExtensionHandler.swift */; };
31
+ 19C1A8CD2F593D6900F54D56 /* SafariWebExtensionHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19C1A88D2F593D6900F54D56 /* SafariWebExtensionHandler.swift */; };
32
+ 19C1A8EE2F593D6C00F54D56 /* icon16.png in Resources */ = {isa = PBXBuildFile; fileRef = 19C1A8DF2F593D6C00F54D56 /* icon16.png */; };
33
+ 19C1A8EF2F593D6C00F54D56 /* popup.js in Resources */ = {isa = PBXBuildFile; fileRef = 19C1A8E02F593D6C00F54D56 /* popup.js */; };
34
+ 19C1A8F02F593D6C00F54D56 /* background.js in Resources */ = {isa = PBXBuildFile; fileRef = 19C1A8E12F593D6C00F54D56 /* background.js */; };
35
+ 19C1A8F12F593D6C00F54D56 /* popup.html in Resources */ = {isa = PBXBuildFile; fileRef = 19C1A8E22F593D6C00F54D56 /* popup.html */; };
36
+ 19C1A8F22F593D6C00F54D56 /* icon48.png in Resources */ = {isa = PBXBuildFile; fileRef = 19C1A8E32F593D6C00F54D56 /* icon48.png */; };
37
+ 19C1A8F32F593D6C00F54D56 /* sidebar.js in Resources */ = {isa = PBXBuildFile; fileRef = 19C1A8E42F593D6C00F54D56 /* sidebar.js */; };
38
+ 19C1A8F42F593D6C00F54D56 /* icon128.png in Resources */ = {isa = PBXBuildFile; fileRef = 19C1A8E52F593D6C00F54D56 /* icon128.png */; };
39
+ 19C1A8F52F593D6C00F54D56 /* callback.html in Resources */ = {isa = PBXBuildFile; fileRef = 19C1A8E62F593D6C00F54D56 /* callback.html */; };
40
+ 19C1A8F62F593D6C00F54D56 /* sidebar.css in Resources */ = {isa = PBXBuildFile; fileRef = 19C1A8E72F593D6C00F54D56 /* sidebar.css */; };
41
+ 19C1A8F72F593D6C00F54D56 /* manifest.json in Resources */ = {isa = PBXBuildFile; fileRef = 19C1A8E82F593D6C00F54D56 /* manifest.json */; };
42
+ 19C1A8F82F593D6C00F54D56 /* content-script.js in Resources */ = {isa = PBXBuildFile; fileRef = 19C1A8E92F593D6C00F54D56 /* content-script.js */; };
43
+ 19C1A8F92F593D6C00F54D56 /* popup.css in Resources */ = {isa = PBXBuildFile; fileRef = 19C1A8EA2F593D6C00F54D56 /* popup.css */; };
44
+ 19C1A8FA2F593D6C00F54D56 /* sidebar.html in Resources */ = {isa = PBXBuildFile; fileRef = 19C1A8EB2F593D6C00F54D56 /* sidebar.html */; };
45
+ 19C1A8FB2F593D6C00F54D56 /* ai-worker.js in Resources */ = {isa = PBXBuildFile; fileRef = 19C1A8EC2F593D6C00F54D56 /* ai-worker.js */; };
46
+ 19C1A8FC2F593D6C00F54D56 /* icon32.png in Resources */ = {isa = PBXBuildFile; fileRef = 19C1A8ED2F593D6C00F54D56 /* icon32.png */; };
47
+ 19C1A8FD2F593D6C00F54D56 /* icon16.png in Resources */ = {isa = PBXBuildFile; fileRef = 19C1A8DF2F593D6C00F54D56 /* icon16.png */; };
48
+ 19C1A8FE2F593D6C00F54D56 /* popup.js in Resources */ = {isa = PBXBuildFile; fileRef = 19C1A8E02F593D6C00F54D56 /* popup.js */; };
49
+ 19C1A8FF2F593D6C00F54D56 /* background.js in Resources */ = {isa = PBXBuildFile; fileRef = 19C1A8E12F593D6C00F54D56 /* background.js */; };
50
+ 19C1A9002F593D6C00F54D56 /* popup.html in Resources */ = {isa = PBXBuildFile; fileRef = 19C1A8E22F593D6C00F54D56 /* popup.html */; };
51
+ 19C1A9012F593D6C00F54D56 /* icon48.png in Resources */ = {isa = PBXBuildFile; fileRef = 19C1A8E32F593D6C00F54D56 /* icon48.png */; };
52
+ 19C1A9022F593D6C00F54D56 /* sidebar.js in Resources */ = {isa = PBXBuildFile; fileRef = 19C1A8E42F593D6C00F54D56 /* sidebar.js */; };
53
+ 19C1A9032F593D6C00F54D56 /* icon128.png in Resources */ = {isa = PBXBuildFile; fileRef = 19C1A8E52F593D6C00F54D56 /* icon128.png */; };
54
+ 19C1A9042F593D6C00F54D56 /* callback.html in Resources */ = {isa = PBXBuildFile; fileRef = 19C1A8E62F593D6C00F54D56 /* callback.html */; };
55
+ 19C1A9052F593D6C00F54D56 /* sidebar.css in Resources */ = {isa = PBXBuildFile; fileRef = 19C1A8E72F593D6C00F54D56 /* sidebar.css */; };
56
+ 19C1A9062F593D6C00F54D56 /* manifest.json in Resources */ = {isa = PBXBuildFile; fileRef = 19C1A8E82F593D6C00F54D56 /* manifest.json */; };
57
+ 19C1A9072F593D6C00F54D56 /* content-script.js in Resources */ = {isa = PBXBuildFile; fileRef = 19C1A8E92F593D6C00F54D56 /* content-script.js */; };
58
+ 19C1A9082F593D6C00F54D56 /* popup.css in Resources */ = {isa = PBXBuildFile; fileRef = 19C1A8EA2F593D6C00F54D56 /* popup.css */; };
59
+ 19C1A9092F593D6C00F54D56 /* sidebar.html in Resources */ = {isa = PBXBuildFile; fileRef = 19C1A8EB2F593D6C00F54D56 /* sidebar.html */; };
60
+ 19C1A90A2F593D6C00F54D56 /* ai-worker.js in Resources */ = {isa = PBXBuildFile; fileRef = 19C1A8EC2F593D6C00F54D56 /* ai-worker.js */; };
61
+ 19C1A90B2F593D6C00F54D56 /* icon32.png in Resources */ = {isa = PBXBuildFile; fileRef = 19C1A8ED2F593D6C00F54D56 /* icon32.png */; };
62
+ /* End PBXBuildFile section */
63
+
64
+ /* Begin PBXContainerItemProxy section */
65
+ 19C1A8B22F593D6900F54D56 /* PBXContainerItemProxy */ = {
66
+ isa = PBXContainerItemProxy;
67
+ containerPortal = 19C1A87F2F593D6700F54D56 /* Project object */;
68
+ proxyType = 1;
69
+ remoteGlobalIDString = 19C1A8AF2F593D6900F54D56;
70
+ remoteInfo = "Hanzo AI Extension (iOS)";
71
+ };
72
+ 19C1A8BC2F593D6900F54D56 /* PBXContainerItemProxy */ = {
73
+ isa = PBXContainerItemProxy;
74
+ containerPortal = 19C1A87F2F593D6700F54D56 /* Project object */;
75
+ proxyType = 1;
76
+ remoteGlobalIDString = 19C1A8B92F593D6900F54D56;
77
+ remoteInfo = "Hanzo AI Extension (macOS)";
78
+ };
79
+ /* End PBXContainerItemProxy section */
80
+
81
+ /* Begin PBXCopyFilesBuildPhase section */
82
+ 19C1A8D32F593D6900F54D56 /* Embed Foundation Extensions */ = {
83
+ isa = PBXCopyFilesBuildPhase;
84
+ buildActionMask = 2147483647;
85
+ dstPath = "";
86
+ dstSubfolderSpec = 13;
87
+ files = (
88
+ 19C1A8B12F593D6900F54D56 /* Hanzo AI Extension.appex in Embed Foundation Extensions */,
89
+ );
90
+ name = "Embed Foundation Extensions";
91
+ runOnlyForDeploymentPostprocessing = 0;
92
+ };
93
+ 19C1A8DA2F593D6900F54D56 /* Embed Foundation Extensions */ = {
94
+ isa = PBXCopyFilesBuildPhase;
95
+ buildActionMask = 2147483647;
96
+ dstPath = "";
97
+ dstSubfolderSpec = 13;
98
+ files = (
99
+ 19C1A8BB2F593D6900F54D56 /* Hanzo AI Extension.appex in Embed Foundation Extensions */,
100
+ );
101
+ name = "Embed Foundation Extensions";
102
+ runOnlyForDeploymentPostprocessing = 0;
103
+ };
104
+ /* End PBXCopyFilesBuildPhase section */
105
+
106
+ /* Begin PBXFileReference section */
107
+ 19C1A8862F593D6700F54D56 /* Base */ = {isa = PBXFileReference; lastKnownFileType = text.html; name = Base; path = Base.lproj/Main.html; sourceTree = "<group>"; };
108
+ 19C1A8872F593D6700F54D56 /* Icon.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Icon.png; sourceTree = "<group>"; };
109
+ 19C1A8882F593D6700F54D56 /* Style.css */ = {isa = PBXFileReference; lastKnownFileType = text.css; path = Style.css; sourceTree = "<group>"; };
110
+ 19C1A8892F593D6700F54D56 /* Script.js */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.javascript; path = Script.js; sourceTree = "<group>"; };
111
+ 19C1A88A2F593D6700F54D56 /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = "<group>"; };
112
+ 19C1A88B2F593D6900F54D56 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
113
+ 19C1A88D2F593D6900F54D56 /* SafariWebExtensionHandler.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SafariWebExtensionHandler.swift; sourceTree = "<group>"; };
114
+ 19C1A8922F593D6900F54D56 /* Hanzo AI.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Hanzo AI.app"; sourceTree = BUILT_PRODUCTS_DIR; };
115
+ 19C1A8952F593D6900F54D56 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
116
+ 19C1A8972F593D6900F54D56 /* SceneDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SceneDelegate.swift; sourceTree = "<group>"; };
117
+ 19C1A89A2F593D6900F54D56 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
118
+ 19C1A89D2F593D6900F54D56 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
119
+ 19C1A89F2F593D6900F54D56 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
120
+ 19C1A8A42F593D6900F54D56 /* Hanzo AI.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Hanzo AI.app"; sourceTree = BUILT_PRODUCTS_DIR; };
121
+ 19C1A8A62F593D6900F54D56 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
122
+ 19C1A8A92F593D6900F54D56 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
123
+ 19C1A8AB2F593D6900F54D56 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
124
+ 19C1A8B02F593D6900F54D56 /* Hanzo AI Extension.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = "Hanzo AI Extension.appex"; sourceTree = BUILT_PRODUCTS_DIR; };
125
+ 19C1A8B52F593D6900F54D56 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
126
+ 19C1A8BA2F593D6900F54D56 /* Hanzo AI Extension.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = "Hanzo AI Extension.appex"; sourceTree = BUILT_PRODUCTS_DIR; };
127
+ 19C1A8BF2F593D6900F54D56 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
128
+ 19C1A8DF2F593D6C00F54D56 /* icon16.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = icon16.png; path = "../../../browser-extension/chrome/icon16.png"; sourceTree = "<group>"; };
129
+ 19C1A8E02F593D6C00F54D56 /* popup.js */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.javascript; name = popup.js; path = "../../../browser-extension/chrome/popup.js"; sourceTree = "<group>"; };
130
+ 19C1A8E12F593D6C00F54D56 /* background.js */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.javascript; name = background.js; path = "../../../browser-extension/chrome/background.js"; sourceTree = "<group>"; };
131
+ 19C1A8E22F593D6C00F54D56 /* popup.html */ = {isa = PBXFileReference; lastKnownFileType = text.html; name = popup.html; path = "../../../browser-extension/chrome/popup.html"; sourceTree = "<group>"; };
132
+ 19C1A8E32F593D6C00F54D56 /* icon48.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = icon48.png; path = "../../../browser-extension/chrome/icon48.png"; sourceTree = "<group>"; };
133
+ 19C1A8E42F593D6C00F54D56 /* sidebar.js */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.javascript; name = sidebar.js; path = "../../../browser-extension/chrome/sidebar.js"; sourceTree = "<group>"; };
134
+ 19C1A8E52F593D6C00F54D56 /* icon128.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = icon128.png; path = "../../../browser-extension/chrome/icon128.png"; sourceTree = "<group>"; };
135
+ 19C1A8E62F593D6C00F54D56 /* callback.html */ = {isa = PBXFileReference; lastKnownFileType = text.html; name = callback.html; path = "../../../browser-extension/chrome/callback.html"; sourceTree = "<group>"; };
136
+ 19C1A8E72F593D6C00F54D56 /* sidebar.css */ = {isa = PBXFileReference; lastKnownFileType = text.css; name = sidebar.css; path = "../../../browser-extension/chrome/sidebar.css"; sourceTree = "<group>"; };
137
+ 19C1A8E82F593D6C00F54D56 /* manifest.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; name = manifest.json; path = "../../../browser-extension/chrome/manifest.json"; sourceTree = "<group>"; };
138
+ 19C1A8E92F593D6C00F54D56 /* content-script.js */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.javascript; name = "content-script.js"; path = "../../../browser-extension/chrome/content-script.js"; sourceTree = "<group>"; };
139
+ 19C1A8EA2F593D6C00F54D56 /* popup.css */ = {isa = PBXFileReference; lastKnownFileType = text.css; name = popup.css; path = "../../../browser-extension/chrome/popup.css"; sourceTree = "<group>"; };
140
+ 19C1A8EB2F593D6C00F54D56 /* sidebar.html */ = {isa = PBXFileReference; lastKnownFileType = text.html; name = sidebar.html; path = "../../../browser-extension/chrome/sidebar.html"; sourceTree = "<group>"; };
141
+ 19C1A8EC2F593D6C00F54D56 /* ai-worker.js */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.javascript; name = "ai-worker.js"; path = "../../../browser-extension/chrome/ai-worker.js"; sourceTree = "<group>"; };
142
+ 19C1A8ED2F593D6C00F54D56 /* icon32.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = icon32.png; path = "../../../browser-extension/chrome/icon32.png"; sourceTree = "<group>"; };
143
+ /* End PBXFileReference section */
144
+
145
+ /* Begin PBXFrameworksBuildPhase section */
146
+ 19C1A88F2F593D6900F54D56 /* Frameworks */ = {
147
+ isa = PBXFrameworksBuildPhase;
148
+ buildActionMask = 2147483647;
149
+ files = (
150
+ );
151
+ runOnlyForDeploymentPostprocessing = 0;
152
+ };
153
+ 19C1A8A12F593D6900F54D56 /* Frameworks */ = {
154
+ isa = PBXFrameworksBuildPhase;
155
+ buildActionMask = 2147483647;
156
+ files = (
157
+ );
158
+ runOnlyForDeploymentPostprocessing = 0;
159
+ };
160
+ 19C1A8AD2F593D6900F54D56 /* Frameworks */ = {
161
+ isa = PBXFrameworksBuildPhase;
162
+ buildActionMask = 2147483647;
163
+ files = (
164
+ );
165
+ runOnlyForDeploymentPostprocessing = 0;
166
+ };
167
+ 19C1A8B72F593D6900F54D56 /* Frameworks */ = {
168
+ isa = PBXFrameworksBuildPhase;
169
+ buildActionMask = 2147483647;
170
+ files = (
171
+ );
172
+ runOnlyForDeploymentPostprocessing = 0;
173
+ };
174
+ /* End PBXFrameworksBuildPhase section */
175
+
176
+ /* Begin PBXGroup section */
177
+ 19C1A87E2F593D6700F54D56 = {
178
+ isa = PBXGroup;
179
+ children = (
180
+ 19C1A8832F593D6700F54D56 /* Shared (App) */,
181
+ 19C1A88C2F593D6900F54D56 /* Shared (Extension) */,
182
+ 19C1A8942F593D6900F54D56 /* iOS (App) */,
183
+ 19C1A8A52F593D6900F54D56 /* macOS (App) */,
184
+ 19C1A8B42F593D6900F54D56 /* iOS (Extension) */,
185
+ 19C1A8BE2F593D6900F54D56 /* macOS (Extension) */,
186
+ 19C1A8932F593D6900F54D56 /* Products */,
187
+ );
188
+ sourceTree = "<group>";
189
+ };
190
+ 19C1A8832F593D6700F54D56 /* Shared (App) */ = {
191
+ isa = PBXGroup;
192
+ children = (
193
+ 19C1A88A2F593D6700F54D56 /* ViewController.swift */,
194
+ 19C1A88B2F593D6900F54D56 /* Assets.xcassets */,
195
+ 19C1A8842F593D6700F54D56 /* Resources */,
196
+ );
197
+ path = "Shared (App)";
198
+ sourceTree = "<group>";
199
+ };
200
+ 19C1A8842F593D6700F54D56 /* Resources */ = {
201
+ isa = PBXGroup;
202
+ children = (
203
+ 19C1A8852F593D6700F54D56 /* Main.html */,
204
+ 19C1A8872F593D6700F54D56 /* Icon.png */,
205
+ 19C1A8882F593D6700F54D56 /* Style.css */,
206
+ 19C1A8892F593D6700F54D56 /* Script.js */,
207
+ );
208
+ path = Resources;
209
+ sourceTree = "<group>";
210
+ };
211
+ 19C1A88C2F593D6900F54D56 /* Shared (Extension) */ = {
212
+ isa = PBXGroup;
213
+ children = (
214
+ 19C1A8DE2F593D6C00F54D56 /* Resources */,
215
+ 19C1A88D2F593D6900F54D56 /* SafariWebExtensionHandler.swift */,
216
+ );
217
+ path = "Shared (Extension)";
218
+ sourceTree = "<group>";
219
+ };
220
+ 19C1A8932F593D6900F54D56 /* Products */ = {
221
+ isa = PBXGroup;
222
+ children = (
223
+ 19C1A8922F593D6900F54D56 /* Hanzo AI.app */,
224
+ 19C1A8A42F593D6900F54D56 /* Hanzo AI.app */,
225
+ 19C1A8B02F593D6900F54D56 /* Hanzo AI Extension.appex */,
226
+ 19C1A8BA2F593D6900F54D56 /* Hanzo AI Extension.appex */,
227
+ );
228
+ name = Products;
229
+ sourceTree = "<group>";
230
+ };
231
+ 19C1A8942F593D6900F54D56 /* iOS (App) */ = {
232
+ isa = PBXGroup;
233
+ children = (
234
+ 19C1A8952F593D6900F54D56 /* AppDelegate.swift */,
235
+ 19C1A8972F593D6900F54D56 /* SceneDelegate.swift */,
236
+ 19C1A8992F593D6900F54D56 /* LaunchScreen.storyboard */,
237
+ 19C1A89C2F593D6900F54D56 /* Main.storyboard */,
238
+ 19C1A89F2F593D6900F54D56 /* Info.plist */,
239
+ );
240
+ path = "iOS (App)";
241
+ sourceTree = "<group>";
242
+ };
243
+ 19C1A8A52F593D6900F54D56 /* macOS (App) */ = {
244
+ isa = PBXGroup;
245
+ children = (
246
+ 19C1A8A62F593D6900F54D56 /* AppDelegate.swift */,
247
+ 19C1A8A82F593D6900F54D56 /* Main.storyboard */,
248
+ 19C1A8AB2F593D6900F54D56 /* Info.plist */,
249
+ );
250
+ path = "macOS (App)";
251
+ sourceTree = "<group>";
252
+ };
253
+ 19C1A8B42F593D6900F54D56 /* iOS (Extension) */ = {
254
+ isa = PBXGroup;
255
+ children = (
256
+ 19C1A8B52F593D6900F54D56 /* Info.plist */,
257
+ );
258
+ path = "iOS (Extension)";
259
+ sourceTree = "<group>";
260
+ };
261
+ 19C1A8BE2F593D6900F54D56 /* macOS (Extension) */ = {
262
+ isa = PBXGroup;
263
+ children = (
264
+ 19C1A8BF2F593D6900F54D56 /* Info.plist */,
265
+ );
266
+ path = "macOS (Extension)";
267
+ sourceTree = "<group>";
268
+ };
269
+ 19C1A8DE2F593D6C00F54D56 /* Resources */ = {
270
+ isa = PBXGroup;
271
+ children = (
272
+ 19C1A8DF2F593D6C00F54D56 /* icon16.png */,
273
+ 19C1A8E02F593D6C00F54D56 /* popup.js */,
274
+ 19C1A8E12F593D6C00F54D56 /* background.js */,
275
+ 19C1A8E22F593D6C00F54D56 /* popup.html */,
276
+ 19C1A8E32F593D6C00F54D56 /* icon48.png */,
277
+ 19C1A8E42F593D6C00F54D56 /* sidebar.js */,
278
+ 19C1A8E52F593D6C00F54D56 /* icon128.png */,
279
+ 19C1A8E62F593D6C00F54D56 /* callback.html */,
280
+ 19C1A8E72F593D6C00F54D56 /* sidebar.css */,
281
+ 19C1A8E82F593D6C00F54D56 /* manifest.json */,
282
+ 19C1A8E92F593D6C00F54D56 /* content-script.js */,
283
+ 19C1A8EA2F593D6C00F54D56 /* popup.css */,
284
+ 19C1A8EB2F593D6C00F54D56 /* sidebar.html */,
285
+ 19C1A8EC2F593D6C00F54D56 /* ai-worker.js */,
286
+ 19C1A8ED2F593D6C00F54D56 /* icon32.png */,
287
+ );
288
+ name = Resources;
289
+ path = "Shared (Extension)";
290
+ sourceTree = SOURCE_ROOT;
291
+ };
292
+ /* End PBXGroup section */
293
+
294
+ /* Begin PBXNativeTarget section */
295
+ 19C1A8912F593D6900F54D56 /* Hanzo AI (iOS) */ = {
296
+ isa = PBXNativeTarget;
297
+ buildConfigurationList = 19C1A8D42F593D6900F54D56 /* Build configuration list for PBXNativeTarget "Hanzo AI (iOS)" */;
298
+ buildPhases = (
299
+ 19C1A88E2F593D6900F54D56 /* Sources */,
300
+ 19C1A88F2F593D6900F54D56 /* Frameworks */,
301
+ 19C1A8902F593D6900F54D56 /* Resources */,
302
+ 19C1A8D32F593D6900F54D56 /* Embed Foundation Extensions */,
303
+ );
304
+ buildRules = (
305
+ );
306
+ dependencies = (
307
+ 19C1A8B32F593D6900F54D56 /* PBXTargetDependency */,
308
+ );
309
+ name = "Hanzo AI (iOS)";
310
+ packageProductDependencies = (
311
+ );
312
+ productName = "Hanzo AI (iOS)";
313
+ productReference = 19C1A8922F593D6900F54D56 /* Hanzo AI.app */;
314
+ productType = "com.apple.product-type.application";
315
+ };
316
+ 19C1A8A32F593D6900F54D56 /* Hanzo AI (macOS) */ = {
317
+ isa = PBXNativeTarget;
318
+ buildConfigurationList = 19C1A8DB2F593D6900F54D56 /* Build configuration list for PBXNativeTarget "Hanzo AI (macOS)" */;
319
+ buildPhases = (
320
+ 19C1A8A02F593D6900F54D56 /* Sources */,
321
+ 19C1A8A12F593D6900F54D56 /* Frameworks */,
322
+ 19C1A8A22F593D6900F54D56 /* Resources */,
323
+ 19C1A8DA2F593D6900F54D56 /* Embed Foundation Extensions */,
324
+ );
325
+ buildRules = (
326
+ );
327
+ dependencies = (
328
+ 19C1A8BD2F593D6900F54D56 /* PBXTargetDependency */,
329
+ );
330
+ name = "Hanzo AI (macOS)";
331
+ packageProductDependencies = (
332
+ );
333
+ productName = "Hanzo AI (macOS)";
334
+ productReference = 19C1A8A42F593D6900F54D56 /* Hanzo AI.app */;
335
+ productType = "com.apple.product-type.application";
336
+ };
337
+ 19C1A8AF2F593D6900F54D56 /* Hanzo AI Extension (iOS) */ = {
338
+ isa = PBXNativeTarget;
339
+ buildConfigurationList = 19C1A8D02F593D6900F54D56 /* Build configuration list for PBXNativeTarget "Hanzo AI Extension (iOS)" */;
340
+ buildPhases = (
341
+ 19C1A8AC2F593D6900F54D56 /* Sources */,
342
+ 19C1A8AD2F593D6900F54D56 /* Frameworks */,
343
+ 19C1A8AE2F593D6900F54D56 /* Resources */,
344
+ );
345
+ buildRules = (
346
+ );
347
+ dependencies = (
348
+ );
349
+ name = "Hanzo AI Extension (iOS)";
350
+ packageProductDependencies = (
351
+ );
352
+ productName = "Hanzo AI Extension (iOS)";
353
+ productReference = 19C1A8B02F593D6900F54D56 /* Hanzo AI Extension.appex */;
354
+ productType = "com.apple.product-type.app-extension";
355
+ };
356
+ 19C1A8B92F593D6900F54D56 /* Hanzo AI Extension (macOS) */ = {
357
+ isa = PBXNativeTarget;
358
+ buildConfigurationList = 19C1A8D72F593D6900F54D56 /* Build configuration list for PBXNativeTarget "Hanzo AI Extension (macOS)" */;
359
+ buildPhases = (
360
+ 19C1A8B62F593D6900F54D56 /* Sources */,
361
+ 19C1A8B72F593D6900F54D56 /* Frameworks */,
362
+ 19C1A8B82F593D6900F54D56 /* Resources */,
363
+ );
364
+ buildRules = (
365
+ );
366
+ dependencies = (
367
+ );
368
+ name = "Hanzo AI Extension (macOS)";
369
+ packageProductDependencies = (
370
+ );
371
+ productName = "Hanzo AI Extension (macOS)";
372
+ productReference = 19C1A8BA2F593D6900F54D56 /* Hanzo AI Extension.appex */;
373
+ productType = "com.apple.product-type.app-extension";
374
+ };
375
+ /* End PBXNativeTarget section */
376
+
377
+ /* Begin PBXProject section */
378
+ 19C1A87F2F593D6700F54D56 /* Project object */ = {
379
+ isa = PBXProject;
380
+ attributes = {
381
+ BuildIndependentTargetsInParallel = 1;
382
+ LastSwiftUpdateCheck = 2620;
383
+ LastUpgradeCheck = 2620;
384
+ TargetAttributes = {
385
+ 19C1A8912F593D6900F54D56 = {
386
+ CreatedOnToolsVersion = 26.2;
387
+ };
388
+ 19C1A8A32F593D6900F54D56 = {
389
+ CreatedOnToolsVersion = 26.2;
390
+ };
391
+ 19C1A8AF2F593D6900F54D56 = {
392
+ CreatedOnToolsVersion = 26.2;
393
+ };
394
+ 19C1A8B92F593D6900F54D56 = {
395
+ CreatedOnToolsVersion = 26.2;
396
+ };
397
+ };
398
+ };
399
+ buildConfigurationList = 19C1A8822F593D6700F54D56 /* Build configuration list for PBXProject "Hanzo AI" */;
400
+ developmentRegion = en;
401
+ hasScannedForEncodings = 0;
402
+ knownRegions = (
403
+ en,
404
+ Base,
405
+ );
406
+ mainGroup = 19C1A87E2F593D6700F54D56;
407
+ minimizedProjectReferenceProxies = 1;
408
+ preferredProjectObjectVersion = 77;
409
+ productRefGroup = 19C1A8932F593D6900F54D56 /* Products */;
410
+ projectDirPath = "";
411
+ projectRoot = "";
412
+ targets = (
413
+ 19C1A8912F593D6900F54D56 /* Hanzo AI (iOS) */,
414
+ 19C1A8A32F593D6900F54D56 /* Hanzo AI (macOS) */,
415
+ 19C1A8AF2F593D6900F54D56 /* Hanzo AI Extension (iOS) */,
416
+ 19C1A8B92F593D6900F54D56 /* Hanzo AI Extension (macOS) */,
417
+ );
418
+ };
419
+ /* End PBXProject section */
420
+
421
+ /* Begin PBXResourcesBuildPhase section */
422
+ 19C1A8902F593D6900F54D56 /* Resources */ = {
423
+ isa = PBXResourcesBuildPhase;
424
+ buildActionMask = 2147483647;
425
+ files = (
426
+ 19C1A8C22F593D6900F54D56 /* Icon.png in Resources */,
427
+ 19C1A89B2F593D6900F54D56 /* LaunchScreen.storyboard in Resources */,
428
+ 19C1A8C02F593D6900F54D56 /* Main.html in Resources */,
429
+ 19C1A8C62F593D6900F54D56 /* Script.js in Resources */,
430
+ 19C1A8CA2F593D6900F54D56 /* Assets.xcassets in Resources */,
431
+ 19C1A89E2F593D6900F54D56 /* Main.storyboard in Resources */,
432
+ 19C1A8C42F593D6900F54D56 /* Style.css in Resources */,
433
+ );
434
+ runOnlyForDeploymentPostprocessing = 0;
435
+ };
436
+ 19C1A8A22F593D6900F54D56 /* Resources */ = {
437
+ isa = PBXResourcesBuildPhase;
438
+ buildActionMask = 2147483647;
439
+ files = (
440
+ 19C1A8C32F593D6900F54D56 /* Icon.png in Resources */,
441
+ 19C1A8C52F593D6900F54D56 /* Style.css in Resources */,
442
+ 19C1A8AA2F593D6900F54D56 /* Main.storyboard in Resources */,
443
+ 19C1A8C72F593D6900F54D56 /* Script.js in Resources */,
444
+ 19C1A8CB2F593D6900F54D56 /* Assets.xcassets in Resources */,
445
+ 19C1A8C12F593D6900F54D56 /* Main.html in Resources */,
446
+ );
447
+ runOnlyForDeploymentPostprocessing = 0;
448
+ };
449
+ 19C1A8AE2F593D6900F54D56 /* Resources */ = {
450
+ isa = PBXResourcesBuildPhase;
451
+ buildActionMask = 2147483647;
452
+ files = (
453
+ 19C1A8FD2F593D6C00F54D56 /* icon16.png in Resources */,
454
+ 19C1A9002F593D6C00F54D56 /* popup.html in Resources */,
455
+ 19C1A90A2F593D6C00F54D56 /* ai-worker.js in Resources */,
456
+ 19C1A9062F593D6C00F54D56 /* manifest.json in Resources */,
457
+ 19C1A90B2F593D6C00F54D56 /* icon32.png in Resources */,
458
+ 19C1A8FF2F593D6C00F54D56 /* background.js in Resources */,
459
+ 19C1A8FE2F593D6C00F54D56 /* popup.js in Resources */,
460
+ 19C1A9052F593D6C00F54D56 /* sidebar.css in Resources */,
461
+ 19C1A9012F593D6C00F54D56 /* icon48.png in Resources */,
462
+ 19C1A9042F593D6C00F54D56 /* callback.html in Resources */,
463
+ 19C1A9082F593D6C00F54D56 /* popup.css in Resources */,
464
+ 19C1A9022F593D6C00F54D56 /* sidebar.js in Resources */,
465
+ 19C1A9072F593D6C00F54D56 /* content-script.js in Resources */,
466
+ 19C1A9032F593D6C00F54D56 /* icon128.png in Resources */,
467
+ 19C1A9092F593D6C00F54D56 /* sidebar.html in Resources */,
468
+ );
469
+ runOnlyForDeploymentPostprocessing = 0;
470
+ };
471
+ 19C1A8B82F593D6900F54D56 /* Resources */ = {
472
+ isa = PBXResourcesBuildPhase;
473
+ buildActionMask = 2147483647;
474
+ files = (
475
+ 19C1A8EE2F593D6C00F54D56 /* icon16.png in Resources */,
476
+ 19C1A8F12F593D6C00F54D56 /* popup.html in Resources */,
477
+ 19C1A8FB2F593D6C00F54D56 /* ai-worker.js in Resources */,
478
+ 19C1A8F72F593D6C00F54D56 /* manifest.json in Resources */,
479
+ 19C1A8FC2F593D6C00F54D56 /* icon32.png in Resources */,
480
+ 19C1A8F02F593D6C00F54D56 /* background.js in Resources */,
481
+ 19C1A8EF2F593D6C00F54D56 /* popup.js in Resources */,
482
+ 19C1A8F62F593D6C00F54D56 /* sidebar.css in Resources */,
483
+ 19C1A8F22F593D6C00F54D56 /* icon48.png in Resources */,
484
+ 19C1A8F52F593D6C00F54D56 /* callback.html in Resources */,
485
+ 19C1A8F92F593D6C00F54D56 /* popup.css in Resources */,
486
+ 19C1A8F32F593D6C00F54D56 /* sidebar.js in Resources */,
487
+ 19C1A8F82F593D6C00F54D56 /* content-script.js in Resources */,
488
+ 19C1A8F42F593D6C00F54D56 /* icon128.png in Resources */,
489
+ 19C1A8FA2F593D6C00F54D56 /* sidebar.html in Resources */,
490
+ );
491
+ runOnlyForDeploymentPostprocessing = 0;
492
+ };
493
+ /* End PBXResourcesBuildPhase section */
494
+
495
+ /* Begin PBXSourcesBuildPhase section */
496
+ 19C1A88E2F593D6900F54D56 /* Sources */ = {
497
+ isa = PBXSourcesBuildPhase;
498
+ buildActionMask = 2147483647;
499
+ files = (
500
+ 19C1A8C82F593D6900F54D56 /* ViewController.swift in Sources */,
501
+ 19C1A8962F593D6900F54D56 /* AppDelegate.swift in Sources */,
502
+ 19C1A8982F593D6900F54D56 /* SceneDelegate.swift in Sources */,
503
+ );
504
+ runOnlyForDeploymentPostprocessing = 0;
505
+ };
506
+ 19C1A8A02F593D6900F54D56 /* Sources */ = {
507
+ isa = PBXSourcesBuildPhase;
508
+ buildActionMask = 2147483647;
509
+ files = (
510
+ 19C1A8C92F593D6900F54D56 /* ViewController.swift in Sources */,
511
+ 19C1A8A72F593D6900F54D56 /* AppDelegate.swift in Sources */,
512
+ );
513
+ runOnlyForDeploymentPostprocessing = 0;
514
+ };
515
+ 19C1A8AC2F593D6900F54D56 /* Sources */ = {
516
+ isa = PBXSourcesBuildPhase;
517
+ buildActionMask = 2147483647;
518
+ files = (
519
+ 19C1A8CC2F593D6900F54D56 /* SafariWebExtensionHandler.swift in Sources */,
520
+ );
521
+ runOnlyForDeploymentPostprocessing = 0;
522
+ };
523
+ 19C1A8B62F593D6900F54D56 /* Sources */ = {
524
+ isa = PBXSourcesBuildPhase;
525
+ buildActionMask = 2147483647;
526
+ files = (
527
+ 19C1A8CD2F593D6900F54D56 /* SafariWebExtensionHandler.swift in Sources */,
528
+ );
529
+ runOnlyForDeploymentPostprocessing = 0;
530
+ };
531
+ /* End PBXSourcesBuildPhase section */
532
+
533
+ /* Begin PBXTargetDependency section */
534
+ 19C1A8B32F593D6900F54D56 /* PBXTargetDependency */ = {
535
+ isa = PBXTargetDependency;
536
+ target = 19C1A8AF2F593D6900F54D56 /* Hanzo AI Extension (iOS) */;
537
+ targetProxy = 19C1A8B22F593D6900F54D56 /* PBXContainerItemProxy */;
538
+ };
539
+ 19C1A8BD2F593D6900F54D56 /* PBXTargetDependency */ = {
540
+ isa = PBXTargetDependency;
541
+ target = 19C1A8B92F593D6900F54D56 /* Hanzo AI Extension (macOS) */;
542
+ targetProxy = 19C1A8BC2F593D6900F54D56 /* PBXContainerItemProxy */;
543
+ };
544
+ /* End PBXTargetDependency section */
545
+
546
+ /* Begin PBXVariantGroup section */
547
+ 19C1A8852F593D6700F54D56 /* Main.html */ = {
548
+ isa = PBXVariantGroup;
549
+ children = (
550
+ 19C1A8862F593D6700F54D56 /* Base */,
551
+ );
552
+ name = Main.html;
553
+ sourceTree = "<group>";
554
+ };
555
+ 19C1A8992F593D6900F54D56 /* LaunchScreen.storyboard */ = {
556
+ isa = PBXVariantGroup;
557
+ children = (
558
+ 19C1A89A2F593D6900F54D56 /* Base */,
559
+ );
560
+ name = LaunchScreen.storyboard;
561
+ sourceTree = "<group>";
562
+ };
563
+ 19C1A89C2F593D6900F54D56 /* Main.storyboard */ = {
564
+ isa = PBXVariantGroup;
565
+ children = (
566
+ 19C1A89D2F593D6900F54D56 /* Base */,
567
+ );
568
+ name = Main.storyboard;
569
+ sourceTree = "<group>";
570
+ };
571
+ 19C1A8A82F593D6900F54D56 /* Main.storyboard */ = {
572
+ isa = PBXVariantGroup;
573
+ children = (
574
+ 19C1A8A92F593D6900F54D56 /* Base */,
575
+ );
576
+ name = Main.storyboard;
577
+ sourceTree = "<group>";
578
+ };
579
+ /* End PBXVariantGroup section */
580
+
581
+ /* Begin XCBuildConfiguration section */
582
+ 19C1A8CE2F593D6900F54D56 /* Debug */ = {
583
+ isa = XCBuildConfiguration;
584
+ buildSettings = {
585
+ ALWAYS_SEARCH_USER_PATHS = NO;
586
+ ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
587
+ CLANG_ANALYZER_NONNULL = YES;
588
+ CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
589
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";
590
+ CLANG_ENABLE_MODULES = YES;
591
+ CLANG_ENABLE_OBJC_ARC = YES;
592
+ CLANG_ENABLE_OBJC_WEAK = YES;
593
+ CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
594
+ CLANG_WARN_BOOL_CONVERSION = YES;
595
+ CLANG_WARN_COMMA = YES;
596
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
597
+ CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
598
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
599
+ CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
600
+ CLANG_WARN_EMPTY_BODY = YES;
601
+ CLANG_WARN_ENUM_CONVERSION = YES;
602
+ CLANG_WARN_INFINITE_RECURSION = YES;
603
+ CLANG_WARN_INT_CONVERSION = YES;
604
+ CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
605
+ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
606
+ CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
607
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
608
+ CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
609
+ CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
610
+ CLANG_WARN_STRICT_PROTOTYPES = YES;
611
+ CLANG_WARN_SUSPICIOUS_MOVE = YES;
612
+ CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
613
+ CLANG_WARN_UNREACHABLE_CODE = YES;
614
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
615
+ COPY_PHASE_STRIP = NO;
616
+ DEBUG_INFORMATION_FORMAT = dwarf;
617
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
618
+ ENABLE_TESTABILITY = YES;
619
+ ENABLE_USER_SCRIPT_SANDBOXING = YES;
620
+ GCC_C_LANGUAGE_STANDARD = gnu17;
621
+ GCC_DYNAMIC_NO_PIC = NO;
622
+ GCC_NO_COMMON_BLOCKS = YES;
623
+ GCC_OPTIMIZATION_LEVEL = 0;
624
+ GCC_PREPROCESSOR_DEFINITIONS = (
625
+ "DEBUG=1",
626
+ "$(inherited)",
627
+ );
628
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
629
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
630
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
631
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
632
+ GCC_WARN_UNUSED_FUNCTION = YES;
633
+ GCC_WARN_UNUSED_VARIABLE = YES;
634
+ LOCALIZATION_PREFERS_STRING_CATALOGS = YES;
635
+ MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
636
+ MTL_FAST_MATH = YES;
637
+ ONLY_ACTIVE_ARCH = YES;
638
+ SWIFT_ACTIVE_COMPILATION_CONDITIONS = "DEBUG $(inherited)";
639
+ SWIFT_OPTIMIZATION_LEVEL = "-Onone";
640
+ };
641
+ name = Debug;
642
+ };
643
+ 19C1A8CF2F593D6900F54D56 /* Release */ = {
644
+ isa = XCBuildConfiguration;
645
+ buildSettings = {
646
+ ALWAYS_SEARCH_USER_PATHS = NO;
647
+ ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
648
+ CLANG_ANALYZER_NONNULL = YES;
649
+ CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
650
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";
651
+ CLANG_ENABLE_MODULES = YES;
652
+ CLANG_ENABLE_OBJC_ARC = YES;
653
+ CLANG_ENABLE_OBJC_WEAK = YES;
654
+ CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
655
+ CLANG_WARN_BOOL_CONVERSION = YES;
656
+ CLANG_WARN_COMMA = YES;
657
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
658
+ CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
659
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
660
+ CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
661
+ CLANG_WARN_EMPTY_BODY = YES;
662
+ CLANG_WARN_ENUM_CONVERSION = YES;
663
+ CLANG_WARN_INFINITE_RECURSION = YES;
664
+ CLANG_WARN_INT_CONVERSION = YES;
665
+ CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
666
+ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
667
+ CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
668
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
669
+ CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
670
+ CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
671
+ CLANG_WARN_STRICT_PROTOTYPES = YES;
672
+ CLANG_WARN_SUSPICIOUS_MOVE = YES;
673
+ CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
674
+ CLANG_WARN_UNREACHABLE_CODE = YES;
675
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
676
+ COPY_PHASE_STRIP = NO;
677
+ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
678
+ ENABLE_NS_ASSERTIONS = NO;
679
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
680
+ ENABLE_USER_SCRIPT_SANDBOXING = YES;
681
+ GCC_C_LANGUAGE_STANDARD = gnu17;
682
+ GCC_NO_COMMON_BLOCKS = YES;
683
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
684
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
685
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
686
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
687
+ GCC_WARN_UNUSED_FUNCTION = YES;
688
+ GCC_WARN_UNUSED_VARIABLE = YES;
689
+ LOCALIZATION_PREFERS_STRING_CATALOGS = YES;
690
+ MTL_ENABLE_DEBUG_INFO = NO;
691
+ MTL_FAST_MATH = YES;
692
+ SWIFT_COMPILATION_MODE = wholemodule;
693
+ };
694
+ name = Release;
695
+ };
696
+ 19C1A8D12F593D6900F54D56 /* Debug */ = {
697
+ isa = XCBuildConfiguration;
698
+ buildSettings = {
699
+ CODE_SIGN_STYLE = Automatic;
700
+ CURRENT_PROJECT_VERSION = 1;
701
+ GENERATE_INFOPLIST_FILE = YES;
702
+ INFOPLIST_FILE = "iOS (Extension)/Info.plist";
703
+ INFOPLIST_KEY_CFBundleDisplayName = "Hanzo AI Extension";
704
+ INFOPLIST_KEY_NSHumanReadableCopyright = "";
705
+ IPHONEOS_DEPLOYMENT_TARGET = 15.0;
706
+ LD_RUNPATH_SEARCH_PATHS = (
707
+ "$(inherited)",
708
+ "@executable_path/Frameworks",
709
+ "@executable_path/../../Frameworks",
710
+ );
711
+ MARKETING_VERSION = 1.0;
712
+ OTHER_LDFLAGS = (
713
+ "-framework",
714
+ SafariServices,
715
+ );
716
+ PRODUCT_BUNDLE_IDENTIFIER = "ai.hanzo.browser-extension.Extension";
717
+ PRODUCT_NAME = "Hanzo AI Extension";
718
+ SDKROOT = iphoneos;
719
+ SKIP_INSTALL = YES;
720
+ STRING_CATALOG_GENERATE_SYMBOLS = YES;
721
+ SWIFT_APPROACHABLE_CONCURRENCY = YES;
722
+ SWIFT_EMIT_LOC_STRINGS = YES;
723
+ SWIFT_UPCOMING_FEATURE_MEMBER_IMPORT_VISIBILITY = YES;
724
+ SWIFT_VERSION = 5.0;
725
+ TARGETED_DEVICE_FAMILY = "1,2";
726
+ };
727
+ name = Debug;
728
+ };
729
+ 19C1A8D22F593D6900F54D56 /* Release */ = {
730
+ isa = XCBuildConfiguration;
731
+ buildSettings = {
732
+ CODE_SIGN_STYLE = Automatic;
733
+ CURRENT_PROJECT_VERSION = 1;
734
+ GENERATE_INFOPLIST_FILE = YES;
735
+ INFOPLIST_FILE = "iOS (Extension)/Info.plist";
736
+ INFOPLIST_KEY_CFBundleDisplayName = "Hanzo AI Extension";
737
+ INFOPLIST_KEY_NSHumanReadableCopyright = "";
738
+ IPHONEOS_DEPLOYMENT_TARGET = 15.0;
739
+ LD_RUNPATH_SEARCH_PATHS = (
740
+ "$(inherited)",
741
+ "@executable_path/Frameworks",
742
+ "@executable_path/../../Frameworks",
743
+ );
744
+ MARKETING_VERSION = 1.0;
745
+ OTHER_LDFLAGS = (
746
+ "-framework",
747
+ SafariServices,
748
+ );
749
+ PRODUCT_BUNDLE_IDENTIFIER = "ai.hanzo.browser-extension.Extension";
750
+ PRODUCT_NAME = "Hanzo AI Extension";
751
+ SDKROOT = iphoneos;
752
+ SKIP_INSTALL = YES;
753
+ STRING_CATALOG_GENERATE_SYMBOLS = YES;
754
+ SWIFT_APPROACHABLE_CONCURRENCY = YES;
755
+ SWIFT_EMIT_LOC_STRINGS = YES;
756
+ SWIFT_UPCOMING_FEATURE_MEMBER_IMPORT_VISIBILITY = YES;
757
+ SWIFT_VERSION = 5.0;
758
+ TARGETED_DEVICE_FAMILY = "1,2";
759
+ VALIDATE_PRODUCT = YES;
760
+ };
761
+ name = Release;
762
+ };
763
+ 19C1A8D52F593D6900F54D56 /* Debug */ = {
764
+ isa = XCBuildConfiguration;
765
+ buildSettings = {
766
+ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
767
+ ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
768
+ CODE_SIGN_STYLE = Automatic;
769
+ CURRENT_PROJECT_VERSION = 1;
770
+ GENERATE_INFOPLIST_FILE = YES;
771
+ INFOPLIST_FILE = "iOS (App)/Info.plist";
772
+ INFOPLIST_KEY_CFBundleDisplayName = "Hanzo AI";
773
+ INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
774
+ INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen;
775
+ INFOPLIST_KEY_UIMainStoryboardFile = Main;
776
+ INFOPLIST_KEY_UISupportedInterfaceOrientations = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
777
+ INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
778
+ IPHONEOS_DEPLOYMENT_TARGET = 15.0;
779
+ LD_RUNPATH_SEARCH_PATHS = (
780
+ "$(inherited)",
781
+ "@executable_path/Frameworks",
782
+ );
783
+ MARKETING_VERSION = 1.0;
784
+ OTHER_LDFLAGS = (
785
+ "-framework",
786
+ SafariServices,
787
+ "-framework",
788
+ WebKit,
789
+ );
790
+ PRODUCT_BUNDLE_IDENTIFIER = "ai.hanzo.browser-extension";
791
+ PRODUCT_NAME = "Hanzo AI";
792
+ SDKROOT = iphoneos;
793
+ STRING_CATALOG_GENERATE_SYMBOLS = YES;
794
+ SWIFT_APPROACHABLE_CONCURRENCY = YES;
795
+ SWIFT_DEFAULT_ACTOR_ISOLATION = MainActor;
796
+ SWIFT_EMIT_LOC_STRINGS = YES;
797
+ SWIFT_UPCOMING_FEATURE_MEMBER_IMPORT_VISIBILITY = YES;
798
+ SWIFT_VERSION = 5.0;
799
+ TARGETED_DEVICE_FAMILY = "1,2";
800
+ };
801
+ name = Debug;
802
+ };
803
+ 19C1A8D62F593D6900F54D56 /* Release */ = {
804
+ isa = XCBuildConfiguration;
805
+ buildSettings = {
806
+ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
807
+ ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
808
+ CODE_SIGN_STYLE = Automatic;
809
+ CURRENT_PROJECT_VERSION = 1;
810
+ GENERATE_INFOPLIST_FILE = YES;
811
+ INFOPLIST_FILE = "iOS (App)/Info.plist";
812
+ INFOPLIST_KEY_CFBundleDisplayName = "Hanzo AI";
813
+ INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
814
+ INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen;
815
+ INFOPLIST_KEY_UIMainStoryboardFile = Main;
816
+ INFOPLIST_KEY_UISupportedInterfaceOrientations = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
817
+ INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
818
+ IPHONEOS_DEPLOYMENT_TARGET = 15.0;
819
+ LD_RUNPATH_SEARCH_PATHS = (
820
+ "$(inherited)",
821
+ "@executable_path/Frameworks",
822
+ );
823
+ MARKETING_VERSION = 1.0;
824
+ OTHER_LDFLAGS = (
825
+ "-framework",
826
+ SafariServices,
827
+ "-framework",
828
+ WebKit,
829
+ );
830
+ PRODUCT_BUNDLE_IDENTIFIER = "ai.hanzo.browser-extension";
831
+ PRODUCT_NAME = "Hanzo AI";
832
+ SDKROOT = iphoneos;
833
+ STRING_CATALOG_GENERATE_SYMBOLS = YES;
834
+ SWIFT_APPROACHABLE_CONCURRENCY = YES;
835
+ SWIFT_DEFAULT_ACTOR_ISOLATION = MainActor;
836
+ SWIFT_EMIT_LOC_STRINGS = YES;
837
+ SWIFT_UPCOMING_FEATURE_MEMBER_IMPORT_VISIBILITY = YES;
838
+ SWIFT_VERSION = 5.0;
839
+ TARGETED_DEVICE_FAMILY = "1,2";
840
+ VALIDATE_PRODUCT = YES;
841
+ };
842
+ name = Release;
843
+ };
844
+ 19C1A8D82F593D6900F54D56 /* Debug */ = {
845
+ isa = XCBuildConfiguration;
846
+ buildSettings = {
847
+ CODE_SIGN_STYLE = Automatic;
848
+ CURRENT_PROJECT_VERSION = 1;
849
+ ENABLE_APP_SANDBOX = YES;
850
+ ENABLE_HARDENED_RUNTIME = YES;
851
+ ENABLE_USER_SELECTED_FILES = readonly;
852
+ GENERATE_INFOPLIST_FILE = YES;
853
+ INFOPLIST_FILE = "macOS (Extension)/Info.plist";
854
+ INFOPLIST_KEY_CFBundleDisplayName = "Hanzo AI Extension";
855
+ INFOPLIST_KEY_NSHumanReadableCopyright = "";
856
+ LD_RUNPATH_SEARCH_PATHS = (
857
+ "$(inherited)",
858
+ "@executable_path/../Frameworks",
859
+ "@executable_path/../../../../Frameworks",
860
+ );
861
+ MACOSX_DEPLOYMENT_TARGET = 10.14;
862
+ MARKETING_VERSION = 1.0;
863
+ OTHER_LDFLAGS = (
864
+ "-framework",
865
+ SafariServices,
866
+ );
867
+ PRODUCT_BUNDLE_IDENTIFIER = "ai.hanzo.browser-extension.Extension";
868
+ PRODUCT_NAME = "Hanzo AI Extension";
869
+ SDKROOT = macosx;
870
+ SKIP_INSTALL = YES;
871
+ STRING_CATALOG_GENERATE_SYMBOLS = YES;
872
+ SWIFT_APPROACHABLE_CONCURRENCY = YES;
873
+ SWIFT_EMIT_LOC_STRINGS = YES;
874
+ SWIFT_UPCOMING_FEATURE_MEMBER_IMPORT_VISIBILITY = YES;
875
+ SWIFT_VERSION = 5.0;
876
+ };
877
+ name = Debug;
878
+ };
879
+ 19C1A8D92F593D6900F54D56 /* Release */ = {
880
+ isa = XCBuildConfiguration;
881
+ buildSettings = {
882
+ CODE_SIGN_STYLE = Automatic;
883
+ CURRENT_PROJECT_VERSION = 1;
884
+ ENABLE_APP_SANDBOX = YES;
885
+ ENABLE_HARDENED_RUNTIME = YES;
886
+ ENABLE_USER_SELECTED_FILES = readonly;
887
+ GENERATE_INFOPLIST_FILE = YES;
888
+ INFOPLIST_FILE = "macOS (Extension)/Info.plist";
889
+ INFOPLIST_KEY_CFBundleDisplayName = "Hanzo AI Extension";
890
+ INFOPLIST_KEY_NSHumanReadableCopyright = "";
891
+ LD_RUNPATH_SEARCH_PATHS = (
892
+ "$(inherited)",
893
+ "@executable_path/../Frameworks",
894
+ "@executable_path/../../../../Frameworks",
895
+ );
896
+ MACOSX_DEPLOYMENT_TARGET = 10.14;
897
+ MARKETING_VERSION = 1.0;
898
+ OTHER_LDFLAGS = (
899
+ "-framework",
900
+ SafariServices,
901
+ );
902
+ PRODUCT_BUNDLE_IDENTIFIER = "ai.hanzo.browser-extension.Extension";
903
+ PRODUCT_NAME = "Hanzo AI Extension";
904
+ SDKROOT = macosx;
905
+ SKIP_INSTALL = YES;
906
+ STRING_CATALOG_GENERATE_SYMBOLS = YES;
907
+ SWIFT_APPROACHABLE_CONCURRENCY = YES;
908
+ SWIFT_EMIT_LOC_STRINGS = YES;
909
+ SWIFT_UPCOMING_FEATURE_MEMBER_IMPORT_VISIBILITY = YES;
910
+ SWIFT_VERSION = 5.0;
911
+ };
912
+ name = Release;
913
+ };
914
+ 19C1A8DC2F593D6900F54D56 /* Debug */ = {
915
+ isa = XCBuildConfiguration;
916
+ buildSettings = {
917
+ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
918
+ ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
919
+ CODE_SIGN_STYLE = Automatic;
920
+ CURRENT_PROJECT_VERSION = 1;
921
+ ENABLE_APP_SANDBOX = YES;
922
+ ENABLE_HARDENED_RUNTIME = YES;
923
+ ENABLE_OUTGOING_NETWORK_CONNECTIONS = YES;
924
+ ENABLE_USER_SELECTED_FILES = readonly;
925
+ GENERATE_INFOPLIST_FILE = YES;
926
+ INFOPLIST_FILE = "macOS (App)/Info.plist";
927
+ INFOPLIST_KEY_CFBundleDisplayName = "Hanzo AI";
928
+ INFOPLIST_KEY_NSMainStoryboardFile = Main;
929
+ INFOPLIST_KEY_NSPrincipalClass = NSApplication;
930
+ LD_RUNPATH_SEARCH_PATHS = (
931
+ "$(inherited)",
932
+ "@executable_path/../Frameworks",
933
+ );
934
+ MACOSX_DEPLOYMENT_TARGET = 10.14;
935
+ MARKETING_VERSION = 1.0;
936
+ OTHER_LDFLAGS = (
937
+ "-framework",
938
+ SafariServices,
939
+ "-framework",
940
+ WebKit,
941
+ );
942
+ PRODUCT_BUNDLE_IDENTIFIER = "ai.hanzo.browser-extension";
943
+ PRODUCT_NAME = "Hanzo AI";
944
+ REGISTER_APP_GROUPS = YES;
945
+ SDKROOT = macosx;
946
+ STRING_CATALOG_GENERATE_SYMBOLS = YES;
947
+ SWIFT_APPROACHABLE_CONCURRENCY = YES;
948
+ SWIFT_DEFAULT_ACTOR_ISOLATION = MainActor;
949
+ SWIFT_EMIT_LOC_STRINGS = YES;
950
+ SWIFT_UPCOMING_FEATURE_MEMBER_IMPORT_VISIBILITY = YES;
951
+ SWIFT_VERSION = 5.0;
952
+ };
953
+ name = Debug;
954
+ };
955
+ 19C1A8DD2F593D6900F54D56 /* Release */ = {
956
+ isa = XCBuildConfiguration;
957
+ buildSettings = {
958
+ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
959
+ ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
960
+ CODE_SIGN_STYLE = Automatic;
961
+ CURRENT_PROJECT_VERSION = 1;
962
+ ENABLE_APP_SANDBOX = YES;
963
+ ENABLE_HARDENED_RUNTIME = YES;
964
+ ENABLE_OUTGOING_NETWORK_CONNECTIONS = YES;
965
+ ENABLE_USER_SELECTED_FILES = readonly;
966
+ GENERATE_INFOPLIST_FILE = YES;
967
+ INFOPLIST_FILE = "macOS (App)/Info.plist";
968
+ INFOPLIST_KEY_CFBundleDisplayName = "Hanzo AI";
969
+ INFOPLIST_KEY_NSMainStoryboardFile = Main;
970
+ INFOPLIST_KEY_NSPrincipalClass = NSApplication;
971
+ LD_RUNPATH_SEARCH_PATHS = (
972
+ "$(inherited)",
973
+ "@executable_path/../Frameworks",
974
+ );
975
+ MACOSX_DEPLOYMENT_TARGET = 10.14;
976
+ MARKETING_VERSION = 1.0;
977
+ OTHER_LDFLAGS = (
978
+ "-framework",
979
+ SafariServices,
980
+ "-framework",
981
+ WebKit,
982
+ );
983
+ PRODUCT_BUNDLE_IDENTIFIER = "ai.hanzo.browser-extension";
984
+ PRODUCT_NAME = "Hanzo AI";
985
+ REGISTER_APP_GROUPS = YES;
986
+ SDKROOT = macosx;
987
+ STRING_CATALOG_GENERATE_SYMBOLS = YES;
988
+ SWIFT_APPROACHABLE_CONCURRENCY = YES;
989
+ SWIFT_DEFAULT_ACTOR_ISOLATION = MainActor;
990
+ SWIFT_EMIT_LOC_STRINGS = YES;
991
+ SWIFT_UPCOMING_FEATURE_MEMBER_IMPORT_VISIBILITY = YES;
992
+ SWIFT_VERSION = 5.0;
993
+ };
994
+ name = Release;
995
+ };
996
+ /* End XCBuildConfiguration section */
997
+
998
+ /* Begin XCConfigurationList section */
999
+ 19C1A8822F593D6700F54D56 /* Build configuration list for PBXProject "Hanzo AI" */ = {
1000
+ isa = XCConfigurationList;
1001
+ buildConfigurations = (
1002
+ 19C1A8CE2F593D6900F54D56 /* Debug */,
1003
+ 19C1A8CF2F593D6900F54D56 /* Release */,
1004
+ );
1005
+ defaultConfigurationIsVisible = 0;
1006
+ defaultConfigurationName = Release;
1007
+ };
1008
+ 19C1A8D02F593D6900F54D56 /* Build configuration list for PBXNativeTarget "Hanzo AI Extension (iOS)" */ = {
1009
+ isa = XCConfigurationList;
1010
+ buildConfigurations = (
1011
+ 19C1A8D12F593D6900F54D56 /* Debug */,
1012
+ 19C1A8D22F593D6900F54D56 /* Release */,
1013
+ );
1014
+ defaultConfigurationIsVisible = 0;
1015
+ defaultConfigurationName = Release;
1016
+ };
1017
+ 19C1A8D42F593D6900F54D56 /* Build configuration list for PBXNativeTarget "Hanzo AI (iOS)" */ = {
1018
+ isa = XCConfigurationList;
1019
+ buildConfigurations = (
1020
+ 19C1A8D52F593D6900F54D56 /* Debug */,
1021
+ 19C1A8D62F593D6900F54D56 /* Release */,
1022
+ );
1023
+ defaultConfigurationIsVisible = 0;
1024
+ defaultConfigurationName = Release;
1025
+ };
1026
+ 19C1A8D72F593D6900F54D56 /* Build configuration list for PBXNativeTarget "Hanzo AI Extension (macOS)" */ = {
1027
+ isa = XCConfigurationList;
1028
+ buildConfigurations = (
1029
+ 19C1A8D82F593D6900F54D56 /* Debug */,
1030
+ 19C1A8D92F593D6900F54D56 /* Release */,
1031
+ );
1032
+ defaultConfigurationIsVisible = 0;
1033
+ defaultConfigurationName = Release;
1034
+ };
1035
+ 19C1A8DB2F593D6900F54D56 /* Build configuration list for PBXNativeTarget "Hanzo AI (macOS)" */ = {
1036
+ isa = XCConfigurationList;
1037
+ buildConfigurations = (
1038
+ 19C1A8DC2F593D6900F54D56 /* Debug */,
1039
+ 19C1A8DD2F593D6900F54D56 /* Release */,
1040
+ );
1041
+ defaultConfigurationIsVisible = 0;
1042
+ defaultConfigurationName = Release;
1043
+ };
1044
+ /* End XCConfigurationList section */
1045
+ };
1046
+ rootObject = 19C1A87F2F593D6700F54D56 /* Project object */;
1047
+ }