@lanes-sh/link 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 (276) hide show
  1. package/LICENSE +202 -0
  2. package/README.md +144 -0
  3. package/bin/lanes +42 -0
  4. package/instructions/agents/lanes-link-scout.md +73 -0
  5. package/instructions/skills/lanes-link/SKILL.md +187 -0
  6. package/package.json +95 -0
  7. package/src/audit/chain.ts +278 -0
  8. package/src/audit/conformance.ts +374 -0
  9. package/src/audit/fanout.ts +97 -0
  10. package/src/audit/index.ts +218 -0
  11. package/src/audit/stdout.ts +60 -0
  12. package/src/auth/index.ts +220 -0
  13. package/src/auth/oauth/metadata.ts +75 -0
  14. package/src/auth/oauth/server.ts +385 -0
  15. package/src/auth/oauth/store.ts +215 -0
  16. package/src/auth/oidc.ts +206 -0
  17. package/src/auth/remote.ts +72 -0
  18. package/src/cli/argv.ts +94 -0
  19. package/src/cli/callback-page.ts +256 -0
  20. package/src/cli/commands/connect/accounts.ts +94 -0
  21. package/src/cli/commands/connect/authorise.ts +298 -0
  22. package/src/cli/commands/connect/client.ts +284 -0
  23. package/src/cli/commands/connect/index.ts +398 -0
  24. package/src/cli/commands/connect/outcome.ts +119 -0
  25. package/src/cli/commands/connect/requirements.ts +103 -0
  26. package/src/cli/commands/connect/scopes-gate.ts +146 -0
  27. package/src/cli/commands/connect/settle.ts +136 -0
  28. package/src/cli/commands/connect/setup.ts +276 -0
  29. package/src/cli/commands/mcp/assets.ts +189 -0
  30. package/src/cli/commands/mcp/harnesses.ts +143 -0
  31. package/src/cli/commands/mcp/list.ts +70 -0
  32. package/src/cli/commands/mcp/register.ts +199 -0
  33. package/src/cli/commands/mcp/stdio.ts +57 -0
  34. package/src/cli/commands/mcp.ts +22 -0
  35. package/src/cli/commands/operate/attach.ts +121 -0
  36. package/src/cli/commands/operate/audit.ts +119 -0
  37. package/src/cli/commands/operate/inspect.ts +355 -0
  38. package/src/cli/commands/operate/outputs.ts +206 -0
  39. package/src/cli/commands/operate/policy.ts +80 -0
  40. package/src/cli/commands/operate/serve.ts +55 -0
  41. package/src/cli/commands/operate/status.ts +133 -0
  42. package/src/cli/commands/operate/token.ts +70 -0
  43. package/src/cli/commands/operate.ts +27 -0
  44. package/src/cli/commands/owner/memory.ts +110 -0
  45. package/src/cli/commands/owner/shared.ts +125 -0
  46. package/src/cli/commands/owner/skills.ts +92 -0
  47. package/src/cli/commands/owner/vault.ts +140 -0
  48. package/src/cli/commands/owner.ts +46 -0
  49. package/src/cli/commands/profile/removal.ts +278 -0
  50. package/src/cli/commands/profile/remove.ts +315 -0
  51. package/src/cli/commands/profile.ts +156 -0
  52. package/src/cli/commands/secrets.ts +176 -0
  53. package/src/cli/commands/setup.ts +150 -0
  54. package/src/cli/commands/target.ts +310 -0
  55. package/src/cli/config-edit.ts +397 -0
  56. package/src/cli/endpoint-url.ts +77 -0
  57. package/src/cli/identity.ts +109 -0
  58. package/src/cli/lanes.ts +78 -0
  59. package/src/cli/main.ts +333 -0
  60. package/src/cli/oauth-error.ts +13 -0
  61. package/src/cli/oauth-exchange.ts +146 -0
  62. package/src/cli/oauth.ts +354 -0
  63. package/src/cli/output.ts +184 -0
  64. package/src/cli/prompt.ts +180 -0
  65. package/src/cli/publish.ts +185 -0
  66. package/src/cli/runtime/discovery.ts +123 -0
  67. package/src/cli/runtime/open.ts +342 -0
  68. package/src/cli/runtime/registry.ts +185 -0
  69. package/src/cli/runtime/select.ts +124 -0
  70. package/src/cli/runtime.ts +34 -0
  71. package/src/cli/scopes.ts +63 -0
  72. package/src/cli/usage.ts +111 -0
  73. package/src/cli/version.ts +25 -0
  74. package/src/connectivity/auth/README.md +36 -0
  75. package/src/connectivity/auth/api-key/index.ts +43 -0
  76. package/src/connectivity/auth/authorize.ts +49 -0
  77. package/src/connectivity/auth/basic/index.ts +68 -0
  78. package/src/connectivity/auth/bearer/index.ts +13 -0
  79. package/src/connectivity/auth/credential.ts +19 -0
  80. package/src/connectivity/auth/header/index.ts +18 -0
  81. package/src/connectivity/auth/index.ts +35 -0
  82. package/src/connectivity/auth/none/index.ts +12 -0
  83. package/src/connectivity/auth/oauth-authcode/broker.ts +261 -0
  84. package/src/connectivity/auth/oauth-authcode/index.ts +64 -0
  85. package/src/connectivity/auth/oauth-authcode/provider.ts +279 -0
  86. package/src/connectivity/auth/oauth-authcode/refresh.ts +118 -0
  87. package/src/connectivity/auth/resolve.ts +61 -0
  88. package/src/connectivity/auth/strategy/index.ts +14 -0
  89. package/src/connectivity/capability.ts +164 -0
  90. package/src/connectivity/connector.ts +175 -0
  91. package/src/connectivity/context.ts +77 -0
  92. package/src/connectivity/index.ts +94 -0
  93. package/src/connectivity/mail/attachments.ts +368 -0
  94. package/src/connectivity/mail/compose.ts +73 -0
  95. package/src/connectivity/mail/index.ts +40 -0
  96. package/src/connectivity/mail/message.ts +82 -0
  97. package/src/connectivity/mail/nodemailer.d.ts +83 -0
  98. package/src/connectivity/mail/staging.ts +143 -0
  99. package/src/connectivity/mail/url.ts +301 -0
  100. package/src/connectivity/manifest/auth.ts +135 -0
  101. package/src/connectivity/manifest/bundles.ts +23 -0
  102. package/src/connectivity/manifest/connector.ts +168 -0
  103. package/src/connectivity/manifest/credential-ref.ts +73 -0
  104. package/src/connectivity/manifest/identity.ts +43 -0
  105. package/src/connectivity/manifest/index.ts +46 -0
  106. package/src/connectivity/manifest/primitives.ts +20 -0
  107. package/src/connectivity/manifest/provider.ts +208 -0
  108. package/src/connectivity/manifest/requirements.ts +146 -0
  109. package/src/connectivity/manifest/setup.ts +55 -0
  110. package/src/connectivity/provider.ts +163 -0
  111. package/src/connectivity/transports/README.md +33 -0
  112. package/src/connectivity/transports/composite/index.ts +68 -0
  113. package/src/connectivity/transports/dav/calendar.ts +217 -0
  114. package/src/connectivity/transports/dav/capabilities.ts +151 -0
  115. package/src/connectivity/transports/dav/client.ts +226 -0
  116. package/src/connectivity/transports/dav/contacts.ts +75 -0
  117. package/src/connectivity/transports/dav/ical.ts +412 -0
  118. package/src/connectivity/transports/dav/index.ts +143 -0
  119. package/src/connectivity/transports/dav/operations.ts +43 -0
  120. package/src/connectivity/transports/dav/request.ts +161 -0
  121. package/src/connectivity/transports/dav/xml.ts +123 -0
  122. package/src/connectivity/transports/factory.ts +181 -0
  123. package/src/connectivity/transports/fs/capabilities.ts +88 -0
  124. package/src/connectivity/transports/fs/commands.ts +258 -0
  125. package/src/connectivity/transports/fs/index.ts +121 -0
  126. package/src/connectivity/transports/fs/operations.ts +45 -0
  127. package/src/connectivity/transports/fs/paths.ts +120 -0
  128. package/src/connectivity/transports/fs/result.ts +12 -0
  129. package/src/connectivity/transports/http/index.ts +255 -0
  130. package/src/connectivity/transports/imap/attachment.ts +166 -0
  131. package/src/connectivity/transports/imap/capabilities.ts +158 -0
  132. package/src/connectivity/transports/imap/client.ts +398 -0
  133. package/src/connectivity/transports/imap/commands.ts +385 -0
  134. package/src/connectivity/transports/imap/index.ts +152 -0
  135. package/src/connectivity/transports/imap/operations.ts +64 -0
  136. package/src/connectivity/transports/imap/parse.ts +130 -0
  137. package/src/connectivity/transports/imap/parser.ts +272 -0
  138. package/src/connectivity/transports/imap/result.ts +15 -0
  139. package/src/connectivity/transports/imap/send.ts +92 -0
  140. package/src/connectivity/transports/imap/socket.ts +111 -0
  141. package/src/connectivity/transports/imap/utf7.ts +136 -0
  142. package/src/connectivity/transports/index.ts +20 -0
  143. package/src/connectivity/transports/local/index.ts +173 -0
  144. package/src/connectivity/transports/mcp/index.ts +215 -0
  145. package/src/deployments/README.md +63 -0
  146. package/src/deployments/adapters/audit-blob.ts +203 -0
  147. package/src/deployments/adapters/filesystem.ts +184 -0
  148. package/src/deployments/adapters/gcp-secret-manager.ts +492 -0
  149. package/src/deployments/adapters/gcs.ts +191 -0
  150. package/src/deployments/adapters/otlp.ts +128 -0
  151. package/src/deployments/adapters/s3.ts +195 -0
  152. package/src/deployments/azure/README.md +21 -0
  153. package/src/deployments/bootstrap.ts +177 -0
  154. package/src/deployments/deploy.ts +290 -0
  155. package/src/deployments/driver.ts +157 -0
  156. package/src/deployments/drivers.ts +35 -0
  157. package/src/deployments/gcp/Dockerfile +70 -0
  158. package/src/deployments/gcp/cloudbuild.yaml +31 -0
  159. package/src/deployments/gcp/driver.ts +175 -0
  160. package/src/deployments/gcp/gcloud.ts +178 -0
  161. package/src/deployments/gcp/provision.ts +290 -0
  162. package/src/deployments/gcp/survey.ts +319 -0
  163. package/src/deployments/local/README.md +12 -0
  164. package/src/deployments/prepare.ts +257 -0
  165. package/src/deployments/steps.ts +137 -0
  166. package/src/deployments/target.ts +295 -0
  167. package/src/deployments/upload.ts +207 -0
  168. package/src/dispatch/context.ts +195 -0
  169. package/src/dispatch/dispatch.ts +350 -0
  170. package/src/dispatch/index.ts +32 -0
  171. package/src/dispatch/staging.ts +102 -0
  172. package/src/policy/index.ts +179 -0
  173. package/src/policy/limits.ts +77 -0
  174. package/src/profile/authorization.ts +81 -0
  175. package/src/profile/files.ts +71 -0
  176. package/src/profile/index.ts +76 -0
  177. package/src/profile/layout.ts +123 -0
  178. package/src/profile/load.ts +199 -0
  179. package/src/profile/primitives.ts +45 -0
  180. package/src/profile/schema.ts +347 -0
  181. package/src/profile/secret-detection.ts +162 -0
  182. package/src/profile/targets.ts +152 -0
  183. package/src/profile/workspace.ts +262 -0
  184. package/src/providers/custom/index.ts +21 -0
  185. package/src/providers/custom/load.ts +115 -0
  186. package/src/providers/custom/template.ts +156 -0
  187. package/src/providers/example/provider.ts +207 -0
  188. package/src/providers/google/calendar/index.ts +66 -0
  189. package/src/providers/google/calendar/redact.ts +40 -0
  190. package/src/providers/google/contacts/index.ts +50 -0
  191. package/src/providers/google/contacts/redact.ts +21 -0
  192. package/src/providers/google/docs/index.ts +45 -0
  193. package/src/providers/google/drive/hints.ts +28 -0
  194. package/src/providers/google/drive/index.ts +34 -0
  195. package/src/providers/google/drive/redact.ts +39 -0
  196. package/src/providers/google/drive-mcp/index.ts +21 -0
  197. package/src/providers/google/gmail/api.ts +42 -0
  198. package/src/providers/google/gmail/attachment.ts +142 -0
  199. package/src/providers/google/gmail/hints.ts +55 -0
  200. package/src/providers/google/gmail/index.ts +112 -0
  201. package/src/providers/google/gmail/redact.ts +56 -0
  202. package/src/providers/google/gmail/send.ts +365 -0
  203. package/src/providers/google/gmail-mcp/index.ts +35 -0
  204. package/src/providers/google/index.ts +10 -0
  205. package/src/providers/google/shared/oauth.ts +122 -0
  206. package/src/providers/google/shared/scopes.ts +99 -0
  207. package/src/providers/google/shared/setup.ts +80 -0
  208. package/src/providers/google/sheets/hints.ts +45 -0
  209. package/src/providers/google/sheets/index.ts +70 -0
  210. package/src/providers/google/sheets/redact.ts +45 -0
  211. package/src/providers/google/specs/calendar.v3.json +1829 -0
  212. package/src/providers/google/specs/docs.v1.json +381 -0
  213. package/src/providers/google/specs/drive.v3.json +2208 -0
  214. package/src/providers/google/specs/gmail.v1.json +2578 -0
  215. package/src/providers/google/specs/people.v1.json +506 -0
  216. package/src/providers/google/specs/sheets.v4.json +1269 -0
  217. package/src/providers/google/specs/tasks.v1.json +840 -0
  218. package/src/providers/google/specs/vendor.ts +661 -0
  219. package/src/providers/google/tasks/index.ts +53 -0
  220. package/src/providers/google/tasks/redact.ts +34 -0
  221. package/src/providers/harness.ts +95 -0
  222. package/src/providers/icloud/calendar/index.ts +27 -0
  223. package/src/providers/icloud/contacts/index.ts +17 -0
  224. package/src/providers/icloud/drive/index.ts +47 -0
  225. package/src/providers/icloud/index.ts +8 -0
  226. package/src/providers/icloud/mail/index.ts +37 -0
  227. package/src/providers/icloud/shared/setup.ts +66 -0
  228. package/src/providers/index.ts +93 -0
  229. package/src/providers/linear/index.ts +11 -0
  230. package/src/providers/linear/scopes.ts +7 -0
  231. package/src/providers/memory/provider.ts +429 -0
  232. package/src/providers/notion/index.ts +19 -0
  233. package/src/providers/owner.ts +49 -0
  234. package/src/providers/scopes.ts +26 -0
  235. package/src/providers/setup/plan.ts +141 -0
  236. package/src/providers/setup/provider.ts +323 -0
  237. package/src/providers/shared/frontmatter.ts +119 -0
  238. package/src/providers/skills/provider.ts +283 -0
  239. package/src/providers/skills/store.ts +252 -0
  240. package/src/providers/vault/provider.ts +194 -0
  241. package/src/registry/index.ts +36 -0
  242. package/src/registry/policy-bridge.ts +32 -0
  243. package/src/registry/reconcile.ts +313 -0
  244. package/src/registry/registry.ts +240 -0
  245. package/src/secrets/document.ts +293 -0
  246. package/src/secrets/index.ts +154 -0
  247. package/src/secrets/system.ts +173 -0
  248. package/src/secrets/vault.ts +336 -0
  249. package/src/server/attachments.ts +197 -0
  250. package/src/server/container.ts +96 -0
  251. package/src/server/edge.ts +53 -0
  252. package/src/server/endpoint.ts +352 -0
  253. package/src/server/generations.ts +362 -0
  254. package/src/server/harness.ts +400 -0
  255. package/src/server/index.ts +331 -0
  256. package/src/server/logging.ts +41 -0
  257. package/src/server/mcp/build.ts +68 -0
  258. package/src/server/mcp/icon.ts +145 -0
  259. package/src/server/mcp/index.ts +32 -0
  260. package/src/server/mcp/instructions.ts +245 -0
  261. package/src/server/mcp/naming.ts +39 -0
  262. package/src/server/mcp/prompts.ts +78 -0
  263. package/src/server/mcp/resources.ts +106 -0
  264. package/src/server/mcp/routing.ts +117 -0
  265. package/src/server/mcp/schema.ts +78 -0
  266. package/src/server/mcp/tools.ts +186 -0
  267. package/src/server/mcp/visibility.ts +132 -0
  268. package/src/server/oauth.ts +222 -0
  269. package/src/server/rebinding.ts +53 -0
  270. package/src/server/stdio.ts +192 -0
  271. package/src/stores/blobs/conformance.ts +223 -0
  272. package/src/stores/blobs/index.ts +125 -0
  273. package/src/stores/blobs/testing.ts +49 -0
  274. package/src/stores/state/index.ts +247 -0
  275. package/src/stores/state/keys.ts +68 -0
  276. package/src/stores/state/testing.ts +41 -0
@@ -0,0 +1,506 @@
1
+ {
2
+ "openapi": "3.0.0",
3
+ "info": {
4
+ "contact": {
5
+ "name": "Google",
6
+ "url": "https://google.com",
7
+ "x-twitter": "youtube"
8
+ },
9
+ "description": "Provides access to information about profiles and contacts.",
10
+ "license": {
11
+ "name": "Creative Commons Attribution 3.0",
12
+ "url": "http://creativecommons.org/licenses/by/3.0/"
13
+ },
14
+ "termsOfService": "https://developers.google.com/terms/",
15
+ "title": "People API",
16
+ "version": "v1",
17
+ "x-apiClientRegistration": {
18
+ "url": "https://console.developers.google.com"
19
+ },
20
+ "x-apisguru-categories": [
21
+ "analytics",
22
+ "media"
23
+ ],
24
+ "x-logo": {
25
+ "url": "https://api.apis.guru/v2/cache/logo/https_www.google.com_images_branding_googlelogo_2x_googlelogo_color_272x92dp.png"
26
+ },
27
+ "x-origin": [
28
+ {
29
+ "converter": {
30
+ "url": "https://github.com/mermade/oas-kit",
31
+ "version": "7.0.4"
32
+ },
33
+ "format": "google",
34
+ "url": "https://people.googleapis.com/$discovery/rest?version=v1",
35
+ "version": "v1"
36
+ }
37
+ ],
38
+ "x-providerName": "googleapis.com",
39
+ "x-serviceName": "people",
40
+ "x-vendored-from": "https://api.apis.guru/v2/specs/googleapis.com/people/v1/openapi.json",
41
+ "x-vendored-note": "Trimmed by src/providers/google/specs/vendor.ts. Committed deliberately: a spec decides which paths are called with the operator token, so it must be reviewable rather than fetched at connect time."
42
+ },
43
+ "servers": [
44
+ {
45
+ "url": "https://people.googleapis.com/"
46
+ }
47
+ ],
48
+ "paths": {
49
+ "/v1/otherContacts:search": {
50
+ "get": {
51
+ "description": "Provides a list of contacts in the authenticated user's other contacts that matches the search query. The query matches on a contact's `names`, `emailAddresses`, and `phoneNumbers` fields that are from the OTHER_CONTACT source. **IMPORTANT**: Before searching, clients should send a warmup request with an empty query to update the cache. See https://developers.google.com/people/v1/other-contacts#search_the_users_other_contacts",
52
+ "operationId": "people.otherContacts.search",
53
+ "parameters": [
54
+ {
55
+ "description": "Optional. The number of results to return. Defaults to 10 if field is not set, or set to 0. Values greater than 30 will be capped to 30.",
56
+ "in": "query",
57
+ "name": "pageSize",
58
+ "schema": {
59
+ "type": "integer"
60
+ }
61
+ },
62
+ {
63
+ "description": "Required. The plain-text query for the request. The query is used to match prefix phrases of the fields on a person. For example, a person with name \"foo name\" matches queries such as \"f\", \"fo\", \"foo\", \"foo n\", \"nam\", etc., but not \"oo n\".",
64
+ "in": "query",
65
+ "name": "query",
66
+ "schema": {
67
+ "type": "string"
68
+ }
69
+ },
70
+ {
71
+ "description": "Required. A field mask to restrict which fields on each person are returned. Multiple fields can be specified by separating them with commas. Valid values are: * emailAddresses * metadata * names * phoneNumbers",
72
+ "in": "query",
73
+ "name": "readMask",
74
+ "schema": {
75
+ "type": "string"
76
+ }
77
+ }
78
+ ],
79
+ "responses": {
80
+ "200": {
81
+ "description": "Success. The response body is returned verbatim."
82
+ }
83
+ },
84
+ "security": [
85
+ {
86
+ "Oauth2": [
87
+ "https://www.googleapis.com/auth/contacts.other.readonly"
88
+ ],
89
+ "Oauth2c": [
90
+ "https://www.googleapis.com/auth/contacts.other.readonly"
91
+ ]
92
+ }
93
+ ],
94
+ "tags": [
95
+ "otherContacts"
96
+ ]
97
+ },
98
+ "parameters": [
99
+ {
100
+ "$ref": "#/components/parameters/alt"
101
+ },
102
+ {
103
+ "$ref": "#/components/parameters/fields"
104
+ }
105
+ ]
106
+ },
107
+ "/v1/people:batchGet": {
108
+ "get": {
109
+ "description": "Provides information about a list of specific people by specifying a list of requested resource names. Use `people/me` to indicate the authenticated user. The request returns a 400 error if 'personFields' is not specified.",
110
+ "operationId": "people.people.getBatchGet",
111
+ "parameters": [
112
+ {
113
+ "description": "Required. A field mask to restrict which fields on each person are returned. Multiple fields can be specified by separating them with commas. Valid values are: * addresses * ageRanges * biographies * birthdays * calendarUrls * clientData * coverPhotos * emailAddresses * events * externalIds * genders * imClients * interests * locales * locations * memberships * metadata * miscKeywords * names * nicknames * occupations * organizations * phoneNumbers * photos * relations * sipAddresses * skills * urls * userDefined",
114
+ "in": "query",
115
+ "name": "personFields",
116
+ "schema": {
117
+ "type": "string"
118
+ }
119
+ },
120
+ {
121
+ "description": "Required. Comma-separated list of person fields to be included in the response. Each path should start with `person.`: for example, `person.names` or `person.photos`.",
122
+ "in": "query",
123
+ "name": "requestMask.includeField",
124
+ "schema": {
125
+ "type": "string"
126
+ }
127
+ },
128
+ {
129
+ "description": "Required. The resource names of the people to provide information about. It's repeatable. The URL query parameter should be resourceNames=<name1>&resourceNames=<name2>&... - To get information about the authenticated user, specify `people/me`. - To get information about a google account, specify `people/{account_id}`. - To get information about a contact, specify the resource name that identifies the contact as returned by `people.connections.list`. There is a maximum of 200 resource names.",
130
+ "explode": true,
131
+ "in": "query",
132
+ "name": "resourceNames",
133
+ "schema": {
134
+ "items": {
135
+ "type": "string"
136
+ },
137
+ "type": "array"
138
+ },
139
+ "style": "form"
140
+ },
141
+ {
142
+ "description": "Optional. A mask of what source types to return. Defaults to READ_SOURCE_TYPE_CONTACT and READ_SOURCE_TYPE_PROFILE if not set.",
143
+ "explode": true,
144
+ "in": "query",
145
+ "name": "sources",
146
+ "schema": {
147
+ "items": {
148
+ "enum": [
149
+ "READ_SOURCE_TYPE_UNSPECIFIED",
150
+ "READ_SOURCE_TYPE_PROFILE",
151
+ "READ_SOURCE_TYPE_CONTACT",
152
+ "READ_SOURCE_TYPE_DOMAIN_CONTACT"
153
+ ],
154
+ "type": "string"
155
+ },
156
+ "type": "array"
157
+ },
158
+ "style": "form"
159
+ }
160
+ ],
161
+ "responses": {
162
+ "200": {
163
+ "description": "Success. The response body is returned verbatim."
164
+ }
165
+ },
166
+ "security": [
167
+ {
168
+ "Oauth2": [
169
+ "https://www.googleapis.com/auth/contacts"
170
+ ],
171
+ "Oauth2c": [
172
+ "https://www.googleapis.com/auth/contacts"
173
+ ]
174
+ },
175
+ {
176
+ "Oauth2": [
177
+ "https://www.googleapis.com/auth/contacts.readonly"
178
+ ],
179
+ "Oauth2c": [
180
+ "https://www.googleapis.com/auth/contacts.readonly"
181
+ ]
182
+ },
183
+ {
184
+ "Oauth2": [
185
+ "https://www.googleapis.com/auth/directory.readonly"
186
+ ],
187
+ "Oauth2c": [
188
+ "https://www.googleapis.com/auth/directory.readonly"
189
+ ]
190
+ },
191
+ {
192
+ "Oauth2": [
193
+ "https://www.googleapis.com/auth/user.addresses.read"
194
+ ],
195
+ "Oauth2c": [
196
+ "https://www.googleapis.com/auth/user.addresses.read"
197
+ ]
198
+ },
199
+ {
200
+ "Oauth2": [
201
+ "https://www.googleapis.com/auth/user.birthday.read"
202
+ ],
203
+ "Oauth2c": [
204
+ "https://www.googleapis.com/auth/user.birthday.read"
205
+ ]
206
+ },
207
+ {
208
+ "Oauth2": [
209
+ "https://www.googleapis.com/auth/user.emails.read"
210
+ ],
211
+ "Oauth2c": [
212
+ "https://www.googleapis.com/auth/user.emails.read"
213
+ ]
214
+ },
215
+ {
216
+ "Oauth2": [
217
+ "https://www.googleapis.com/auth/user.gender.read"
218
+ ],
219
+ "Oauth2c": [
220
+ "https://www.googleapis.com/auth/user.gender.read"
221
+ ]
222
+ },
223
+ {
224
+ "Oauth2": [
225
+ "https://www.googleapis.com/auth/user.organization.read"
226
+ ],
227
+ "Oauth2c": [
228
+ "https://www.googleapis.com/auth/user.organization.read"
229
+ ]
230
+ },
231
+ {
232
+ "Oauth2": [
233
+ "https://www.googleapis.com/auth/user.phonenumbers.read"
234
+ ],
235
+ "Oauth2c": [
236
+ "https://www.googleapis.com/auth/user.phonenumbers.read"
237
+ ]
238
+ },
239
+ {
240
+ "Oauth2": [
241
+ "https://www.googleapis.com/auth/userinfo.email"
242
+ ],
243
+ "Oauth2c": [
244
+ "https://www.googleapis.com/auth/userinfo.email"
245
+ ]
246
+ },
247
+ {
248
+ "Oauth2": [
249
+ "https://www.googleapis.com/auth/userinfo.profile"
250
+ ],
251
+ "Oauth2c": [
252
+ "https://www.googleapis.com/auth/userinfo.profile"
253
+ ]
254
+ }
255
+ ],
256
+ "tags": [
257
+ "people"
258
+ ]
259
+ },
260
+ "parameters": [
261
+ {
262
+ "$ref": "#/components/parameters/alt"
263
+ },
264
+ {
265
+ "$ref": "#/components/parameters/fields"
266
+ }
267
+ ]
268
+ },
269
+ "/v1/people:searchContacts": {
270
+ "get": {
271
+ "description": "Provides a list of contacts in the authenticated user's grouped contacts that matches the search query. The query matches on a contact's `names`, `nickNames`, `emailAddresses`, `phoneNumbers`, and `organizations` fields that are from the CONTACT source. **IMPORTANT**: Before searching, clients should send a warmup request with an empty query to update the cache. See https://developers.google.com/people/v1/contacts#search_the_users_contacts",
272
+ "operationId": "people.people.searchContacts",
273
+ "parameters": [
274
+ {
275
+ "description": "Optional. The number of results to return. Defaults to 10 if field is not set, or set to 0. Values greater than 30 will be capped to 30.",
276
+ "in": "query",
277
+ "name": "pageSize",
278
+ "schema": {
279
+ "type": "integer"
280
+ }
281
+ },
282
+ {
283
+ "description": "Required. The plain-text query for the request. The query is used to match prefix phrases of the fields on a person. For example, a person with name \"foo name\" matches queries such as \"f\", \"fo\", \"foo\", \"foo n\", \"nam\", etc., but not \"oo n\".",
284
+ "in": "query",
285
+ "name": "query",
286
+ "schema": {
287
+ "type": "string"
288
+ }
289
+ },
290
+ {
291
+ "description": "Required. A field mask to restrict which fields on each person are returned. Multiple fields can be specified by separating them with commas. Valid values are: * addresses * ageRanges * biographies * birthdays * calendarUrls * clientData * coverPhotos * emailAddresses * events * externalIds * genders * imClients * interests * locales * locations * memberships * metadata * miscKeywords * names * nicknames * occupations * organizations * phoneNumbers * photos * relations * sipAddresses * skills * urls * userDefined",
292
+ "in": "query",
293
+ "name": "readMask",
294
+ "schema": {
295
+ "type": "string"
296
+ }
297
+ },
298
+ {
299
+ "description": "Optional. A mask of what source types to return. Defaults to READ_SOURCE_TYPE_CONTACT if not set.",
300
+ "explode": true,
301
+ "in": "query",
302
+ "name": "sources",
303
+ "schema": {
304
+ "items": {
305
+ "enum": [
306
+ "READ_SOURCE_TYPE_UNSPECIFIED",
307
+ "READ_SOURCE_TYPE_PROFILE",
308
+ "READ_SOURCE_TYPE_CONTACT",
309
+ "READ_SOURCE_TYPE_DOMAIN_CONTACT"
310
+ ],
311
+ "type": "string"
312
+ },
313
+ "type": "array"
314
+ },
315
+ "style": "form"
316
+ }
317
+ ],
318
+ "responses": {
319
+ "200": {
320
+ "description": "Success. The response body is returned verbatim."
321
+ }
322
+ },
323
+ "security": [
324
+ {
325
+ "Oauth2": [
326
+ "https://www.googleapis.com/auth/contacts"
327
+ ],
328
+ "Oauth2c": [
329
+ "https://www.googleapis.com/auth/contacts"
330
+ ]
331
+ },
332
+ {
333
+ "Oauth2": [
334
+ "https://www.googleapis.com/auth/contacts.readonly"
335
+ ],
336
+ "Oauth2c": [
337
+ "https://www.googleapis.com/auth/contacts.readonly"
338
+ ]
339
+ }
340
+ ],
341
+ "tags": [
342
+ "people"
343
+ ]
344
+ },
345
+ "parameters": [
346
+ {
347
+ "$ref": "#/components/parameters/alt"
348
+ },
349
+ {
350
+ "$ref": "#/components/parameters/fields"
351
+ }
352
+ ]
353
+ }
354
+ },
355
+ "components": {
356
+ "parameters": {
357
+ "_.xgafv": {
358
+ "description": "V1 error format.",
359
+ "in": "query",
360
+ "name": "$.xgafv",
361
+ "schema": {
362
+ "enum": [
363
+ "1",
364
+ "2"
365
+ ],
366
+ "type": "string"
367
+ }
368
+ },
369
+ "access_token": {
370
+ "description": "OAuth access token.",
371
+ "in": "query",
372
+ "name": "access_token",
373
+ "schema": {
374
+ "type": "string"
375
+ }
376
+ },
377
+ "alt": {
378
+ "description": "Data format for response.",
379
+ "in": "query",
380
+ "name": "alt",
381
+ "schema": {
382
+ "enum": [
383
+ "json",
384
+ "media",
385
+ "proto"
386
+ ],
387
+ "type": "string"
388
+ }
389
+ },
390
+ "callback": {
391
+ "description": "JSONP",
392
+ "in": "query",
393
+ "name": "callback",
394
+ "schema": {
395
+ "type": "string"
396
+ }
397
+ },
398
+ "fields": {
399
+ "description": "Selector specifying which fields to include in a partial response.",
400
+ "in": "query",
401
+ "name": "fields",
402
+ "schema": {
403
+ "type": "string"
404
+ }
405
+ },
406
+ "key": {
407
+ "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.",
408
+ "in": "query",
409
+ "name": "key",
410
+ "schema": {
411
+ "type": "string"
412
+ }
413
+ },
414
+ "oauth_token": {
415
+ "description": "OAuth 2.0 token for the current user.",
416
+ "in": "query",
417
+ "name": "oauth_token",
418
+ "schema": {
419
+ "type": "string"
420
+ }
421
+ },
422
+ "prettyPrint": {
423
+ "description": "Returns response with indentations and line breaks.",
424
+ "in": "query",
425
+ "name": "prettyPrint",
426
+ "schema": {
427
+ "type": "boolean"
428
+ }
429
+ },
430
+ "quotaUser": {
431
+ "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.",
432
+ "in": "query",
433
+ "name": "quotaUser",
434
+ "schema": {
435
+ "type": "string"
436
+ }
437
+ },
438
+ "uploadType": {
439
+ "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
440
+ "in": "query",
441
+ "name": "uploadType",
442
+ "schema": {
443
+ "type": "string"
444
+ }
445
+ },
446
+ "upload_protocol": {
447
+ "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
448
+ "in": "query",
449
+ "name": "upload_protocol",
450
+ "schema": {
451
+ "type": "string"
452
+ }
453
+ }
454
+ },
455
+ "schemas": {},
456
+ "securitySchemes": {
457
+ "Oauth2": {
458
+ "description": "Oauth 2.0 implicit authentication",
459
+ "flows": {
460
+ "implicit": {
461
+ "authorizationUrl": "https://accounts.google.com/o/oauth2/auth",
462
+ "scopes": {
463
+ "https://www.googleapis.com/auth/contacts": "See, edit, download, and permanently delete your contacts",
464
+ "https://www.googleapis.com/auth/contacts.other.readonly": "See and download contact info automatically saved in your \"Other contacts\"",
465
+ "https://www.googleapis.com/auth/contacts.readonly": "See and download your contacts",
466
+ "https://www.googleapis.com/auth/directory.readonly": "See and download your organization's GSuite directory",
467
+ "https://www.googleapis.com/auth/user.addresses.read": "View your street addresses",
468
+ "https://www.googleapis.com/auth/user.birthday.read": "See and download your exact date of birth",
469
+ "https://www.googleapis.com/auth/user.emails.read": "See and download all of your Google Account email addresses",
470
+ "https://www.googleapis.com/auth/user.gender.read": "See your gender",
471
+ "https://www.googleapis.com/auth/user.organization.read": "See your education, work history and org info",
472
+ "https://www.googleapis.com/auth/user.phonenumbers.read": "See and download your personal phone numbers",
473
+ "https://www.googleapis.com/auth/userinfo.email": "See your primary Google Account email address",
474
+ "https://www.googleapis.com/auth/userinfo.profile": "See your personal info, including any personal info you've made publicly available"
475
+ }
476
+ }
477
+ },
478
+ "type": "oauth2"
479
+ },
480
+ "Oauth2c": {
481
+ "description": "Oauth 2.0 authorizationCode authentication",
482
+ "flows": {
483
+ "authorizationCode": {
484
+ "authorizationUrl": "https://accounts.google.com/o/oauth2/auth",
485
+ "scopes": {
486
+ "https://www.googleapis.com/auth/contacts": "See, edit, download, and permanently delete your contacts",
487
+ "https://www.googleapis.com/auth/contacts.other.readonly": "See and download contact info automatically saved in your \"Other contacts\"",
488
+ "https://www.googleapis.com/auth/contacts.readonly": "See and download your contacts",
489
+ "https://www.googleapis.com/auth/directory.readonly": "See and download your organization's GSuite directory",
490
+ "https://www.googleapis.com/auth/user.addresses.read": "View your street addresses",
491
+ "https://www.googleapis.com/auth/user.birthday.read": "See and download your exact date of birth",
492
+ "https://www.googleapis.com/auth/user.emails.read": "See and download all of your Google Account email addresses",
493
+ "https://www.googleapis.com/auth/user.gender.read": "See your gender",
494
+ "https://www.googleapis.com/auth/user.organization.read": "See your education, work history and org info",
495
+ "https://www.googleapis.com/auth/user.phonenumbers.read": "See and download your personal phone numbers",
496
+ "https://www.googleapis.com/auth/userinfo.email": "See your primary Google Account email address",
497
+ "https://www.googleapis.com/auth/userinfo.profile": "See your personal info, including any personal info you've made publicly available"
498
+ },
499
+ "tokenUrl": "https://accounts.google.com/o/oauth2/token"
500
+ }
501
+ },
502
+ "type": "oauth2"
503
+ }
504
+ }
505
+ }
506
+ }