1
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<!doctype html>
3
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<html lang="en" class="no-js">
4
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<head>
5
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
6
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<meta charset="utf-8">
7
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<meta name="viewport" content="width=device-width,initial-scale=1">
8
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
9
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<meta name="description" content="AI-powered video analysis and knowledge extraction">
10
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
11
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
12
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<meta name="author" content="CONFLICT LLC">
13
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
14
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
15
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<link rel="canonical" href="https://planopticon.dev/guide/authentication/">
16
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
17
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
18
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<link rel="prev" href="../planning-agent/">
19
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
20
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
21
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<link rel="next" href="../export/">
22
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
23
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
24
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
25
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
26
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
27
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<link rel="icon" href="../../assets/images/favicon.png">
28
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.7.4">
29
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
30
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
31
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
32
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<title>Authentication - PlanOpticon</title>
33
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
34
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
35
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
36
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<link rel="stylesheet" href="../../assets/stylesheets/main.484c7ddc.min.css">
37
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
38
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
39
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<link rel="stylesheet" href="../../assets/stylesheets/palette.ab4e12ef.min.css">
40
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
41
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
42
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
43
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
44
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
45
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
46
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
47
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
48
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
49
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
50
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
51
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
52
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
53
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback">
54
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style>
55
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
56
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
57
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
58
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<link rel="stylesheet" href="../../assets/_mkdocstrings.css">
59
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
60
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<link rel="stylesheet" href="../../assets/css/custom.css">
61
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
62
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<script>__md_scope=new URL("../..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
63
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
64
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
65
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
66
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
67
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
68
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</head>
69
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
70
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
71
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
72
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
73
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
74
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
75
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
76
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
77
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
78
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<body dir="ltr" data-md-color-scheme="slate" data-md-color-primary="custom" data-md-color-accent="custom">
79
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
80
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
81
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
82
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
83
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<label class="md-overlay" for="__drawer"></label>
84
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div data-md-component="skip">
85
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
86
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
87
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#authentication" class="md-skip">
88
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Skip to content
89
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
90
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
91
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
92
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div data-md-component="announce">
93
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
94
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
95
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
96
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
97
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
98
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
99
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<header class="md-header" data-md-component="header">
100
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<nav class="md-header__inner md-grid" aria-label="Header">
101
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="../.." title="PlanOpticon" class="md-header__button md-logo" aria-label="PlanOpticon" data-md-component="logo">
102
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
103
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<img src="../../assets/images/conflict-logo.svg" alt="logo">
104
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
105
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
106
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<label class="md-header__button md-icon" for="__drawer">
107
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
108
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"/></svg>
109
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</label>
110
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="md-header__title" data-md-component="header-title">
111
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="md-header__ellipsis">
112
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="md-header__topic">
113
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
114
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
PlanOpticon
115
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
116
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
117
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="md-header__topic" data-md-component="header-topic">
118
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
119
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
120
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Authentication
121
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
122
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
123
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
124
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
125
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
126
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
127
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
128
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<form class="md-header__option" data-md-component="palette">
129
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
130
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
131
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
132
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
133
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<input class="md-option" data-md-color-media="(prefers-color-scheme: dark)" data-md-color-scheme="slate" data-md-color-primary="custom" data-md-color-accent="custom" aria-label="Switch to light mode" type="radio" name="__palette" id="__palette_0">
134
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
135
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<label class="md-header__button md-icon" title="Switch to light mode" for="__palette_1" hidden>
136
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg>
137
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</label>
138
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
139
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
140
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
141
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
142
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
143
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<input class="md-option" data-md-color-media="(prefers-color-scheme: light)" data-md-color-scheme="default" data-md-color-primary="custom" data-md-color-accent="custom" aria-label="Switch to dark mode" type="radio" name="__palette" id="__palette_1">
144
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
145
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<label class="md-header__button md-icon" title="Switch to dark mode" for="__palette_0" hidden>
146
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg>
147
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</label>
148
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
149
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
150
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</form>
151
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
152
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
153
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
154
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script>
155
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
156
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
157
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
158
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
159
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
160
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<label class="md-header__button md-icon" for="__search">
161
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
162
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
163
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</label>
164
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="md-search" data-md-component="search" role="dialog">
165
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<label class="md-search__overlay" for="__search"></label>
166
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="md-search__inner" role="search">
167
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<form class="md-search__form" name="search">
168
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<input type="text" class="md-search__input" name="query" aria-label="Search" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="search-query" required>
169
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<label class="md-search__icon md-icon" for="__search">
170
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
171
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
172
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
173
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg>
174
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</label>
175
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<nav class="md-search__options" aria-label="Search">
176
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
177
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<button type="reset" class="md-search__icon md-icon" title="Clear" aria-label="Clear" tabindex="-1">
178
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
179
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg>
180
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</button>
181
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</nav>
182
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
183
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="md-search__suggest" data-md-component="search-suggest"></div>
184
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
185
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</form>
186
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="md-search__output">
187
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="md-search__scrollwrap" tabindex="0" data-md-scrollfix>
188
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="md-search-result" data-md-component="search-result">
189
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="md-search-result__meta">
190
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Initializing search
191
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
192
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<ol class="md-search-result__list" role="presentation"></ol>
193
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
194
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
195
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
196
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
197
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
198
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
199
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
200
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
201
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="md-header__source">
202
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="https://github.com/ConflictHQ/PlanOpticon" title="Go to repository" class="md-source" data-md-component="source">
203
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="md-source__icon md-icon">
204
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
205
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg>
206
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
207
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="md-source__repository">
208
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
ConflictHQ/PlanOpticon
209
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
210
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
211
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
212
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
213
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</nav>
214
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
215
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</header>
216
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
217
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="md-container" data-md-component="container">
218
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
219
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
220
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
221
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
222
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
223
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<nav class="md-tabs" aria-label="Tabs" data-md-component="tabs">
224
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="md-grid">
225
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<ul class="md-tabs__list">
226
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
227
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
228
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
229
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
230
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
231
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
232
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-tabs__item">
233
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="../.." class="md-tabs__link">
234
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
235
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
236
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
237
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
238
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
239
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Home
240
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
241
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
242
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
243
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
244
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
245
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
246
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
247
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
248
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
249
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
250
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
251
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
252
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
253
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-tabs__item">
254
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="../../getting-started/installation/" class="md-tabs__link">
255
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
256
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
257
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
258
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Getting Started
259
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
260
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
261
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
262
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
263
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
264
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
265
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
266
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
267
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
268
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
269
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
270
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
271
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
272
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
273
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
274
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
275
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-tabs__item md-tabs__item--active">
276
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="../single-video/" class="md-tabs__link">
277
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
278
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
279
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
280
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
User Guide
281
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
282
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
283
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
284
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
285
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
286
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
287
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
288
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
289
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
290
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
291
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
292
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
293
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-tabs__item">
294
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="../../use-cases/" class="md-tabs__link">
295
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
296
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
297
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
298
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
299
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
300
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Use Cases
301
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
302
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
303
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
304
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
305
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
306
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
307
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
308
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
309
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
310
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
311
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
312
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-tabs__item">
313
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="../../cli-reference/" class="md-tabs__link">
314
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
315
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
316
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
317
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
318
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
319
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
CLI Reference
320
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
321
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
322
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
323
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
324
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
325
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
326
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
327
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
328
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
329
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
330
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
331
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
332
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
333
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-tabs__item">
334
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="../../architecture/overview/" class="md-tabs__link">
335
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
336
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
337
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
338
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Architecture
339
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
340
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
341
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
342
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
343
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
344
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
345
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
346
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
347
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
348
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
349
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
350
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
351
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
352
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
353
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-tabs__item">
354
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="../../api/models/" class="md-tabs__link">
355
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
356
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
357
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
358
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
API Reference
359
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
360
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
361
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
362
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
363
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
364
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
365
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
366
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
367
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
368
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
369
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
370
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
371
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-tabs__item">
372
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="../../faq/" class="md-tabs__link">
373
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
374
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
375
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
376
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
377
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
378
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
FAQ & Troubleshooting
379
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
380
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
381
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
382
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
383
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
384
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
385
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
386
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
387
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
388
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
389
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
390
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-tabs__item">
391
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="../../contributing/" class="md-tabs__link">
392
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
393
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
394
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
395
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
396
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
397
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Contributing
398
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
399
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
400
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
401
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
402
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
403
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
404
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</ul>
405
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
406
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</nav>
407
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
408
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
409
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
410
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<main class="md-main" data-md-component="main">
411
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="md-main__inner md-grid">
412
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
413
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
414
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
415
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" >
416
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="md-sidebar__scrollwrap">
417
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="md-sidebar__inner">
418
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
419
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
420
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
421
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
422
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
423
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
424
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<nav class="md-nav md-nav--primary md-nav--lifted" aria-label="Navigation" data-md-level="0">
425
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<label class="md-nav__title" for="__drawer">
426
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="../.." title="PlanOpticon" class="md-nav__button md-logo" aria-label="PlanOpticon" data-md-component="logo">
427
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
428
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<img src="../../assets/images/conflict-logo.svg" alt="logo">
429
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
430
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
431
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
PlanOpticon
432
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</label>
433
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
434
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="md-nav__source">
435
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="https://github.com/ConflictHQ/PlanOpticon" title="Go to repository" class="md-source" data-md-component="source">
436
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="md-source__icon md-icon">
437
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
438
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg>
439
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
440
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="md-source__repository">
441
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
ConflictHQ/PlanOpticon
442
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
443
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
444
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
445
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
446
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<ul class="md-nav__list" data-md-scrollfix>
447
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
448
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
449
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
450
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
451
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
452
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
453
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
454
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
455
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="../.." class="md-nav__link">
456
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
457
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
458
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
459
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
460
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
461
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
462
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Home
463
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
464
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
465
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
466
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
467
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
468
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
469
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
470
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
471
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
472
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
473
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
474
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
475
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
476
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
477
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
478
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
479
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
480
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
481
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
482
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
483
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
484
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
485
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
486
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
487
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
488
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
489
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
490
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
491
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item md-nav__item--nested">
492
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
493
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
494
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
495
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
496
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
497
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_2" >
498
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
499
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
500
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<label class="md-nav__link" for="__nav_2" id="__nav_2_label" tabindex="0">
501
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
502
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
503
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
504
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
505
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
506
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
507
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Getting Started
508
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
509
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
510
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
511
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
512
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
513
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
514
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
515
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-nav__icon md-icon"></span>
516
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</label>
517
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
518
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_2_label" aria-expanded="false">
519
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<label class="md-nav__title" for="__nav_2">
520
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-nav__icon md-icon"></span>
521
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
522
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
523
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Getting Started
524
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
525
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
526
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</label>
527
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<ul class="md-nav__list" data-md-scrollfix>
528
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
529
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
530
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
531
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
532
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
533
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
534
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
535
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
536
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="../../getting-started/installation/" class="md-nav__link">
537
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
538
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
539
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
540
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
541
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
542
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
543
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Installation
544
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
545
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
546
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
547
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
548
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
549
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
550
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
551
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
552
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
553
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
554
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
555
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
556
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
557
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
558
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
559
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
560
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
561
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
562
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
563
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
564
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="../../getting-started/quickstart/" class="md-nav__link">
565
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
566
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
567
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
568
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
569
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
570
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
571
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Quick Start
572
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
573
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
574
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
575
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
576
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
577
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
578
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
579
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
580
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
581
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
582
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
583
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
584
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
585
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
586
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
587
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
588
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
589
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
590
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
591
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
592
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="../../getting-started/configuration/" class="md-nav__link">
593
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
594
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
595
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
596
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
597
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
598
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
599
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Configuration
600
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
601
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
602
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
603
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
604
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
605
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
606
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
607
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
608
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
609
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
610
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
611
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
612
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
613
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</ul>
614
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</nav>
615
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
616
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
617
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
618
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
619
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
620
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
621
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
622
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
623
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
624
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
625
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
626
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
627
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
628
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
629
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
630
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
631
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
632
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
633
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
634
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
635
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
636
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
637
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
638
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
639
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
640
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
641
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested">
642
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
643
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
644
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
645
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3" checked>
646
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
647
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
648
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<label class="md-nav__link" for="__nav_3" id="__nav_3_label" tabindex="">
649
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
650
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
651
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
652
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
653
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
654
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
655
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
User Guide
656
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
657
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
658
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
659
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
660
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
661
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
662
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
663
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-nav__icon md-icon"></span>
664
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</label>
665
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
666
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_3_label" aria-expanded="true">
667
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<label class="md-nav__title" for="__nav_3">
668
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-nav__icon md-icon"></span>
669
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
670
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
671
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
User Guide
672
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
673
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
674
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</label>
675
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<ul class="md-nav__list" data-md-scrollfix>
676
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
677
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
678
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
679
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
680
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
681
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
682
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
683
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
684
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="../single-video/" class="md-nav__link">
685
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
686
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
687
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
688
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
689
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
690
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
691
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Single Video Analysis
692
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
693
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
694
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
695
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
696
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
697
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
698
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
699
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
700
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
701
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
702
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
703
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
704
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
705
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
706
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
707
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
708
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
709
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
710
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
711
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
712
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="../batch/" class="md-nav__link">
713
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
714
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
715
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
716
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
717
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
718
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
719
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Batch Processing
720
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
721
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
722
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
723
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
724
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
725
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
726
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
727
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
728
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
729
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
730
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
731
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
732
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
733
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
734
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
735
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
736
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
737
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
738
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
739
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
740
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="../document-ingestion/" class="md-nav__link">
741
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
742
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
743
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
744
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
745
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
746
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
747
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Document Ingestion
748
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
749
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
750
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
751
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
752
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
753
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
754
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
755
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
756
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
757
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
758
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
759
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
760
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
761
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
762
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
763
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
764
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
765
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
766
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
767
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
768
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="../cloud-sources/" class="md-nav__link">
769
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
770
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
771
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
772
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
773
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
774
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
775
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Cloud Sources
776
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
777
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
778
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
779
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
780
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
781
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
782
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
783
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
784
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
785
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
786
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
787
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
788
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
789
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
790
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
791
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
792
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
793
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
794
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
795
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
796
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="../knowledge-graphs/" class="md-nav__link">
797
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
798
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
799
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
800
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
801
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
802
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
803
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Knowledge Graphs
804
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
805
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
806
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
807
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
808
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
809
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
810
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
811
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
812
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
813
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
814
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
815
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
816
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
817
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
818
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
819
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
820
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
821
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
822
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
823
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
824
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="../companion/" class="md-nav__link">
825
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
826
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
827
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
828
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
829
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
830
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
831
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Interactive Companion
832
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
833
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
834
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
835
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
836
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
837
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
838
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
839
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
840
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
841
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
842
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
843
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
844
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
845
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
846
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
847
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
848
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
849
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
850
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
851
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
852
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="../planning-agent/" class="md-nav__link">
853
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
854
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
855
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
856
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
857
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
858
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
859
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Planning Agent
860
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
861
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
862
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
863
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
864
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
865
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
866
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
867
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
868
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
869
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
870
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
871
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
872
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
873
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
874
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
875
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
876
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
877
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
878
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
879
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
880
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
881
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item md-nav__item--active">
882
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
883
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<input class="md-nav__toggle md-toggle" type="checkbox" id="__toc">
884
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
885
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
886
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
887
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
888
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
889
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<label class="md-nav__link md-nav__link--active" for="__toc">
890
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
891
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
892
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
893
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
894
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
895
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
896
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Authentication
897
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
898
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
899
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
900
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
901
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
902
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
903
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
904
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-nav__icon md-icon"></span>
905
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</label>
906
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
907
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="./" class="md-nav__link md-nav__link--active">
908
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
909
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
910
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
911
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
912
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
913
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
914
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Authentication
915
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
916
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
917
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
918
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
919
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
920
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
921
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
922
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
923
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
924
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
925
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
926
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
927
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
928
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
929
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
930
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
931
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
932
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
933
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<label class="md-nav__title" for="__toc">
934
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-nav__icon md-icon"></span>
935
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Table of contents
936
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</label>
937
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
938
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
939
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
940
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#auth-strategy-overview" class="md-nav__link">
941
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
942
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
943
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Auth strategy overview
944
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
945
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
946
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
947
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
948
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
949
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
950
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
951
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#the-auth-chain" class="md-nav__link">
952
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
953
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
954
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
The auth chain
955
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
956
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
957
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
958
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
959
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
960
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
961
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
962
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#token-storage" class="md-nav__link">
963
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
964
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
965
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Token storage
966
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
967
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
968
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
969
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
970
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
971
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
972
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
973
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#supported-services" class="md-nav__link">
974
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
975
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
976
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Supported services
977
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
978
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
979
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
980
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
981
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<nav class="md-nav" aria-label="Supported services">
982
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<ul class="md-nav__list">
983
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
984
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
985
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#google" class="md-nav__link">
986
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
987
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
988
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Google
989
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
990
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
991
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
992
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
993
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
994
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
995
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
996
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#dropbox" class="md-nav__link">
997
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
998
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
999
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Dropbox
1000
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1001
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
1002
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
1003
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1004
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
1005
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1006
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
1007
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#zoom" class="md-nav__link">
1008
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
1009
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1010
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Zoom
1011
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1012
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
1013
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
1014
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1015
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
1016
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1017
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
1018
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#notion" class="md-nav__link">
1019
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
1020
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1021
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Notion
1022
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1023
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
1024
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
1025
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1026
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
1027
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1028
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
1029
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#github" class="md-nav__link">
1030
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
1031
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1032
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
GitHub
1033
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1034
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
1035
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
1036
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1037
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
1038
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1039
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
1040
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#microsoft" class="md-nav__link">
1041
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
1042
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1043
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Microsoft
1044
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1045
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
1046
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
1047
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1048
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
1049
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1050
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</ul>
1051
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</nav>
1052
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1053
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
1054
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1055
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
1056
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#cli-usage" class="md-nav__link">
1057
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
1058
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1059
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
CLI usage
1060
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1061
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
1062
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
1063
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1064
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<nav class="md-nav" aria-label="CLI usage">
1065
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<ul class="md-nav__list">
1066
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1067
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
1068
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#planopticon-auth" class="md-nav__link">
1069
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
1070
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1071
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
planopticon auth
1072
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1073
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
1074
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
1075
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1076
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
1077
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1078
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
1079
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#companion-repl-auth" class="md-nav__link">
1080
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
1081
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1082
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Companion REPL /auth
1083
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1084
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
1085
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
1086
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1087
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
1088
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1089
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</ul>
1090
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</nav>
1091
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1092
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
1093
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1094
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
1095
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#environment-variables-reference" class="md-nav__link">
1096
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
1097
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1098
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Environment variables reference
1099
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1100
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
1101
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
1102
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1103
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
1104
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1105
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
1106
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#python-api" class="md-nav__link">
1107
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
1108
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1109
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Python API
1110
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1111
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
1112
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
1113
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1114
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<nav class="md-nav" aria-label="Python API">
1115
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<ul class="md-nav__list">
1116
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1117
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
1118
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#authconfig" class="md-nav__link">
1119
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
1120
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1121
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
AuthConfig
1122
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1123
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
1124
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
1125
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1126
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
1127
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1128
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
1129
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#oauthmanager" class="md-nav__link">
1130
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
1131
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1132
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
OAuthManager
1133
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1134
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
1135
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
1136
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1137
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
1138
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1139
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
1140
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#pre-built-configs" class="md-nav__link">
1141
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
1142
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1143
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Pre-built configs
1144
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1145
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
1146
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
1147
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1148
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
1149
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1150
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
1151
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#building-custom-connectors" class="md-nav__link">
1152
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
1153
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1154
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Building custom connectors
1155
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1156
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
1157
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
1158
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1159
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
1160
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1161
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</ul>
1162
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</nav>
1163
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1164
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
1165
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1166
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
1167
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#troubleshooting" class="md-nav__link">
1168
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
1169
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1170
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Troubleshooting
1171
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1172
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
1173
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
1174
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1175
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<nav class="md-nav" aria-label="Troubleshooting">
1176
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<ul class="md-nav__list">
1177
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1178
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
1179
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#no-auth-method-available-for-service" class="md-nav__link">
1180
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
1181
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1182
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"No auth method available for {service}"
1183
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1184
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
1185
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
1186
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1187
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
1188
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1189
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
1190
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#token-refresh-fails" class="md-nav__link">
1191
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
1192
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1193
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Token refresh fails
1194
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1195
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
1196
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
1197
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1198
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
1199
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1200
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
1201
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#oauth-pkce-flow-does-not-open-a-browser" class="md-nav__link">
1202
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
1203
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1204
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
OAuth PKCE flow does not open a browser
1205
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1206
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
1207
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
1208
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1209
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
1210
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1211
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
1212
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#requests-not-installed" class="md-nav__link">
1213
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
1214
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1215
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"requests not installed"
1216
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1217
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
1218
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
1219
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1220
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
1221
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1222
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
1223
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#permission-denied-on-token-file" class="md-nav__link">
1224
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
1225
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1226
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Permission denied on token file
1227
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1228
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
1229
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
1230
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1231
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
1232
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1233
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
1234
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#microsoft-authentication-uses-the-common-tenant" class="md-nav__link">
1235
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
1236
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1237
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Microsoft authentication uses the /common tenant
1238
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1239
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
1240
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
1241
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1242
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
1243
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1244
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</ul>
1245
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</nav>
1246
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1247
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
1248
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1249
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</ul>
1250
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1251
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</nav>
1252
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1253
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
1254
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1255
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1256
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1257
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1258
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1259
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1260
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1261
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1262
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1263
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1264
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
1265
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="../export/" class="md-nav__link">
1266
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1267
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1268
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1269
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
1270
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1271
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1272
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Export & Documents
1273
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1274
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1275
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1276
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
1277
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1278
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1279
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1280
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
1281
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
1282
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1283
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1284
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1285
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1286
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1287
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1288
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1289
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1290
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1291
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1292
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
1293
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="../output-formats/" class="md-nav__link">
1294
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1295
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1296
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1297
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
1298
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1299
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1300
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Output Formats
1301
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1302
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1303
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1304
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
1305
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1306
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1307
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1308
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
1309
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
1310
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1311
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1312
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1313
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1314
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</ul>
1315
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</nav>
1316
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1317
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
1318
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1319
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1320
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1321
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1322
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1323
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1324
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1325
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1326
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1327
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
1328
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="../../use-cases/" class="md-nav__link">
1329
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1330
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1331
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1332
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
1333
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1334
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1335
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Use Cases
1336
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1337
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1338
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1339
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
1340
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1341
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1342
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1343
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
1344
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
1345
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1346
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1347
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1348
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1349
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1350
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1351
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1352
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1353
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1354
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
1355
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="../../cli-reference/" class="md-nav__link">
1356
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1357
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1358
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1359
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
1360
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1361
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1362
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
CLI Reference
1363
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1364
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1365
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1366
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
1367
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1368
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1369
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1370
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
1371
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
1372
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1373
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1374
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1375
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1376
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1377
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1378
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1379
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1380
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1381
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1382
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1383
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1384
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1385
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1386
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1387
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1388
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1389
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1390
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1391
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item md-nav__item--nested">
1392
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1393
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1394
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1395
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1396
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1397
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_6" >
1398
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1399
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1400
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<label class="md-nav__link" for="__nav_6" id="__nav_6_label" tabindex="0">
1401
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1402
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1403
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1404
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
1405
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1406
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1407
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Architecture
1408
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1409
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1410
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1411
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
1412
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1413
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1414
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1415
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-nav__icon md-icon"></span>
1416
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</label>
1417
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1418
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_6_label" aria-expanded="false">
1419
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<label class="md-nav__title" for="__nav_6">
1420
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-nav__icon md-icon"></span>
1421
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1422
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1423
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Architecture
1424
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1425
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1426
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</label>
1427
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<ul class="md-nav__list" data-md-scrollfix>
1428
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1429
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1430
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1431
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1432
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1433
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1434
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1435
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
1436
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="../../architecture/overview/" class="md-nav__link">
1437
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1438
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1439
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1440
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
1441
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1442
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1443
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Overview
1444
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1445
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1446
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1447
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
1448
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1449
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1450
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1451
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
1452
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
1453
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1454
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1455
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1456
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1457
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1458
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1459
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1460
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1461
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1462
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1463
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
1464
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="../../architecture/providers/" class="md-nav__link">
1465
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1466
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1467
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1468
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
1469
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1470
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1471
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Provider System
1472
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1473
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1474
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1475
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
1476
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1477
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1478
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1479
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
1480
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
1481
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1482
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1483
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1484
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1485
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1486
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1487
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1488
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1489
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1490
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1491
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
1492
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="../../architecture/pipeline/" class="md-nav__link">
1493
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1494
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1495
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1496
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
1497
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1498
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1499
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Processing Pipeline
1500
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1501
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1502
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1503
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
1504
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1505
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1506
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1507
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
1508
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
1509
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1510
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1511
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1512
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1513
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</ul>
1514
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</nav>
1515
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1516
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
1517
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1518
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1519
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1520
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1521
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1522
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1523
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1524
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1525
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1526
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1527
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1528
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1529
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1530
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1531
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1532
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1533
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1534
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1535
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1536
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item md-nav__item--nested">
1537
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1538
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1539
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1540
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1541
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1542
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_7" >
1543
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1544
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1545
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<label class="md-nav__link" for="__nav_7" id="__nav_7_label" tabindex="0">
1546
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1547
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1548
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1549
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
1550
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1551
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1552
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
API Reference
1553
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1554
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1555
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1556
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
1557
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1558
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1559
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1560
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-nav__icon md-icon"></span>
1561
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</label>
1562
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1563
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_7_label" aria-expanded="false">
1564
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<label class="md-nav__title" for="__nav_7">
1565
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-nav__icon md-icon"></span>
1566
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1567
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1568
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
API Reference
1569
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1570
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1571
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</label>
1572
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<ul class="md-nav__list" data-md-scrollfix>
1573
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1574
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1575
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1576
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1577
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1578
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1579
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1580
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
1581
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="../../api/models/" class="md-nav__link">
1582
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1583
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1584
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1585
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
1586
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1587
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1588
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Models
1589
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1590
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1591
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1592
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
1593
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1594
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1595
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1596
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
1597
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
1598
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1599
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1600
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1601
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1602
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1603
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1604
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1605
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1606
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1607
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1608
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
1609
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="../../api/providers/" class="md-nav__link">
1610
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1611
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1612
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1613
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
1614
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1615
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1616
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Providers
1617
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1618
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1619
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1620
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
1621
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1622
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1623
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1624
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
1625
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
1626
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1627
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1628
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1629
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1630
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1631
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1632
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1633
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1634
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1635
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1636
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
1637
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="../../api/analyzers/" class="md-nav__link">
1638
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1639
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1640
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1641
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
1642
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1643
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1644
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Analyzers
1645
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1646
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1647
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1648
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
1649
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1650
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1651
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1652
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
1653
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
1654
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1655
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1656
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1657
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1658
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1659
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1660
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1661
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1662
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1663
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1664
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
1665
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="../../api/agent/" class="md-nav__link">
1666
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1667
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1668
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1669
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
1670
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1671
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1672
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Agent & Skills
1673
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1674
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1675
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1676
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
1677
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1678
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1679
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1680
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
1681
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
1682
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1683
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1684
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1685
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1686
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1687
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1688
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1689
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1690
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1691
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1692
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
1693
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="../../api/sources/" class="md-nav__link">
1694
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1695
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1696
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1697
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
1698
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1699
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1700
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Sources
1701
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1702
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1703
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1704
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
1705
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1706
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1707
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1708
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
1709
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
1710
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1711
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1712
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1713
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1714
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1715
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1716
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1717
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1718
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1719
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1720
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
1721
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="../../api/auth/" class="md-nav__link">
1722
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1723
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1724
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1725
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
1726
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1727
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1728
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Authentication
1729
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1730
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1731
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1732
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
1733
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1734
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1735
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1736
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
1737
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
1738
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1739
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1740
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1741
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1742
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</ul>
1743
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</nav>
1744
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1745
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
1746
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1747
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1748
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1749
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1750
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1751
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1752
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1753
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1754
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1755
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
1756
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="../../faq/" class="md-nav__link">
1757
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1758
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1759
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1760
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
1761
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1762
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1763
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
FAQ & Troubleshooting
1764
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1765
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1766
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1767
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
1768
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1769
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1770
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1771
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
1772
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
1773
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1774
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1775
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1776
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1777
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1778
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1779
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1780
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1781
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1782
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
1783
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="../../contributing/" class="md-nav__link">
1784
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1785
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1786
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1787
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
1788
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1789
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1790
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Contributing
1791
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1792
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1793
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1794
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
1795
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1796
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1797
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1798
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
1799
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
1800
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1801
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1802
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1803
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</ul>
1804
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</nav>
1805
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
1806
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
1807
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
1808
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1809
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1810
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1811
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" >
1812
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="md-sidebar__scrollwrap">
1813
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="md-sidebar__inner">
1814
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1815
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1816
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
1817
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1818
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1819
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1820
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1821
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1822
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1823
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<label class="md-nav__title" for="__toc">
1824
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-nav__icon md-icon"></span>
1825
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Table of contents
1826
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</label>
1827
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
1828
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1829
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
1830
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#auth-strategy-overview" class="md-nav__link">
1831
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
1832
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1833
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Auth strategy overview
1834
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1835
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
1836
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
1837
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1838
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
1839
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1840
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
1841
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#the-auth-chain" class="md-nav__link">
1842
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
1843
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1844
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
The auth chain
1845
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1846
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
1847
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
1848
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1849
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
1850
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1851
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
1852
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#token-storage" class="md-nav__link">
1853
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
1854
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1855
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Token storage
1856
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1857
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
1858
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
1859
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1860
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
1861
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1862
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
1863
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#supported-services" class="md-nav__link">
1864
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
1865
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1866
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Supported services
1867
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1868
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
1869
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
1870
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1871
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<nav class="md-nav" aria-label="Supported services">
1872
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<ul class="md-nav__list">
1873
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1874
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
1875
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#google" class="md-nav__link">
1876
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
1877
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1878
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Google
1879
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1880
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
1881
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
1882
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1883
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
1884
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1885
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
1886
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#dropbox" class="md-nav__link">
1887
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
1888
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1889
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Dropbox
1890
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1891
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
1892
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
1893
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1894
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
1895
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1896
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
1897
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#zoom" class="md-nav__link">
1898
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
1899
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1900
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Zoom
1901
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1902
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
1903
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
1904
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1905
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
1906
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1907
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
1908
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#notion" class="md-nav__link">
1909
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
1910
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1911
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Notion
1912
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1913
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
1914
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
1915
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1916
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
1917
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1918
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
1919
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#github" class="md-nav__link">
1920
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
1921
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1922
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
GitHub
1923
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1924
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
1925
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
1926
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1927
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
1928
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1929
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
1930
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#microsoft" class="md-nav__link">
1931
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
1932
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1933
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Microsoft
1934
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1935
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
1936
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
1937
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1938
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
1939
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1940
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</ul>
1941
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</nav>
1942
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1943
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
1944
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1945
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
1946
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#cli-usage" class="md-nav__link">
1947
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
1948
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1949
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
CLI usage
1950
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1951
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
1952
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
1953
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1954
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<nav class="md-nav" aria-label="CLI usage">
1955
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<ul class="md-nav__list">
1956
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1957
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
1958
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#planopticon-auth" class="md-nav__link">
1959
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
1960
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1961
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
planopticon auth
1962
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1963
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
1964
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
1965
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1966
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
1967
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1968
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
1969
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#companion-repl-auth" class="md-nav__link">
1970
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
1971
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1972
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Companion REPL /auth
1973
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1974
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
1975
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
1976
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1977
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
1978
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1979
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</ul>
1980
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</nav>
1981
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1982
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
1983
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1984
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
1985
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#environment-variables-reference" class="md-nav__link">
1986
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
1987
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1988
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Environment variables reference
1989
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1990
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
1991
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
1992
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1993
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
1994
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1995
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
1996
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#python-api" class="md-nav__link">
1997
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
1998
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1999
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Python API
2000
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2001
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
2002
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
2003
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2004
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<nav class="md-nav" aria-label="Python API">
2005
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<ul class="md-nav__list">
2006
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2007
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
2008
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#authconfig" class="md-nav__link">
2009
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
2010
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2011
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
AuthConfig
2012
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2013
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
2014
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
2015
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2016
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
2017
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2018
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
2019
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#oauthmanager" class="md-nav__link">
2020
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
2021
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2022
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
OAuthManager
2023
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2024
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
2025
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
2026
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2027
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
2028
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2029
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
2030
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#pre-built-configs" class="md-nav__link">
2031
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
2032
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2033
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Pre-built configs
2034
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2035
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
2036
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
2037
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2038
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
2039
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2040
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
2041
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#building-custom-connectors" class="md-nav__link">
2042
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
2043
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2044
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Building custom connectors
2045
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2046
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
2047
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
2048
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2049
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
2050
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2051
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</ul>
2052
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</nav>
2053
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2054
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
2055
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2056
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
2057
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#troubleshooting" class="md-nav__link">
2058
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
2059
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2060
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Troubleshooting
2061
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2062
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
2063
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
2064
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2065
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<nav class="md-nav" aria-label="Troubleshooting">
2066
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<ul class="md-nav__list">
2067
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2068
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
2069
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#no-auth-method-available-for-service" class="md-nav__link">
2070
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
2071
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2072
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"No auth method available for {service}"
2073
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2074
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
2075
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
2076
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2077
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
2078
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2079
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
2080
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#token-refresh-fails" class="md-nav__link">
2081
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
2082
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2083
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Token refresh fails
2084
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2085
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
2086
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
2087
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2088
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
2089
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2090
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
2091
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#oauth-pkce-flow-does-not-open-a-browser" class="md-nav__link">
2092
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
2093
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2094
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
OAuth PKCE flow does not open a browser
2095
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2096
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
2097
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
2098
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2099
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
2100
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2101
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
2102
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#requests-not-installed" class="md-nav__link">
2103
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
2104
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2105
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"requests not installed"
2106
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2107
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
2108
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
2109
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2110
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
2111
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2112
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
2113
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#permission-denied-on-token-file" class="md-nav__link">
2114
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
2115
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2116
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Permission denied on token file
2117
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2118
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
2119
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
2120
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2121
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
2122
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2123
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
2124
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#microsoft-authentication-uses-the-common-tenant" class="md-nav__link">
2125
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
2126
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2127
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Microsoft authentication uses the /common tenant
2128
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2129
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
2130
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
2131
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2132
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
2133
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2134
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</ul>
2135
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</nav>
2136
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2137
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
2138
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2139
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</ul>
2140
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2141
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</nav>
2142
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
2143
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
2144
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
2145
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2146
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2147
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2148
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="md-content" data-md-component="content">
2149
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2150
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<article class="md-content__inner md-typeset">
2151
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2152
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2153
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2154
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2155
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2156
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2157
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2158
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2159
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<h1 id="authentication">Authentication<a class="headerlink" href="#authentication" title="Permanent link">¶</a></h1>
2160
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p>PlanOpticon uses a unified authentication system to connect with cloud services for fetching recordings, documents, and other content. The system is <strong>OAuth-first</strong>: it prefers OAuth 2.0 flows for security and token management, but falls back to API keys when OAuth is not configured.</p>
2161
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<h2 id="auth-strategy-overview">Auth strategy overview<a class="headerlink" href="#auth-strategy-overview" title="Permanent link">¶</a></h2>
2162
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p>PlanOpticon supports six cloud services out of the box: Google, Dropbox, Zoom, Notion, GitHub, and Microsoft. Each service uses the same authentication chain, implemented through the <code>OAuthManager</code> class. You configure credentials once (via environment variables or directly), and PlanOpticon handles token acquisition, storage, refresh, and fallback automatically.</p>
2163
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p>All authentication state is managed through the <code>planopticon auth</code> CLI command, the <code>/auth</code> companion REPL command, or programmatically via the Python API.</p>
2164
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<h2 id="the-auth-chain">The auth chain<a class="headerlink" href="#the-auth-chain" title="Permanent link">¶</a></h2>
2165
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p>When you authenticate with a service, PlanOpticon tries the following methods in order. It stops at the first one that succeeds:</p>
2166
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<ol>
2167
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li>
2168
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p><strong>Saved token</strong> -- Checks <code>~/.planopticon/{service}_token.json</code> for a previously saved token. If the token has not expired, it is used immediately. If it has expired but a refresh token is available, PlanOpticon attempts an automatic token refresh.</p>
2169
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
2170
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li>
2171
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p><strong>Client Credentials grant</strong> (Server-to-Server) -- If an <code>account_id</code> is configured (e.g., <code>ZOOM_ACCOUNT_ID</code>), PlanOpticon attempts a client credentials grant. This is a non-interactive flow suitable for automated pipelines and server-side integrations. No browser is required.</p>
2172
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
2173
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li>
2174
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p><strong>OAuth 2.0 Authorization Code with PKCE</strong> (interactive) -- If a client ID is configured and OAuth endpoints are available, PlanOpticon initiates an interactive OAuth PKCE flow. It opens a browser to the service's authorization page, waits for you to paste the authorization code, and exchanges it for tokens. The tokens are saved for future use.</p>
2175
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
2176
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li>
2177
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p><strong>API key fallback</strong> -- If no OAuth method succeeds, PlanOpticon checks for a service-specific API key environment variable (e.g., <code>GITHUB_TOKEN</code>, <code>NOTION_API_KEY</code>). This is the simplest setup but may have reduced capabilities compared to OAuth.</p>
2178
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
2179
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</ol>
2180
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p>If none of the four methods succeed, PlanOpticon returns an error with hints about which environment variables to set.</p>
2181
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<h2 id="token-storage">Token storage<a class="headerlink" href="#token-storage" title="Permanent link">¶</a></h2>
2182
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p>Tokens are persisted as JSON files in <code>~/.planopticon/</code>:</p>
2183
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="highlight"><pre><span></span><code><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a>~/.planopticon/
2184
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-2" name="__codelineno-0-2" href="#__codelineno-0-2"></a> google_token.json
2185
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-3" name="__codelineno-0-3" href="#__codelineno-0-3"></a> dropbox_token.json
2186
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-4" name="__codelineno-0-4" href="#__codelineno-0-4"></a> zoom_token.json
2187
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-5" name="__codelineno-0-5" href="#__codelineno-0-5"></a> notion_token.json
2188
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-6" name="__codelineno-0-6" href="#__codelineno-0-6"></a> github_token.json
2189
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-7" name="__codelineno-0-7" href="#__codelineno-0-7"></a> microsoft_token.json
2190
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</code></pre></div>
2191
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p>Each token file contains:</p>
2192
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<table>
2193
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<thead>
2194
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
2195
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<th>Field</th>
2196
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<th>Description</th>
2197
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
2198
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</thead>
2199
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tbody>
2200
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
2201
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>access_token</code></td>
2202
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>The current access token</td>
2203
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
2204
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
2205
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>refresh_token</code></td>
2206
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>Refresh token for automatic renewal (if provided by the service)</td>
2207
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
2208
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
2209
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>expires_at</code></td>
2210
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>Unix timestamp when the token expires (with a 60-second safety margin)</td>
2211
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
2212
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
2213
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>client_id</code></td>
2214
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>The client ID used for this token (for refresh)</td>
2215
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
2216
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
2217
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>client_secret</code></td>
2218
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>The client secret used (for refresh)</td>
2219
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
2220
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tbody>
2221
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</table>
2222
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p>The <code>~/.planopticon/</code> directory is created automatically on first use. Token files are overwritten on each successful authentication or refresh.</p>
2223
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p>To remove a saved token, use <code>planopticon auth <service> --logout</code> or delete the file directly.</p>
2224
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<h2 id="supported-services">Supported services<a class="headerlink" href="#supported-services" title="Permanent link">¶</a></h2>
2225
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<h3 id="google">Google<a class="headerlink" href="#google" title="Permanent link">¶</a></h3>
2226
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p>Google authentication provides access to Google Drive and Google Docs for fetching documents, recordings, and other content.</p>
2227
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p><strong>Scopes requested:</strong></p>
2228
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<ul>
2229
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li><code>https://www.googleapis.com/auth/drive.readonly</code></li>
2230
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li><code>https://www.googleapis.com/auth/documents.readonly</code></li>
2231
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</ul>
2232
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p><strong>Environment variables:</strong></p>
2233
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<table>
2234
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<thead>
2235
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
2236
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<th>Variable</th>
2237
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<th>Required</th>
2238
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<th>Description</th>
2239
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
2240
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</thead>
2241
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tbody>
2242
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
2243
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>GOOGLE_CLIENT_ID</code></td>
2244
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>For OAuth</td>
2245
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>OAuth 2.0 Client ID from Google Cloud Console</td>
2246
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
2247
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
2248
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>GOOGLE_CLIENT_SECRET</code></td>
2249
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>For OAuth</td>
2250
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>OAuth 2.0 Client Secret</td>
2251
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
2252
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
2253
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>GOOGLE_API_KEY</code></td>
2254
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>Fallback</td>
2255
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>API key (limited access, no user-specific data)</td>
2256
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
2257
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tbody>
2258
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</table>
2259
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p><strong>OAuth app setup:</strong></p>
2260
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<ol>
2261
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li>Go to the <a href="https://console.cloud.google.com/">Google Cloud Console</a>.</li>
2262
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li>Create a project (or select an existing one).</li>
2263
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li>Navigate to <strong>APIs & Services > Credentials</strong>.</li>
2264
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li>Click <strong>Create Credentials > OAuth client ID</strong>.</li>
2265
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li>Choose <strong>Desktop app</strong> as the application type.</li>
2266
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li>Copy the Client ID and Client Secret.</li>
2267
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li>Under <strong>APIs & Services > Library</strong>, enable the <strong>Google Drive API</strong> and <strong>Google Docs API</strong>.</li>
2268
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li>Set the environment variables:</li>
2269
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</ol>
2270
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="highlight"><pre><span></span><code><a id="__codelineno-1-1" name="__codelineno-1-1" href="#__codelineno-1-1"></a><span class="nb">export</span><span class="w"> </span><span class="nv">GOOGLE_CLIENT_ID</span><span class="o">=</span><span class="s2">"your-client-id.apps.googleusercontent.com"</span>
2271
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-1-2" name="__codelineno-1-2" href="#__codelineno-1-2"></a><span class="nb">export</span><span class="w"> </span><span class="nv">GOOGLE_CLIENT_SECRET</span><span class="o">=</span><span class="s2">"your-client-secret"</span>
2272
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</code></pre></div>
2273
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p><strong>Service account fallback:</strong> For automated pipelines, you can use a Google service account instead of OAuth. Generate a service account key JSON file from the Google Cloud Console and set <code>GOOGLE_APPLICATION_CREDENTIALS</code> to point to it. The PlanOpticon Google Workspace connector (<code>planopticon gws</code>) uses the <code>gws</code> CLI which has its own auth flow via <code>gws auth login</code>.</p>
2274
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<h3 id="dropbox">Dropbox<a class="headerlink" href="#dropbox" title="Permanent link">¶</a></h3>
2275
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p>Dropbox authentication provides access to files stored in Dropbox.</p>
2276
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p><strong>Environment variables:</strong></p>
2277
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<table>
2278
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<thead>
2279
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
2280
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<th>Variable</th>
2281
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<th>Required</th>
2282
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<th>Description</th>
2283
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
2284
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</thead>
2285
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tbody>
2286
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
2287
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>DROPBOX_APP_KEY</code></td>
2288
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>For OAuth</td>
2289
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>App key from the Dropbox App Console</td>
2290
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
2291
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
2292
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>DROPBOX_APP_SECRET</code></td>
2293
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>For OAuth</td>
2294
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>App secret</td>
2295
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
2296
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
2297
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>DROPBOX_ACCESS_TOKEN</code></td>
2298
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>Fallback</td>
2299
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>Long-lived access token (for quick setup)</td>
2300
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
2301
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tbody>
2302
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</table>
2303
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p><strong>OAuth app setup:</strong></p>
2304
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<ol>
2305
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li>Go to the <a href="https://www.dropbox.com/developers/apps">Dropbox App Console</a>.</li>
2306
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li>Click <strong>Create App</strong>.</li>
2307
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li>Choose <strong>Scoped access</strong> and <strong>Full Dropbox</strong> (or <strong>App folder</strong> for restricted access).</li>
2308
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li>Copy the App key and App secret from the <strong>Settings</strong> tab.</li>
2309
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li>Set the environment variables:</li>
2310
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</ol>
2311
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="highlight"><pre><span></span><code><a id="__codelineno-2-1" name="__codelineno-2-1" href="#__codelineno-2-1"></a><span class="nb">export</span><span class="w"> </span><span class="nv">DROPBOX_APP_KEY</span><span class="o">=</span><span class="s2">"your-app-key"</span>
2312
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-2-2" name="__codelineno-2-2" href="#__codelineno-2-2"></a><span class="nb">export</span><span class="w"> </span><span class="nv">DROPBOX_APP_SECRET</span><span class="o">=</span><span class="s2">"your-app-secret"</span>
2313
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</code></pre></div>
2314
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p><strong>Access token shortcut:</strong> For quick testing, you can generate an access token directly from the app's Settings page in the Dropbox App Console and set it as <code>DROPBOX_ACCESS_TOKEN</code>. This bypasses OAuth entirely but the token may have a limited lifetime.</p>
2315
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<h3 id="zoom">Zoom<a class="headerlink" href="#zoom" title="Permanent link">¶</a></h3>
2316
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p>Zoom authentication provides access to cloud recordings, meeting metadata, and transcripts.</p>
2317
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p><strong>Environment variables:</strong></p>
2318
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<table>
2319
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<thead>
2320
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
2321
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<th>Variable</th>
2322
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<th>Required</th>
2323
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<th>Description</th>
2324
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
2325
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</thead>
2326
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tbody>
2327
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
2328
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>ZOOM_CLIENT_ID</code></td>
2329
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>For OAuth</td>
2330
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>OAuth client ID from the Zoom Marketplace</td>
2331
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
2332
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
2333
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>ZOOM_CLIENT_SECRET</code></td>
2334
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>For OAuth</td>
2335
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>OAuth client secret</td>
2336
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
2337
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
2338
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>ZOOM_ACCOUNT_ID</code></td>
2339
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>For S2S</td>
2340
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>Account ID for Server-to-Server OAuth</td>
2341
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
2342
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tbody>
2343
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</table>
2344
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p><strong>Server-to-Server (recommended for automation):</strong></p>
2345
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p>When <code>ZOOM_ACCOUNT_ID</code> is set alongside <code>ZOOM_CLIENT_ID</code> and <code>ZOOM_CLIENT_SECRET</code>, PlanOpticon uses the client credentials grant (Server-to-Server OAuth). This is non-interactive and ideal for CI/CD pipelines and scheduled jobs.</p>
2346
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<ol>
2347
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li>Go to the <a href="https://marketplace.zoom.us/">Zoom Marketplace</a>.</li>
2348
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li>Click <strong>Develop > Build App</strong>.</li>
2349
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li>Choose <strong>Server-to-Server OAuth</strong>.</li>
2350
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li>Copy the Account ID, Client ID, and Client Secret.</li>
2351
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li>Add the required scopes: <code>recording:read:admin</code> (or <code>recording:read</code>).</li>
2352
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li>Set the environment variables:</li>
2353
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</ol>
2354
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="highlight"><pre><span></span><code><a id="__codelineno-3-1" name="__codelineno-3-1" href="#__codelineno-3-1"></a><span class="nb">export</span><span class="w"> </span><span class="nv">ZOOM_CLIENT_ID</span><span class="o">=</span><span class="s2">"your-client-id"</span>
2355
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-3-2" name="__codelineno-3-2" href="#__codelineno-3-2"></a><span class="nb">export</span><span class="w"> </span><span class="nv">ZOOM_CLIENT_SECRET</span><span class="o">=</span><span class="s2">"your-client-secret"</span>
2356
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-3-3" name="__codelineno-3-3" href="#__codelineno-3-3"></a><span class="nb">export</span><span class="w"> </span><span class="nv">ZOOM_ACCOUNT_ID</span><span class="o">=</span><span class="s2">"your-account-id"</span>
2357
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</code></pre></div>
2358
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p><strong>User-level OAuth PKCE:</strong></p>
2359
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p>If <code>ZOOM_ACCOUNT_ID</code> is not set, PlanOpticon falls back to the interactive OAuth PKCE flow. This opens a browser window for the user to authorize access.</p>
2360
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<ol>
2361
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li>In the Zoom Marketplace, create a <strong>General App</strong> (or <strong>OAuth</strong> app).</li>
2362
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li>Set the redirect URI to <code>urn:ietf:wg:oauth:2.0:oob</code> (out-of-band).</li>
2363
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li>Copy the Client ID and Client Secret.</li>
2364
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</ol>
2365
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<h3 id="notion">Notion<a class="headerlink" href="#notion" title="Permanent link">¶</a></h3>
2366
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p>Notion authentication provides access to pages, databases, and content in your Notion workspace.</p>
2367
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p><strong>Environment variables:</strong></p>
2368
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<table>
2369
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<thead>
2370
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
2371
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<th>Variable</th>
2372
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<th>Required</th>
2373
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<th>Description</th>
2374
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
2375
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</thead>
2376
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tbody>
2377
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
2378
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>NOTION_CLIENT_ID</code></td>
2379
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>For OAuth</td>
2380
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>OAuth client ID from the Notion Integrations page</td>
2381
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
2382
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
2383
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>NOTION_CLIENT_SECRET</code></td>
2384
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>For OAuth</td>
2385
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>OAuth client secret</td>
2386
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
2387
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
2388
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>NOTION_API_KEY</code></td>
2389
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>Fallback</td>
2390
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>Internal integration token</td>
2391
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
2392
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tbody>
2393
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</table>
2394
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p><strong>OAuth app setup:</strong></p>
2395
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<ol>
2396
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li>Go to <a href="https://www.notion.so/my-integrations">My Integrations</a> in Notion.</li>
2397
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li>Click <strong>New integration</strong>.</li>
2398
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li>Select <strong>Public integration</strong> (required for OAuth).</li>
2399
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li>Copy the OAuth Client ID and Client Secret.</li>
2400
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li>Set the redirect URI.</li>
2401
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li>Set the environment variables:</li>
2402
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</ol>
2403
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="highlight"><pre><span></span><code><a id="__codelineno-4-1" name="__codelineno-4-1" href="#__codelineno-4-1"></a><span class="nb">export</span><span class="w"> </span><span class="nv">NOTION_CLIENT_ID</span><span class="o">=</span><span class="s2">"your-client-id"</span>
2404
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-4-2" name="__codelineno-4-2" href="#__codelineno-4-2"></a><span class="nb">export</span><span class="w"> </span><span class="nv">NOTION_CLIENT_SECRET</span><span class="o">=</span><span class="s2">"your-client-secret"</span>
2405
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</code></pre></div>
2406
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p><strong>Internal integration (API key fallback):</strong></p>
2407
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p>For simpler setups, create an <strong>Internal integration</strong> from the Notion Integrations page. Copy the integration token and set it as <code>NOTION_API_KEY</code>. You must also share the relevant Notion pages/databases with the integration.</p>
2408
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="highlight"><pre><span></span><code><a id="__codelineno-5-1" name="__codelineno-5-1" href="#__codelineno-5-1"></a><span class="nb">export</span><span class="w"> </span><span class="nv">NOTION_API_KEY</span><span class="o">=</span><span class="s2">"ntn_your-integration-token"</span>
2409
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</code></pre></div>
2410
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<h3 id="github">GitHub<a class="headerlink" href="#github" title="Permanent link">¶</a></h3>
2411
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p>GitHub authentication provides access to repositories, issues, and organization data.</p>
2412
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p><strong>Scopes requested:</strong></p>
2413
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<ul>
2414
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li><code>repo</code></li>
2415
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li><code>read:org</code></li>
2416
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</ul>
2417
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p><strong>Environment variables:</strong></p>
2418
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<table>
2419
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<thead>
2420
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
2421
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<th>Variable</th>
2422
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<th>Required</th>
2423
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<th>Description</th>
2424
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
2425
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</thead>
2426
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tbody>
2427
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
2428
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>GITHUB_CLIENT_ID</code></td>
2429
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>For OAuth</td>
2430
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>OAuth App client ID</td>
2431
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
2432
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
2433
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>GITHUB_CLIENT_SECRET</code></td>
2434
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>For OAuth</td>
2435
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>OAuth App client secret</td>
2436
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
2437
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
2438
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>GITHUB_TOKEN</code></td>
2439
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>Fallback</td>
2440
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>Personal access token (classic or fine-grained)</td>
2441
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
2442
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tbody>
2443
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</table>
2444
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p><strong>OAuth app setup:</strong></p>
2445
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<ol>
2446
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li>Go to <strong>GitHub > Settings > Developer Settings > OAuth Apps</strong>.</li>
2447
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li>Click <strong>New OAuth App</strong>.</li>
2448
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li>Set the Authorization callback URL to <code>urn:ietf:wg:oauth:2.0:oob</code>.</li>
2449
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li>Copy the Client ID and generate a Client Secret.</li>
2450
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li>Set the environment variables:</li>
2451
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</ol>
2452
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="highlight"><pre><span></span><code><a id="__codelineno-6-1" name="__codelineno-6-1" href="#__codelineno-6-1"></a><span class="nb">export</span><span class="w"> </span><span class="nv">GITHUB_CLIENT_ID</span><span class="o">=</span><span class="s2">"your-client-id"</span>
2453
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-6-2" name="__codelineno-6-2" href="#__codelineno-6-2"></a><span class="nb">export</span><span class="w"> </span><span class="nv">GITHUB_CLIENT_SECRET</span><span class="o">=</span><span class="s2">"your-client-secret"</span>
2454
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</code></pre></div>
2455
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p><strong>Personal access token (recommended for most users):</strong></p>
2456
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p>The simplest approach is to create a Personal Access Token:</p>
2457
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<ol>
2458
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li>Go to <strong>GitHub > Settings > Developer Settings > Personal Access Tokens</strong>.</li>
2459
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li>Generate a token with <code>repo</code> and <code>read:org</code> scopes.</li>
2460
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li>Set it as <code>GITHUB_TOKEN</code>:</li>
2461
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</ol>
2462
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="highlight"><pre><span></span><code><a id="__codelineno-7-1" name="__codelineno-7-1" href="#__codelineno-7-1"></a><span class="nb">export</span><span class="w"> </span><span class="nv">GITHUB_TOKEN</span><span class="o">=</span><span class="s2">"ghp_your-token"</span>
2463
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</code></pre></div>
2464
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<h3 id="microsoft">Microsoft<a class="headerlink" href="#microsoft" title="Permanent link">¶</a></h3>
2465
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p>Microsoft authentication provides access to Microsoft 365 resources via the Microsoft Graph API, including OneDrive, SharePoint, and Teams recordings.</p>
2466
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p><strong>Scopes requested:</strong></p>
2467
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<ul>
2468
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li><code>https://graph.microsoft.com/OnlineMeetings.Read</code></li>
2469
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li><code>https://graph.microsoft.com/Files.Read</code></li>
2470
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</ul>
2471
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p><strong>Environment variables:</strong></p>
2472
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<table>
2473
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<thead>
2474
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
2475
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<th>Variable</th>
2476
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<th>Required</th>
2477
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<th>Description</th>
2478
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
2479
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</thead>
2480
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tbody>
2481
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
2482
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>MICROSOFT_CLIENT_ID</code></td>
2483
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>For OAuth</td>
2484
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>Application (client) ID from Azure AD</td>
2485
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
2486
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
2487
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>MICROSOFT_CLIENT_SECRET</code></td>
2488
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>For OAuth</td>
2489
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>Client secret from Azure AD</td>
2490
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
2491
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tbody>
2492
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</table>
2493
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p><strong>Azure AD app registration:</strong></p>
2494
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<ol>
2495
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li>Go to the <a href="https://portal.azure.com/">Azure Portal</a>.</li>
2496
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li>Navigate to <strong>Azure Active Directory > App registrations</strong>.</li>
2497
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li>Click <strong>New registration</strong>.</li>
2498
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li>Name the application (e.g., "PlanOpticon").</li>
2499
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li>Under <strong>Supported account types</strong>, select the appropriate option for your organization.</li>
2500
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li>Set the redirect URI to <code>urn:ietf:wg:oauth:2.0:oob</code> with platform <strong>Mobile and desktop applications</strong>.</li>
2501
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li>After registration, go to <strong>Certificates & secrets</strong> and create a new client secret.</li>
2502
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li>Under <strong>API permissions</strong>, add:<ul>
2503
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li><code>OnlineMeetings.Read</code></li>
2504
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li><code>Files.Read</code></li>
2505
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</ul>
2506
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
2507
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li>Grant admin consent if required by your organization.</li>
2508
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li>Set the environment variables:</li>
2509
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</ol>
2510
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="highlight"><pre><span></span><code><a id="__codelineno-8-1" name="__codelineno-8-1" href="#__codelineno-8-1"></a><span class="nb">export</span><span class="w"> </span><span class="nv">MICROSOFT_CLIENT_ID</span><span class="o">=</span><span class="s2">"your-application-id"</span>
2511
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-8-2" name="__codelineno-8-2" href="#__codelineno-8-2"></a><span class="nb">export</span><span class="w"> </span><span class="nv">MICROSOFT_CLIENT_SECRET</span><span class="o">=</span><span class="s2">"your-client-secret"</span>
2512
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</code></pre></div>
2513
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p><strong>Microsoft 365 CLI:</strong> The <code>planopticon m365</code> commands use the <code>@pnp/cli-microsoft365</code> npm package, which has its own authentication flow via <code>m365 login</code>. This is separate from the OAuth flow described above.</p>
2514
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<h2 id="cli-usage">CLI usage<a class="headerlink" href="#cli-usage" title="Permanent link">¶</a></h2>
2515
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<h3 id="planopticon-auth"><code>planopticon auth</code><a class="headerlink" href="#planopticon-auth" title="Permanent link">¶</a></h3>
2516
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p>Authenticate with a cloud service or manage saved tokens.</p>
2517
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="highlight"><pre><span></span><code><a id="__codelineno-9-1" name="__codelineno-9-1" href="#__codelineno-9-1"></a>planopticon auth SERVICE [--logout]
2518
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</code></pre></div>
2519
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p><strong>Arguments:</strong></p>
2520
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<table>
2521
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<thead>
2522
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
2523
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<th>Argument</th>
2524
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<th>Description</th>
2525
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
2526
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</thead>
2527
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tbody>
2528
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
2529
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>SERVICE</code></td>
2530
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>One of: <code>google</code>, <code>dropbox</code>, <code>zoom</code>, <code>notion</code>, <code>github</code>, <code>microsoft</code></td>
2531
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
2532
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tbody>
2533
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</table>
2534
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p><strong>Options:</strong></p>
2535
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<table>
2536
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<thead>
2537
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
2538
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<th>Option</th>
2539
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<th>Description</th>
2540
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
2541
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</thead>
2542
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tbody>
2543
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
2544
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>--logout</code></td>
2545
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>Clear the saved token for the specified service</td>
2546
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
2547
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tbody>
2548
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</table>
2549
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p><strong>Examples:</strong></p>
2550
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="highlight"><pre><span></span><code><a id="__codelineno-10-1" name="__codelineno-10-1" href="#__codelineno-10-1"></a><span class="c1"># Authenticate with Google (triggers OAuth flow or uses saved token)</span>
2551
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-10-2" name="__codelineno-10-2" href="#__codelineno-10-2"></a>planopticon<span class="w"> </span>auth<span class="w"> </span>google
2552
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-10-3" name="__codelineno-10-3" href="#__codelineno-10-3"></a>
2553
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-10-4" name="__codelineno-10-4" href="#__codelineno-10-4"></a><span class="c1"># Authenticate with Zoom</span>
2554
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-10-5" name="__codelineno-10-5" href="#__codelineno-10-5"></a>planopticon<span class="w"> </span>auth<span class="w"> </span>zoom
2555
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-10-6" name="__codelineno-10-6" href="#__codelineno-10-6"></a>
2556
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-10-7" name="__codelineno-10-7" href="#__codelineno-10-7"></a><span class="c1"># Clear saved GitHub token</span>
2557
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-10-8" name="__codelineno-10-8" href="#__codelineno-10-8"></a>planopticon<span class="w"> </span>auth<span class="w"> </span>github<span class="w"> </span>--logout
2558
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</code></pre></div>
2559
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p>On success, the command prints the authentication method used:</p>
2560
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="highlight"><pre><span></span><code><a id="__codelineno-11-1" name="__codelineno-11-1" href="#__codelineno-11-1"></a>Google authentication successful (oauth_pkce).
2561
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</code></pre></div>
2562
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p>or</p>
2563
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="highlight"><pre><span></span><code><a id="__codelineno-12-1" name="__codelineno-12-1" href="#__codelineno-12-1"></a>Github authentication successful (api_key).
2564
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</code></pre></div>
2565
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<h3 id="companion-repl-auth">Companion REPL <code>/auth</code><a class="headerlink" href="#companion-repl-auth" title="Permanent link">¶</a></h3>
2566
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p>Inside the interactive companion REPL (<code>planopticon -C</code> or <code>planopticon -I</code>), you can authenticate with services using the <code>/auth</code> command:</p>
2567
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="highlight"><pre><span></span><code><a id="__codelineno-13-1" name="__codelineno-13-1" href="#__codelineno-13-1"></a>/auth SERVICE
2568
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</code></pre></div>
2569
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p>Without arguments, <code>/auth</code> lists all available services:</p>
2570
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="highlight"><pre><span></span><code><a id="__codelineno-14-1" name="__codelineno-14-1" href="#__codelineno-14-1"></a>> /auth
2571
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-14-2" name="__codelineno-14-2" href="#__codelineno-14-2"></a>Usage: /auth SERVICE
2572
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-14-3" name="__codelineno-14-3" href="#__codelineno-14-3"></a>Available: dropbox, github, google, microsoft, notion, zoom
2573
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</code></pre></div>
2574
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p>With a service name, it runs the same auth chain as the CLI command:</p>
2575
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="highlight"><pre><span></span><code><a id="__codelineno-15-1" name="__codelineno-15-1" href="#__codelineno-15-1"></a>> /auth github
2576
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-15-2" name="__codelineno-15-2" href="#__codelineno-15-2"></a>Github authentication successful (api_key).
2577
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</code></pre></div>
2578
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<h2 id="environment-variables-reference">Environment variables reference<a class="headerlink" href="#environment-variables-reference" title="Permanent link">¶</a></h2>
2579
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p>The following table summarizes all environment variables used by the authentication system:</p>
2580
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<table>
2581
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<thead>
2582
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
2583
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<th>Service</th>
2584
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<th>OAuth Client ID</th>
2585
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<th>OAuth Client Secret</th>
2586
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<th>API Key / Token</th>
2587
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<th>Account ID</th>
2588
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
2589
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</thead>
2590
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tbody>
2591
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
2592
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>Google</td>
2593
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>GOOGLE_CLIENT_ID</code></td>
2594
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>GOOGLE_CLIENT_SECRET</code></td>
2595
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>GOOGLE_API_KEY</code></td>
2596
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>--</td>
2597
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
2598
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
2599
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>Dropbox</td>
2600
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>DROPBOX_APP_KEY</code></td>
2601
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>DROPBOX_APP_SECRET</code></td>
2602
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>DROPBOX_ACCESS_TOKEN</code></td>
2603
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>--</td>
2604
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
2605
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
2606
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>Zoom</td>
2607
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>ZOOM_CLIENT_ID</code></td>
2608
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>ZOOM_CLIENT_SECRET</code></td>
2609
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>--</td>
2610
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>ZOOM_ACCOUNT_ID</code></td>
2611
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
2612
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
2613
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>Notion</td>
2614
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>NOTION_CLIENT_ID</code></td>
2615
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>NOTION_CLIENT_SECRET</code></td>
2616
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>NOTION_API_KEY</code></td>
2617
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>--</td>
2618
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
2619
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
2620
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>GitHub</td>
2621
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>GITHUB_CLIENT_ID</code></td>
2622
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>GITHUB_CLIENT_SECRET</code></td>
2623
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>GITHUB_TOKEN</code></td>
2624
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>--</td>
2625
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
2626
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
2627
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>Microsoft</td>
2628
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>MICROSOFT_CLIENT_ID</code></td>
2629
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>MICROSOFT_CLIENT_SECRET</code></td>
2630
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>--</td>
2631
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>--</td>
2632
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
2633
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tbody>
2634
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</table>
2635
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<h2 id="python-api">Python API<a class="headerlink" href="#python-api" title="Permanent link">¶</a></h2>
2636
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<h3 id="authconfig">AuthConfig<a class="headerlink" href="#authconfig" title="Permanent link">¶</a></h3>
2637
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p>The <code>AuthConfig</code> dataclass defines the authentication configuration for a service. It holds OAuth endpoints, credential references, scopes, and token storage paths.</p>
2638
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="highlight"><pre><span></span><code><a id="__codelineno-16-1" name="__codelineno-16-1" href="#__codelineno-16-1"></a><span class="kn">from</span><span class="w"> </span><span class="nn">video_processor.auth</span><span class="w"> </span><span class="kn">import</span> <span class="n">AuthConfig</span>
2639
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-16-2" name="__codelineno-16-2" href="#__codelineno-16-2"></a>
2640
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-16-3" name="__codelineno-16-3" href="#__codelineno-16-3"></a><span class="n">config</span> <span class="o">=</span> <span class="n">AuthConfig</span><span class="p">(</span>
2641
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-16-4" name="__codelineno-16-4" href="#__codelineno-16-4"></a> <span class="n">service</span><span class="o">=</span><span class="s2">"myservice"</span><span class="p">,</span>
2642
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-16-5" name="__codelineno-16-5" href="#__codelineno-16-5"></a> <span class="n">oauth_authorize_url</span><span class="o">=</span><span class="s2">"https://example.com/oauth/authorize"</span><span class="p">,</span>
2643
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-16-6" name="__codelineno-16-6" href="#__codelineno-16-6"></a> <span class="n">oauth_token_url</span><span class="o">=</span><span class="s2">"https://example.com/oauth/token"</span><span class="p">,</span>
2644
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-16-7" name="__codelineno-16-7" href="#__codelineno-16-7"></a> <span class="n">client_id_env</span><span class="o">=</span><span class="s2">"MYSERVICE_CLIENT_ID"</span><span class="p">,</span>
2645
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-16-8" name="__codelineno-16-8" href="#__codelineno-16-8"></a> <span class="n">client_secret_env</span><span class="o">=</span><span class="s2">"MYSERVICE_CLIENT_SECRET"</span><span class="p">,</span>
2646
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-16-9" name="__codelineno-16-9" href="#__codelineno-16-9"></a> <span class="n">api_key_env</span><span class="o">=</span><span class="s2">"MYSERVICE_API_KEY"</span><span class="p">,</span>
2647
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-16-10" name="__codelineno-16-10" href="#__codelineno-16-10"></a> <span class="n">scopes</span><span class="o">=</span><span class="p">[</span><span class="s2">"read"</span><span class="p">,</span> <span class="s2">"write"</span><span class="p">],</span>
2648
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-16-11" name="__codelineno-16-11" href="#__codelineno-16-11"></a><span class="p">)</span>
2649
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</code></pre></div>
2650
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p><strong>Key fields:</strong></p>
2651
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<table>
2652
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<thead>
2653
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
2654
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<th>Field</th>
2655
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<th>Type</th>
2656
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<th>Description</th>
2657
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
2658
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</thead>
2659
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tbody>
2660
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
2661
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>service</code></td>
2662
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>str</code></td>
2663
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>Service identifier (used for token filename)</td>
2664
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
2665
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
2666
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>oauth_authorize_url</code></td>
2667
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>Optional[str]</code></td>
2668
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>OAuth authorization endpoint</td>
2669
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
2670
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
2671
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>oauth_token_url</code></td>
2672
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>Optional[str]</code></td>
2673
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>OAuth token endpoint</td>
2674
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
2675
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
2676
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>client_id</code> / <code>client_id_env</code></td>
2677
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>Optional[str]</code></td>
2678
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>Client ID value or env var name</td>
2679
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
2680
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
2681
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>client_secret</code> / <code>client_secret_env</code></td>
2682
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>Optional[str]</code></td>
2683
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>Client secret value or env var name</td>
2684
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
2685
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
2686
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>api_key_env</code></td>
2687
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>Optional[str]</code></td>
2688
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>Environment variable for API key fallback</td>
2689
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
2690
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
2691
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>scopes</code></td>
2692
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>List[str]</code></td>
2693
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>OAuth scopes to request</td>
2694
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
2695
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
2696
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>redirect_uri</code></td>
2697
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>str</code></td>
2698
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>Redirect URI (default: <code>urn:ietf:wg:oauth:2.0:oob</code>)</td>
2699
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
2700
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
2701
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>account_id</code> / <code>account_id_env</code></td>
2702
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>Optional[str]</code></td>
2703
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>Account ID for client credentials grant</td>
2704
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
2705
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
2706
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>token_path</code></td>
2707
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>Optional[Path]</code></td>
2708
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>Override token storage path</td>
2709
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
2710
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tbody>
2711
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</table>
2712
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p><strong>Resolved properties:</strong></p>
2713
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<ul>
2714
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li><code>resolved_client_id</code> -- Returns the client ID from the direct value or environment variable.</li>
2715
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li><code>resolved_client_secret</code> -- Returns the client secret from the direct value or environment variable.</li>
2716
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li><code>resolved_api_key</code> -- Returns the API key from the environment variable.</li>
2717
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li><code>resolved_account_id</code> -- Returns the account ID from the direct value or environment variable.</li>
2718
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li><code>resolved_token_path</code> -- Returns the token file path (default: <code>~/.planopticon/{service}_token.json</code>).</li>
2719
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li><code>supports_oauth</code> -- Returns <code>True</code> if both OAuth endpoints are configured.</li>
2720
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</ul>
2721
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<h3 id="oauthmanager">OAuthManager<a class="headerlink" href="#oauthmanager" title="Permanent link">¶</a></h3>
2722
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p>The <code>OAuthManager</code> class manages the full authentication lifecycle for a service.</p>
2723
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="highlight"><pre><span></span><code><a id="__codelineno-17-1" name="__codelineno-17-1" href="#__codelineno-17-1"></a><span class="kn">from</span><span class="w"> </span><span class="nn">video_processor.auth</span><span class="w"> </span><span class="kn">import</span> <span class="n">OAuthManager</span><span class="p">,</span> <span class="n">AuthConfig</span>
2724
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-17-2" name="__codelineno-17-2" href="#__codelineno-17-2"></a>
2725
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-17-3" name="__codelineno-17-3" href="#__codelineno-17-3"></a><span class="n">config</span> <span class="o">=</span> <span class="n">AuthConfig</span><span class="p">(</span>
2726
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-17-4" name="__codelineno-17-4" href="#__codelineno-17-4"></a> <span class="n">service</span><span class="o">=</span><span class="s2">"notion"</span><span class="p">,</span>
2727
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-17-5" name="__codelineno-17-5" href="#__codelineno-17-5"></a> <span class="n">oauth_authorize_url</span><span class="o">=</span><span class="s2">"https://api.notion.com/v1/oauth/authorize"</span><span class="p">,</span>
2728
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-17-6" name="__codelineno-17-6" href="#__codelineno-17-6"></a> <span class="n">oauth_token_url</span><span class="o">=</span><span class="s2">"https://api.notion.com/v1/oauth/token"</span><span class="p">,</span>
2729
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-17-7" name="__codelineno-17-7" href="#__codelineno-17-7"></a> <span class="n">client_id_env</span><span class="o">=</span><span class="s2">"NOTION_CLIENT_ID"</span><span class="p">,</span>
2730
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-17-8" name="__codelineno-17-8" href="#__codelineno-17-8"></a> <span class="n">client_secret_env</span><span class="o">=</span><span class="s2">"NOTION_CLIENT_SECRET"</span><span class="p">,</span>
2731
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-17-9" name="__codelineno-17-9" href="#__codelineno-17-9"></a> <span class="n">api_key_env</span><span class="o">=</span><span class="s2">"NOTION_API_KEY"</span><span class="p">,</span>
2732
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-17-10" name="__codelineno-17-10" href="#__codelineno-17-10"></a> <span class="n">scopes</span><span class="o">=</span><span class="p">[</span><span class="s2">"read_content"</span><span class="p">],</span>
2733
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-17-11" name="__codelineno-17-11" href="#__codelineno-17-11"></a><span class="p">)</span>
2734
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-17-12" name="__codelineno-17-12" href="#__codelineno-17-12"></a><span class="n">manager</span> <span class="o">=</span> <span class="n">OAuthManager</span><span class="p">(</span><span class="n">config</span><span class="p">)</span>
2735
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-17-13" name="__codelineno-17-13" href="#__codelineno-17-13"></a>
2736
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-17-14" name="__codelineno-17-14" href="#__codelineno-17-14"></a><span class="c1"># Full auth chain -- returns AuthResult</span>
2737
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-17-15" name="__codelineno-17-15" href="#__codelineno-17-15"></a><span class="n">result</span> <span class="o">=</span> <span class="n">manager</span><span class="o">.</span><span class="n">authenticate</span><span class="p">()</span>
2738
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-17-16" name="__codelineno-17-16" href="#__codelineno-17-16"></a><span class="k">if</span> <span class="n">result</span><span class="o">.</span><span class="n">success</span><span class="p">:</span>
2739
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-17-17" name="__codelineno-17-17" href="#__codelineno-17-17"></a> <span class="nb">print</span><span class="p">(</span><span class="sa">f</span><span class="s2">"Authenticated via </span><span class="si">{</span><span class="n">result</span><span class="o">.</span><span class="n">method</span><span class="si">}</span><span class="s2">"</span><span class="p">)</span>
2740
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-17-18" name="__codelineno-17-18" href="#__codelineno-17-18"></a> <span class="nb">print</span><span class="p">(</span><span class="sa">f</span><span class="s2">"Token: </span><span class="si">{</span><span class="n">result</span><span class="o">.</span><span class="n">access_token</span><span class="p">[:</span><span class="mi">20</span><span class="p">]</span><span class="si">}</span><span class="s2">..."</span><span class="p">)</span>
2741
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-17-19" name="__codelineno-17-19" href="#__codelineno-17-19"></a>
2742
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-17-20" name="__codelineno-17-20" href="#__codelineno-17-20"></a><span class="c1"># Convenience method -- returns just the token string or None</span>
2743
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-17-21" name="__codelineno-17-21" href="#__codelineno-17-21"></a><span class="n">token</span> <span class="o">=</span> <span class="n">manager</span><span class="o">.</span><span class="n">get_token</span><span class="p">()</span>
2744
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-17-22" name="__codelineno-17-22" href="#__codelineno-17-22"></a>
2745
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-17-23" name="__codelineno-17-23" href="#__codelineno-17-23"></a><span class="c1"># Clear saved token (logout)</span>
2746
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-17-24" name="__codelineno-17-24" href="#__codelineno-17-24"></a><span class="n">manager</span><span class="o">.</span><span class="n">clear_token</span><span class="p">()</span>
2747
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</code></pre></div>
2748
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p><strong>AuthResult fields:</strong></p>
2749
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<table>
2750
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<thead>
2751
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
2752
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<th>Field</th>
2753
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<th>Type</th>
2754
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<th>Description</th>
2755
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
2756
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</thead>
2757
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tbody>
2758
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
2759
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>success</code></td>
2760
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>bool</code></td>
2761
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>Whether authentication succeeded</td>
2762
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
2763
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
2764
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>access_token</code></td>
2765
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>Optional[str]</code></td>
2766
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>The access token (if successful)</td>
2767
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
2768
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
2769
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>method</code></td>
2770
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>Optional[str]</code></td>
2771
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>One of: <code>saved_token</code>, <code>oauth_pkce</code>, <code>client_credentials</code>, <code>api_key</code></td>
2772
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
2773
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
2774
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>expires_at</code></td>
2775
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>Optional[float]</code></td>
2776
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>Token expiry as a Unix timestamp</td>
2777
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
2778
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
2779
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>refresh_token</code></td>
2780
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>Optional[str]</code></td>
2781
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>Refresh token (if provided)</td>
2782
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
2783
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
2784
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>error</code></td>
2785
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>Optional[str]</code></td>
2786
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>Error message (if unsuccessful)</td>
2787
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
2788
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tbody>
2789
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</table>
2790
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<h3 id="pre-built-configs">Pre-built configs<a class="headerlink" href="#pre-built-configs" title="Permanent link">¶</a></h3>
2791
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p>PlanOpticon ships with pre-built <code>AuthConfig</code> instances for all six supported services. Access them via convenience functions:</p>
2792
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="highlight"><pre><span></span><code><a id="__codelineno-18-1" name="__codelineno-18-1" href="#__codelineno-18-1"></a><span class="kn">from</span><span class="w"> </span><span class="nn">video_processor.auth</span><span class="w"> </span><span class="kn">import</span> <span class="n">get_auth_config</span><span class="p">,</span> <span class="n">get_auth_manager</span>
2793
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-18-2" name="__codelineno-18-2" href="#__codelineno-18-2"></a>
2794
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-18-3" name="__codelineno-18-3" href="#__codelineno-18-3"></a><span class="c1"># Get just the config</span>
2795
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-18-4" name="__codelineno-18-4" href="#__codelineno-18-4"></a><span class="n">config</span> <span class="o">=</span> <span class="n">get_auth_config</span><span class="p">(</span><span class="s2">"zoom"</span><span class="p">)</span>
2796
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-18-5" name="__codelineno-18-5" href="#__codelineno-18-5"></a>
2797
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-18-6" name="__codelineno-18-6" href="#__codelineno-18-6"></a><span class="c1"># Get a ready-to-use manager</span>
2798
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-18-7" name="__codelineno-18-7" href="#__codelineno-18-7"></a><span class="n">manager</span> <span class="o">=</span> <span class="n">get_auth_manager</span><span class="p">(</span><span class="s2">"github"</span><span class="p">)</span>
2799
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-18-8" name="__codelineno-18-8" href="#__codelineno-18-8"></a><span class="n">token</span> <span class="o">=</span> <span class="n">manager</span><span class="o">.</span><span class="n">get_token</span><span class="p">()</span>
2800
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</code></pre></div>
2801
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<h3 id="building-custom-connectors">Building custom connectors<a class="headerlink" href="#building-custom-connectors" title="Permanent link">¶</a></h3>
2802
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p>To add authentication for a new service, create an <code>AuthConfig</code> with the service's OAuth endpoints and credential environment variables:</p>
2803
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="highlight"><pre><span></span><code><a id="__codelineno-19-1" name="__codelineno-19-1" href="#__codelineno-19-1"></a><span class="kn">from</span><span class="w"> </span><span class="nn">video_processor.auth</span><span class="w"> </span><span class="kn">import</span> <span class="n">AuthConfig</span><span class="p">,</span> <span class="n">OAuthManager</span>
2804
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-19-2" name="__codelineno-19-2" href="#__codelineno-19-2"></a>
2805
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-19-3" name="__codelineno-19-3" href="#__codelineno-19-3"></a><span class="n">config</span> <span class="o">=</span> <span class="n">AuthConfig</span><span class="p">(</span>
2806
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-19-4" name="__codelineno-19-4" href="#__codelineno-19-4"></a> <span class="n">service</span><span class="o">=</span><span class="s2">"slack"</span><span class="p">,</span>
2807
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-19-5" name="__codelineno-19-5" href="#__codelineno-19-5"></a> <span class="n">oauth_authorize_url</span><span class="o">=</span><span class="s2">"https://slack.com/oauth/v2/authorize"</span><span class="p">,</span>
2808
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-19-6" name="__codelineno-19-6" href="#__codelineno-19-6"></a> <span class="n">oauth_token_url</span><span class="o">=</span><span class="s2">"https://slack.com/api/oauth.v2.access"</span><span class="p">,</span>
2809
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-19-7" name="__codelineno-19-7" href="#__codelineno-19-7"></a> <span class="n">client_id_env</span><span class="o">=</span><span class="s2">"SLACK_CLIENT_ID"</span><span class="p">,</span>
2810
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-19-8" name="__codelineno-19-8" href="#__codelineno-19-8"></a> <span class="n">client_secret_env</span><span class="o">=</span><span class="s2">"SLACK_CLIENT_SECRET"</span><span class="p">,</span>
2811
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-19-9" name="__codelineno-19-9" href="#__codelineno-19-9"></a> <span class="n">api_key_env</span><span class="o">=</span><span class="s2">"SLACK_BOT_TOKEN"</span><span class="p">,</span>
2812
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-19-10" name="__codelineno-19-10" href="#__codelineno-19-10"></a> <span class="n">scopes</span><span class="o">=</span><span class="p">[</span><span class="s2">"channels:read"</span><span class="p">,</span> <span class="s2">"channels:history"</span><span class="p">],</span>
2813
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-19-11" name="__codelineno-19-11" href="#__codelineno-19-11"></a><span class="p">)</span>
2814
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-19-12" name="__codelineno-19-12" href="#__codelineno-19-12"></a>
2815
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-19-13" name="__codelineno-19-13" href="#__codelineno-19-13"></a><span class="n">manager</span> <span class="o">=</span> <span class="n">OAuthManager</span><span class="p">(</span><span class="n">config</span><span class="p">)</span>
2816
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-19-14" name="__codelineno-19-14" href="#__codelineno-19-14"></a><span class="n">result</span> <span class="o">=</span> <span class="n">manager</span><span class="o">.</span><span class="n">authenticate</span><span class="p">()</span>
2817
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</code></pre></div>
2818
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p>The token will be saved to <code>~/.planopticon/slack_token.json</code> and automatically refreshed on subsequent calls.</p>
2819
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<h2 id="troubleshooting">Troubleshooting<a class="headerlink" href="#troubleshooting" title="Permanent link">¶</a></h2>
2820
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<h3 id="no-auth-method-available-for-service">"No auth method available for {service}"<a class="headerlink" href="#no-auth-method-available-for-service" title="Permanent link">¶</a></h3>
2821
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p>This means none of the four auth methods succeeded. Check that:</p>
2822
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<ul>
2823
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li>The required environment variables are set and non-empty.</li>
2824
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li>For OAuth: both the client ID and client secret (or app key/secret) are set.</li>
2825
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li>For API key fallback: the correct environment variable is set.</li>
2826
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</ul>
2827
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p>The error message includes hints about which variables to set.</p>
2828
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<h3 id="token-refresh-fails">Token refresh fails<a class="headerlink" href="#token-refresh-fails" title="Permanent link">¶</a></h3>
2829
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p>If automatic token refresh fails, PlanOpticon falls back to the next auth method in the chain. Common causes:</p>
2830
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<ul>
2831
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li>The refresh token has been revoked (e.g., you changed your password or revoked app access).</li>
2832
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li>The OAuth app's client secret has changed.</li>
2833
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li>The service requires re-authorization after a certain period.</li>
2834
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</ul>
2835
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p>To resolve, clear the token and re-authenticate:</p>
2836
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="highlight"><pre><span></span><code><a id="__codelineno-20-1" name="__codelineno-20-1" href="#__codelineno-20-1"></a>planopticon<span class="w"> </span>auth<span class="w"> </span>google<span class="w"> </span>--logout
2837
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-20-2" name="__codelineno-20-2" href="#__codelineno-20-2"></a>planopticon<span class="w"> </span>auth<span class="w"> </span>google
2838
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</code></pre></div>
2839
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<h3 id="oauth-pkce-flow-does-not-open-a-browser">OAuth PKCE flow does not open a browser<a class="headerlink" href="#oauth-pkce-flow-does-not-open-a-browser" title="Permanent link">¶</a></h3>
2840
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p>If the browser does not open automatically, PlanOpticon prints the authorization URL to the terminal. Copy and paste it into your browser manually. After authorizing, paste the authorization code back into the terminal prompt.</p>
2841
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<h3 id="requests-not-installed">"requests not installed"<a class="headerlink" href="#requests-not-installed" title="Permanent link">¶</a></h3>
2842
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p>The OAuth flows require the <code>requests</code> library. It is included as a dependency of PlanOpticon, but if you installed PlanOpticon in a minimal environment, install it manually:</p>
2843
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="highlight"><pre><span></span><code><a id="__codelineno-21-1" name="__codelineno-21-1" href="#__codelineno-21-1"></a>pip<span class="w"> </span>install<span class="w"> </span>requests
2844
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</code></pre></div>
2845
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<h3 id="permission-denied-on-token-file">Permission denied on token file<a class="headerlink" href="#permission-denied-on-token-file" title="Permanent link">¶</a></h3>
2846
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p>PlanOpticon needs write access to <code>~/.planopticon/</code>. If the directory or token files have restrictive permissions, adjust them:</p>
2847
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="highlight"><pre><span></span><code><a id="__codelineno-22-1" name="__codelineno-22-1" href="#__codelineno-22-1"></a>chmod<span class="w"> </span><span class="m">700</span><span class="w"> </span>~/.planopticon
2848
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-22-2" name="__codelineno-22-2" href="#__codelineno-22-2"></a>chmod<span class="w"> </span><span class="m">600</span><span class="w"> </span>~/.planopticon/*_token.json
2849
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</code></pre></div>
2850
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<h3 id="microsoft-authentication-uses-the-common-tenant">Microsoft authentication uses the <code>/common</code> tenant<a class="headerlink" href="#microsoft-authentication-uses-the-common-tenant" title="Permanent link">¶</a></h3>
2851
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p>The default Microsoft OAuth configuration uses the <code>common</code> tenant endpoint (<code>login.microsoftonline.com/common/...</code>), which supports both personal Microsoft accounts and Azure AD organizational accounts. If your organization requires a specific tenant, you can create a custom <code>AuthConfig</code> with the tenant-specific URLs.</p>
2852
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2853
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2854
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2855
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2856
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2857
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2858
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2859
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2860
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2861
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2862
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2863
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2864
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2865
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</article>
2866
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
2867
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2868
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2869
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<script>var tabs=__md_get("__tabs");if(Array.isArray(tabs))e:for(var set of document.querySelectorAll(".tabbed-set")){var labels=set.querySelector(".tabbed-labels");for(var tab of tabs)for(var label of labels.getElementsByTagName("label"))if(label.innerText.trim()===tab){var input=document.getElementById(label.htmlFor);input.checked=!0;continue e}}</script>
2870
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2871
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script>
2872
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
2873
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2874
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<button type="button" class="md-top md-icon" data-md-component="top" hidden>
2875
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2876
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z"/></svg>
2877
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Back to top
2878
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</button>
2879
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2880
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</main>
2881
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2882
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<footer class="md-footer">
2883
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2884
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="md-footer-meta md-typeset">
2885
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="md-footer-meta__inner md-grid">
2886
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="md-copyright">
2887
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2888
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="md-copyright__highlight">
2889
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Copyright © 2026 CONFLICT LLC
2890
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
2891
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2892
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2893
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Made with
2894
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
2895
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Material for MkDocs
2896
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
2897
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2898
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
2899
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2900
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2901
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="md-social">
2902
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2903
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2904
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2905
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2906
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2907
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2908
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2909
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2910
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="https://github.com/ConflictHQ/PlanOpticon" target="_blank" rel="noopener" title="github.com" class="md-social__link">
2911
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg>
2912
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
2913
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2914
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
2915
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2916
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
2917
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
2918
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</footer>
2919
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2920
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
2921
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="md-dialog" data-md-component="dialog">
2922
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="md-dialog__inner md-typeset"></div>
2923
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
2924
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2925
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2926
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2927
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2928
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2929
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<script id="__config" type="application/json">{"annotate": null, "base": "../..", "features": ["navigation.instant", "navigation.tabs", "navigation.sections", "navigation.expand", "navigation.top", "search.suggest", "search.highlight", "content.code.copy", "content.tabs.link", "header.autohide"], "search": "../../assets/javascripts/workers/search.2c215733.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": null}</script>
2930
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2931
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2932
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<script src="../../assets/javascripts/bundle.79ae519e.min.js"></script>
2933
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2934
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2935
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</body>
2936
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</html>