@adonis-agora/agent 0.94.0 → 0.96.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +16 -0
- package/dist/assets/spa/assets/{index-DUq09Q_k.js → index-DBu17cDY.js} +1 -1
- package/dist/assets/spa/index.html +1 -1
- package/dist/providers/poppy_connections_provider.d.ts +1 -1
- package/dist/providers/poppy_connections_provider.js +1 -1
- package/dist/providers/poppy_provider.d.ts +1 -1
- package/dist/providers/poppy_provider.d.ts.map +1 -1
- package/dist/providers/poppy_provider.js +6 -6
- package/dist/providers/poppy_provider.js.map +1 -1
- package/dist/src/index.d.ts +1 -1
- package/dist/src/index.js +1 -1
- package/dist/src/mcp/auth.d.ts +3 -3
- package/dist/src/mcp/auth.d.ts.map +1 -1
- package/dist/src/mcp/auth.js +2 -29
- package/dist/src/mcp/auth.js.map +1 -1
- package/dist/src/mcp/discovery.d.ts +3 -3
- package/dist/src/mcp/discovery.d.ts.map +1 -1
- package/dist/src/mcp/discovery.js +2 -2
- package/dist/src/poppy/auth.d.ts +20 -16
- package/dist/src/poppy/auth.d.ts.map +1 -1
- package/dist/src/poppy/auth.js.map +1 -1
- package/dist/src/poppy/conversations.d.ts +25 -25
- package/dist/src/poppy/conversations.d.ts.map +1 -1
- package/dist/src/poppy/conversations.js +37 -37
- package/dist/src/poppy/conversations.js.map +1 -1
- package/dist/src/poppy/define_config.d.ts +7 -7
- package/dist/src/poppy/define_config.d.ts.map +1 -1
- package/dist/src/poppy/define_config.js +1 -1
- package/dist/src/poppy/endpoints.d.ts +2 -2
- package/dist/src/poppy/endpoints.js +1 -1
- package/dist/src/poppy/handler.d.ts +5 -5
- package/dist/src/poppy/handler.d.ts.map +1 -1
- package/dist/src/poppy/handler.js +23 -21
- package/dist/src/poppy/handler.js.map +1 -1
- package/dist/src/poppy/index.d.ts +2 -2
- package/dist/src/poppy/index.d.ts.map +1 -1
- package/dist/src/poppy/index.js +1 -1
- package/dist/src/poppy/index.js.map +1 -1
- package/dist/src/poppy/protocol.d.ts +30 -23
- package/dist/src/poppy/protocol.d.ts.map +1 -1
- package/dist/src/poppy/protocol.js +16 -17
- package/dist/src/poppy/protocol.js.map +1 -1
- package/dist/src/poppy/redis-store.d.ts +1 -1
- package/dist/src/poppy/redis-store.js +1 -1
- package/dist/src/poppy/store.d.ts +7 -7
- package/dist/src/poppy/store.js +1 -1
- package/dist/src/poppy-client/api.d.ts +5 -4
- package/dist/src/poppy-client/api.d.ts.map +1 -1
- package/dist/src/poppy-client/api.js +14 -9
- package/dist/src/poppy-client/api.js.map +1 -1
- package/dist/src/poppy-client/browser.d.ts +12 -18
- package/dist/src/poppy-client/browser.d.ts.map +1 -1
- package/dist/src/poppy-client/browser.js +33 -73
- package/dist/src/poppy-client/browser.js.map +1 -1
- package/dist/src/poppy-client/cli/main.d.ts.map +1 -1
- package/dist/src/poppy-client/cli/main.js +48 -56
- package/dist/src/poppy-client/cli/main.js.map +1 -1
- package/dist/src/poppy-client/company.d.ts +43 -28
- package/dist/src/poppy-client/company.d.ts.map +1 -1
- package/dist/src/poppy-client/company.js +216 -160
- package/dist/src/poppy-client/company.js.map +1 -1
- package/dist/src/poppy-client/conversations.d.ts +12 -13
- package/dist/src/poppy-client/conversations.d.ts.map +1 -1
- package/dist/src/poppy-client/conversations.js +24 -22
- package/dist/src/poppy-client/conversations.js.map +1 -1
- package/dist/src/poppy-client/discovery.d.ts +32 -10
- package/dist/src/poppy-client/discovery.d.ts.map +1 -1
- package/dist/src/poppy-client/discovery.js +134 -68
- package/dist/src/poppy-client/discovery.js.map +1 -1
- package/dist/src/poppy-client/dpop.d.ts +2 -1
- package/dist/src/poppy-client/dpop.d.ts.map +1 -1
- package/dist/src/poppy-client/dpop.js +2 -1
- package/dist/src/poppy-client/dpop.js.map +1 -1
- package/dist/src/poppy-client/errors.d.ts +5 -4
- package/dist/src/poppy-client/errors.d.ts.map +1 -1
- package/dist/src/poppy-client/errors.js +5 -4
- package/dist/src/poppy-client/errors.js.map +1 -1
- package/dist/src/poppy-client/http.d.ts +4 -2
- package/dist/src/poppy-client/http.d.ts.map +1 -1
- package/dist/src/poppy-client/http.js +9 -5
- package/dist/src/poppy-client/http.js.map +1 -1
- package/dist/src/poppy-client/identity.d.ts +15 -15
- package/dist/src/poppy-client/identity.d.ts.map +1 -1
- package/dist/src/poppy-client/identity.js +17 -33
- package/dist/src/poppy-client/identity.js.map +1 -1
- package/dist/src/poppy-client/index.d.ts +6 -3
- package/dist/src/poppy-client/index.d.ts.map +1 -1
- package/dist/src/poppy-client/index.js +6 -3
- package/dist/src/poppy-client/index.js.map +1 -1
- package/dist/src/poppy-client/llm.js +4 -4
- package/dist/src/poppy-client/llm.js.map +1 -1
- package/dist/src/poppy-client/mcp.d.ts +3 -4
- package/dist/src/poppy-client/mcp.d.ts.map +1 -1
- package/dist/src/poppy-client/mcp.js +26 -38
- package/dist/src/poppy-client/mcp.js.map +1 -1
- package/dist/src/poppy-client/safe_fetch.d.ts +30 -0
- package/dist/src/poppy-client/safe_fetch.d.ts.map +1 -0
- package/dist/src/poppy-client/safe_fetch.js +210 -0
- package/dist/src/poppy-client/safe_fetch.js.map +1 -0
- package/dist/src/poppy-client/session_jwt.d.ts +20 -0
- package/dist/src/poppy-client/session_jwt.d.ts.map +1 -0
- package/dist/src/poppy-client/session_jwt.js +37 -0
- package/dist/src/poppy-client/session_jwt.js.map +1 -0
- package/dist/src/poppy-client/signin.d.ts +34 -11
- package/dist/src/poppy-client/signin.d.ts.map +1 -1
- package/dist/src/poppy-client/signin.js +134 -80
- package/dist/src/poppy-client/signin.js.map +1 -1
- package/dist/src/poppy-client/store.d.ts +23 -11
- package/dist/src/poppy-client/store.d.ts.map +1 -1
- package/dist/src/poppy-client/store.js +1 -1
- package/dist/src/poppy-client/store.js.map +1 -1
- package/dist/src/poppy-client/task_coverage.d.ts +13 -0
- package/dist/src/poppy-client/task_coverage.d.ts.map +1 -0
- package/dist/src/poppy-client/task_coverage.js +66 -0
- package/dist/src/poppy-client/task_coverage.js.map +1 -0
- package/dist/src/poppy-client/token_client.d.ts +36 -33
- package/dist/src/poppy-client/token_client.d.ts.map +1 -1
- package/dist/src/poppy-client/token_client.js +47 -47
- package/dist/src/poppy-client/token_client.js.map +1 -1
- package/dist/src/poppy-client/types.d.ts +81 -42
- package/dist/src/poppy-client/types.d.ts.map +1 -1
- package/dist/src/poppy-client/types.js +1 -1
- package/dist/src/poppy-client/util.d.ts +12 -3
- package/dist/src/poppy-client/util.d.ts.map +1 -1
- package/dist/src/poppy-client/util.js +29 -9
- package/dist/src/poppy-client/util.js.map +1 -1
- package/dist/src/poppy-connections/config.d.ts +2 -2
- package/dist/src/poppy-connections/config.js +1 -1
- package/dist/src/poppy-connections/config.js.map +1 -1
- package/dist/src/poppy-connections/crypto.d.ts +2 -2
- package/dist/src/poppy-connections/crypto.js +2 -2
- package/dist/src/poppy-connections/index.d.ts +1 -1
- package/dist/src/poppy-connections/index.js +1 -1
- package/dist/src/poppy-connections/service.d.ts +11 -10
- package/dist/src/poppy-connections/service.d.ts.map +1 -1
- package/dist/src/poppy-connections/service.js +33 -21
- package/dist/src/poppy-connections/service.js.map +1 -1
- package/dist/src/poppy-connections/store.d.ts +2 -2
- package/dist/src/poppy-connections/tools.d.ts.map +1 -1
- package/dist/src/poppy-connections/tools.js +5 -4
- package/dist/src/poppy-connections/tools.js.map +1 -1
- package/dist/src/rag/index.d.ts +1 -0
- package/dist/src/rag/index.d.ts.map +1 -1
- package/dist/src/rag/index.js +1 -0
- package/dist/src/rag/index.js.map +1 -1
- package/dist/src/rag/pg-vector-store.d.ts +8 -0
- package/dist/src/rag/pg-vector-store.d.ts.map +1 -1
- package/dist/src/rag/pg-vector-store.js +14 -5
- package/dist/src/rag/pg-vector-store.js.map +1 -1
- package/dist/src/rag/with-rag.d.ts +75 -0
- package/dist/src/rag/with-rag.d.ts.map +1 -0
- package/dist/src/rag/with-rag.js +132 -0
- package/dist/src/rag/with-rag.js.map +1 -0
- package/package.json +9 -9
- package/skills/agent-governance/SKILL.md +3 -3
- package/skills/agent-tools/SKILL.md +3 -3
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Wire types from the Personal Agent Protocol (Poppy) Draft 0.
|
|
2
|
+
* Wire types from the Personal Agent Protocol (Poppy) Draft 0.3.
|
|
3
3
|
*
|
|
4
4
|
* Every object is "open": the spec requires both sides to ignore fields they don't recognize
|
|
5
5
|
* (3.3), so these interfaces only name what this client reads, and keep an index signature.
|
|
@@ -20,6 +20,14 @@ export interface PoppyDocument {
|
|
|
20
20
|
browser_session_endpoint?: string | undefined;
|
|
21
21
|
[k: string]: unknown;
|
|
22
22
|
};
|
|
23
|
+
feedback?: {
|
|
24
|
+
endpoint: string;
|
|
25
|
+
[k: string]: unknown;
|
|
26
|
+
} | undefined;
|
|
27
|
+
excluded_tasks?: {
|
|
28
|
+
url: string;
|
|
29
|
+
[k: string]: unknown;
|
|
30
|
+
} | undefined;
|
|
23
31
|
apis?: PoppyApiEntry[] | undefined;
|
|
24
32
|
extensions?: Record<string, {
|
|
25
33
|
version: string;
|
|
@@ -27,23 +35,25 @@ export interface PoppyDocument {
|
|
|
27
35
|
}> | undefined;
|
|
28
36
|
[k: string]: unknown;
|
|
29
37
|
}
|
|
38
|
+
/** Sign-in details (3.1). The sign-in types come from the issuer's `grant_types_supported`. */
|
|
30
39
|
export interface PoppyAuth {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
40
|
+
/** Required only when the protected resource metadata lists several authorization servers. */
|
|
41
|
+
issuer?: string | undefined;
|
|
42
|
+
scopes?: Record<string, string> | undefined;
|
|
43
|
+
scope_hints?: Record<string, ScopeHint> | undefined;
|
|
44
|
+
[k: string]: unknown;
|
|
45
|
+
}
|
|
46
|
+
/** What a scope allows (4.7). A `changes` value this client doesn't know counts as `irreversible`. */
|
|
47
|
+
export interface ScopeHint {
|
|
48
|
+
changes: string;
|
|
49
|
+
personal_data: boolean;
|
|
50
|
+
[k: string]: unknown;
|
|
51
|
+
}
|
|
52
|
+
/** The `mediated-sign-in` extension entry of `poppy.json`. */
|
|
53
|
+
export interface MediatedExtension {
|
|
54
|
+
version: string;
|
|
55
|
+
fields: MediatedField[];
|
|
56
|
+
scopes: string[];
|
|
47
57
|
[k: string]: unknown;
|
|
48
58
|
}
|
|
49
59
|
export interface MediatedField {
|
|
@@ -55,24 +65,34 @@ export interface MediatedField {
|
|
|
55
65
|
export interface PoppyProtocolEntry {
|
|
56
66
|
type: string;
|
|
57
67
|
endpoint: string;
|
|
58
|
-
|
|
68
|
+
/** The interface needs the account from the start (3.2); unknown values are ignored. */
|
|
69
|
+
access?: string | undefined;
|
|
59
70
|
[k: string]: unknown;
|
|
60
71
|
}
|
|
61
72
|
export interface PoppyApiEntry {
|
|
62
73
|
type: string;
|
|
63
74
|
url: string;
|
|
64
75
|
description?: string | undefined;
|
|
65
|
-
resource?: string | undefined;
|
|
66
76
|
[k: string]: unknown;
|
|
67
77
|
}
|
|
68
|
-
/** RFC
|
|
78
|
+
/** RFC 9728 metadata of a resource (3.2, 4.5). */
|
|
79
|
+
export interface ProtectedResourceMetadata {
|
|
80
|
+
resource: string;
|
|
81
|
+
authorization_servers?: string[] | undefined;
|
|
82
|
+
dpop_signing_alg_values_supported?: string[] | undefined;
|
|
83
|
+
[k: string]: unknown;
|
|
84
|
+
}
|
|
85
|
+
/** RFC 8414 metadata the Personal Agent uses (3.2). */
|
|
69
86
|
export interface AuthServerMetadata {
|
|
70
87
|
issuer: string;
|
|
71
88
|
token_endpoint: string;
|
|
72
89
|
revocation_endpoint: string;
|
|
90
|
+
grant_types_supported: string[];
|
|
91
|
+
protected_resources: string[];
|
|
73
92
|
authorization_endpoint?: string | undefined;
|
|
74
93
|
device_authorization_endpoint?: string | undefined;
|
|
75
|
-
|
|
94
|
+
scopes_supported?: string[] | undefined;
|
|
95
|
+
dpop_signing_alg_values_supported?: string[] | undefined;
|
|
76
96
|
[k: string]: unknown;
|
|
77
97
|
}
|
|
78
98
|
/** Client ID Metadata Document published by the Personal Agent (4.1). */
|
|
@@ -88,19 +108,18 @@ export interface ClientMetadata {
|
|
|
88
108
|
}> | undefined;
|
|
89
109
|
[k: string]: unknown;
|
|
90
110
|
}
|
|
91
|
-
/** Token endpoint success response (4.
|
|
111
|
+
/** Token endpoint success response (4.7, RFC 6749 section 5.1). */
|
|
92
112
|
export interface TokenResponse {
|
|
93
113
|
access_token: string;
|
|
94
114
|
token_type: string;
|
|
95
|
-
expires_in
|
|
115
|
+
expires_in?: number | undefined;
|
|
116
|
+
/** Left out only when the Company granted exactly the scopes requested. */
|
|
96
117
|
scope?: string | undefined;
|
|
97
|
-
|
|
98
|
-
signed_in: boolean;
|
|
118
|
+
/** Sign-in always returns one; refresh may leave it out. */
|
|
99
119
|
refresh_token?: string | undefined;
|
|
100
|
-
refresh_token_expires_in?: number | undefined;
|
|
101
120
|
[k: string]: unknown;
|
|
102
121
|
}
|
|
103
|
-
/** RFC 8628 device authorization response (4.
|
|
122
|
+
/** RFC 8628 device authorization response (4.3). */
|
|
104
123
|
export interface DeviceAuthorizationResponse {
|
|
105
124
|
device_code: string;
|
|
106
125
|
user_code: string;
|
|
@@ -110,26 +129,26 @@ export interface DeviceAuthorizationResponse {
|
|
|
110
129
|
interval?: number | undefined;
|
|
111
130
|
[k: string]: unknown;
|
|
112
131
|
}
|
|
113
|
-
export type MediatedStatus = 'complete' | 'code_required' | 'failed' | 'expired';
|
|
114
|
-
export interface MediatedResponse extends Partial<TokenResponse> {
|
|
115
|
-
status: MediatedStatus;
|
|
116
|
-
sign_in_id?: string | undefined;
|
|
117
|
-
code?: {
|
|
118
|
-
sent_to?: string | undefined;
|
|
119
|
-
[k: string]: unknown;
|
|
120
|
-
};
|
|
121
|
-
expires_at?: string | undefined;
|
|
122
|
-
}
|
|
123
132
|
export interface MessageContext {
|
|
124
133
|
locale?: string | undefined;
|
|
125
134
|
time_zone?: string | undefined;
|
|
126
135
|
user_available?: boolean | undefined;
|
|
127
136
|
[k: string]: unknown;
|
|
128
137
|
}
|
|
129
|
-
/**
|
|
138
|
+
/** Who wrote a message (8.4). Only Company messages have `id`, `name`, `image`. */
|
|
139
|
+
export interface MessageAuthor {
|
|
140
|
+
type: 'agent' | 'human';
|
|
141
|
+
id?: string | undefined;
|
|
142
|
+
name?: string | undefined;
|
|
143
|
+
image?: string | undefined;
|
|
144
|
+
[k: string]: unknown;
|
|
145
|
+
}
|
|
146
|
+
/** A message the Personal Agent sends (8.4). */
|
|
130
147
|
export interface OutgoingMessage {
|
|
131
148
|
id: string;
|
|
132
|
-
|
|
149
|
+
author: {
|
|
150
|
+
type: 'agent' | 'human';
|
|
151
|
+
};
|
|
133
152
|
text?: string | undefined;
|
|
134
153
|
data?: Record<string, unknown> | undefined;
|
|
135
154
|
context?: MessageContext | undefined;
|
|
@@ -138,13 +157,14 @@ export interface OutgoingMessage {
|
|
|
138
157
|
export interface EventMessage {
|
|
139
158
|
id: string;
|
|
140
159
|
role?: 'user' | 'company' | undefined;
|
|
141
|
-
|
|
160
|
+
author: MessageAuthor;
|
|
142
161
|
text?: string | undefined;
|
|
143
162
|
data?: Record<string, unknown> | undefined;
|
|
144
163
|
[k: string]: unknown;
|
|
145
164
|
}
|
|
146
|
-
|
|
147
|
-
export type
|
|
165
|
+
/** Later versions may add values: an unknown status reads as `working`, an unknown responder as `human` (8.7). */
|
|
166
|
+
export type ConversationStatus = 'working' | 'idle' | 'queued' | 'closed' | (string & {});
|
|
167
|
+
export type Responder = 'agent' | 'human' | (string & {});
|
|
148
168
|
export interface ConversationEvent {
|
|
149
169
|
id: string;
|
|
150
170
|
type: string;
|
|
@@ -177,6 +197,25 @@ export interface EventsPage extends ConversationState {
|
|
|
177
197
|
has_more: boolean;
|
|
178
198
|
[k: string]: unknown;
|
|
179
199
|
}
|
|
200
|
+
/** Another way to do a task (9.2). */
|
|
201
|
+
export interface TaskAlternative {
|
|
202
|
+
instructions?: string | undefined;
|
|
203
|
+
references?: TaskReference[] | undefined;
|
|
204
|
+
[k: string]: unknown;
|
|
205
|
+
}
|
|
206
|
+
export interface TaskReference {
|
|
207
|
+
type: string;
|
|
208
|
+
url?: string | undefined;
|
|
209
|
+
operation_id?: string | undefined;
|
|
210
|
+
tool?: string | undefined;
|
|
211
|
+
[k: string]: unknown;
|
|
212
|
+
}
|
|
213
|
+
/** The public document of tasks the Company chose not to offer (9.1). */
|
|
214
|
+
export interface ExcludedTask {
|
|
215
|
+
task: string;
|
|
216
|
+
alternative?: TaskAlternative | undefined;
|
|
217
|
+
[k: string]: unknown;
|
|
218
|
+
}
|
|
180
219
|
export interface TextDelta {
|
|
181
220
|
message_id: string;
|
|
182
221
|
text: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/poppy-client/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,WAAW,aAAa;IAC5B,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;IACrE,IAAI,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IAC7B,KAAK,CAAC,EAAE;QAAE,SAAS,EAAE,kBAAkB,EAAE,CAAC;QAAC,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,GAAG,SAAS,CAAC;IAC9E,GAAG,CAAC,EAAE;QAAE,wBAAwB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAAC,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;IAC9E,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/poppy-client/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Wire types from the Personal Agent Protocol (Poppy) Draft 0.
|
|
2
|
+
* Wire types from the Personal Agent Protocol (Poppy) Draft 0.3.
|
|
3
3
|
*
|
|
4
4
|
* Every object is "open": the spec requires both sides to ignore fields they don't recognize
|
|
5
5
|
* (3.3), so these interfaces only name what this client reads, and keep an index signature.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** A random URL-safe ID. 16 bytes = 128 random bits,
|
|
1
|
+
/** A random URL-safe ID. 16 bytes = 128 random bits, what the guides suggest for a `jti`. */
|
|
2
2
|
export declare function randomId(prefix?: string, bytes?: number): string;
|
|
3
3
|
export declare function sha256b64url(input: string): string;
|
|
4
4
|
export declare function nowSeconds(): number;
|
|
@@ -6,6 +6,11 @@ export declare function sleep(ms: number, signal?: AbortSignal): Promise<void>;
|
|
|
6
6
|
export type FetchLike = (input: string | URL | Request, init?: RequestInit) => Promise<Response>;
|
|
7
7
|
/** Hosts we treat as "local development" for messages and defaults. */
|
|
8
8
|
export declare function isLoopbackHost(hostname: string): boolean;
|
|
9
|
+
/**
|
|
10
|
+
* Whether a URL's host is visibly internal: `localhost` or an address literal section 3 forbids. A
|
|
11
|
+
* name that resolves to one is refused where the connection is made (`safe_fetch.ts`).
|
|
12
|
+
*/
|
|
13
|
+
export declare function isInternalHost(hostname: string): boolean;
|
|
9
14
|
export interface SecurityOptions {
|
|
10
15
|
/**
|
|
11
16
|
* NON-SPEC. Lets `http:` URLs through every place the spec demands HTTPS (client_id,
|
|
@@ -18,7 +23,7 @@ export interface SecurityOptions {
|
|
|
18
23
|
* `insecureDev`, plain `http:` is tolerated too.
|
|
19
24
|
*/
|
|
20
25
|
export declare function requireSecureUrl(value: unknown, what: string, sec: SecurityOptions): URL;
|
|
21
|
-
/**
|
|
26
|
+
/** Domains are compared ignoring case, with no other normalization (3.1). */
|
|
22
27
|
export declare function normalizeDomain(domain: string): string;
|
|
23
28
|
/** `Retry-After` as seconds: either delta-seconds or an HTTP-date. */
|
|
24
29
|
export declare function parseRetryAfter(value: string | null): number | undefined;
|
|
@@ -31,11 +36,15 @@ export interface WwwAuthChallenge {
|
|
|
31
36
|
* `Bearer error="..."` (RFC 6750 / RFC 9449). Handles several challenges in one header.
|
|
32
37
|
*/
|
|
33
38
|
export declare function parseWwwAuthenticate(header: string | null): WwwAuthChallenge[];
|
|
34
|
-
/**
|
|
39
|
+
/**
|
|
40
|
+
* The first `error` found in any challenge of a `WWW-Authenticate` header, or, for a challenge
|
|
41
|
+
* without an error code (section 7), the `scope` it names.
|
|
42
|
+
*/
|
|
35
43
|
export declare function wwwAuthError(header: string | null): {
|
|
36
44
|
error?: string | undefined;
|
|
37
45
|
scope?: string | undefined;
|
|
38
46
|
description?: string | undefined;
|
|
47
|
+
resourceMetadata?: string | undefined;
|
|
39
48
|
};
|
|
40
49
|
/** A space-separated scope string as a set (OAuth scope syntax, RFC 6749 3.3). */
|
|
41
50
|
export declare function scopeSet(scope: string | undefined): Set<string>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../src/poppy-client/util.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../src/poppy-client/util.ts"],"names":[],"mappings":"AAIA,6FAA6F;AAC7F,wBAAgB,QAAQ,CAAC,MAAM,SAAK,EAAE,KAAK,SAAK,GAAG,MAAM,CAExD;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAElD;AAED,wBAAgB,UAAU,IAAI,MAAM,CAEnC;AAED,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAarE;AAED,MAAM,MAAM,SAAS,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,GAAG,OAAO,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;AAEjG,uEAAuE;AACvE,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAKxD;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAGxD;AAED,MAAM,WAAW,eAAe;IAC9B;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACnC;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,eAAe,GAAG,GAAG,CAqBxF;AAED,6EAA6E;AAC7E,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED,sEAAsE;AACtE,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,SAAS,CAOxE;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAChC;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,gBAAgB,EAAE,CA2B9E;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG;IACnD,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACvC,CAgBA;AAED,kFAAkF;AAClF,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,CAE/D"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { createHash, randomBytes } from 'node:crypto';
|
|
2
|
-
|
|
2
|
+
import { isIP } from 'node:net';
|
|
3
|
+
import { isBlockedAddress } from './safe_fetch.js';
|
|
4
|
+
/** A random URL-safe ID. 16 bytes = 128 random bits, what the guides suggest for a `jti`. */
|
|
3
5
|
export function randomId(prefix = '', bytes = 16) {
|
|
4
6
|
return prefix + randomBytes(bytes).toString('base64url');
|
|
5
7
|
}
|
|
@@ -29,6 +31,14 @@ export function isLoopbackHost(hostname) {
|
|
|
29
31
|
const h = hostname.replace(/^\[|\]$/g, '').toLowerCase();
|
|
30
32
|
return (h === 'localhost' || h.endsWith('.localhost') || h === '::1' || /^127(\.\d{1,3}){3}$/.test(h));
|
|
31
33
|
}
|
|
34
|
+
/**
|
|
35
|
+
* Whether a URL's host is visibly internal: `localhost` or an address literal section 3 forbids. A
|
|
36
|
+
* name that resolves to one is refused where the connection is made (`safe_fetch.ts`).
|
|
37
|
+
*/
|
|
38
|
+
export function isInternalHost(hostname) {
|
|
39
|
+
const h = hostname.replace(/^\[|\]$/g, '').toLowerCase();
|
|
40
|
+
return isLoopbackHost(h) || (isIP(h) !== 0 && isBlockedAddress(h));
|
|
41
|
+
}
|
|
32
42
|
/**
|
|
33
43
|
* Parses `value` as an absolute URL and enforces the spec's HTTPS requirement. With
|
|
34
44
|
* `insecureDev`, plain `http:` is tolerated too.
|
|
@@ -44,15 +54,17 @@ export function requireSecureUrl(value, what, sec) {
|
|
|
44
54
|
catch {
|
|
45
55
|
throw new TypeError(`${what} is not a valid URL: ${value}`);
|
|
46
56
|
}
|
|
47
|
-
if (url.protocol === 'https:')
|
|
48
|
-
|
|
49
|
-
|
|
57
|
+
if (url.protocol === 'https:' || (url.protocol === 'http:' && sec.insecureDev)) {
|
|
58
|
+
if (!sec.insecureDev && isInternalHost(url.hostname)) {
|
|
59
|
+
throw new TypeError(`${what} points to an internal address (${url.hostname})`);
|
|
60
|
+
}
|
|
50
61
|
return url;
|
|
62
|
+
}
|
|
51
63
|
throw new TypeError(`${what} must be an https:// URL (got ${url.protocol}//${url.host})${url.protocol === 'http:' ? '. Pass --insecure-dev to allow http:// for local testing.' : ''}`);
|
|
52
64
|
}
|
|
53
|
-
/**
|
|
65
|
+
/** Domains are compared ignoring case, with no other normalization (3.1). */
|
|
54
66
|
export function normalizeDomain(domain) {
|
|
55
|
-
return domain.toLowerCase()
|
|
67
|
+
return domain.toLowerCase();
|
|
56
68
|
}
|
|
57
69
|
/** `Retry-After` as seconds: either delta-seconds or an HTTP-date. */
|
|
58
70
|
export function parseRetryAfter(value) {
|
|
@@ -102,18 +114,26 @@ export function parseWwwAuthenticate(header) {
|
|
|
102
114
|
}
|
|
103
115
|
return out;
|
|
104
116
|
}
|
|
105
|
-
/**
|
|
117
|
+
/**
|
|
118
|
+
* The first `error` found in any challenge of a `WWW-Authenticate` header, or, for a challenge
|
|
119
|
+
* without an error code (section 7), the `scope` it names.
|
|
120
|
+
*/
|
|
106
121
|
export function wwwAuthError(header) {
|
|
107
|
-
|
|
122
|
+
const challenges = parseWwwAuthenticate(header);
|
|
123
|
+
for (const c of challenges) {
|
|
108
124
|
if (c.params.error) {
|
|
109
125
|
return {
|
|
110
126
|
error: c.params.error,
|
|
111
127
|
scope: c.params.scope,
|
|
112
128
|
description: c.params.error_description,
|
|
129
|
+
...(c.params.resource_metadata ? { resourceMetadata: c.params.resource_metadata } : {}),
|
|
113
130
|
};
|
|
114
131
|
}
|
|
115
132
|
}
|
|
116
|
-
|
|
133
|
+
const first = challenges[0];
|
|
134
|
+
return first
|
|
135
|
+
? { scope: first.params.scope, resourceMetadata: first.params.resource_metadata }
|
|
136
|
+
: {};
|
|
117
137
|
}
|
|
118
138
|
/** A space-separated scope string as a set (OAuth scope syntax, RFC 6749 3.3). */
|
|
119
139
|
export function scopeSet(scope) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../../src/poppy-client/util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../../src/poppy-client/util.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,7 @@ export interface PoppyCompanyPolicy {
|
|
|
8
8
|
scopes?: string[];
|
|
9
9
|
/**
|
|
10
10
|
* Scopes that only READ — what `ask` narrows its token to, so a plain question can never make the
|
|
11
|
-
* Company act (an action takes `request`, which the person confirms). Default `
|
|
11
|
+
* Company act (an action takes `request`, which the person confirms). Default: the scopes the Company hints change nothing (`auth.scope_hints`, `changes: none`).
|
|
12
12
|
*/
|
|
13
13
|
readScopes?: string[];
|
|
14
14
|
}
|
|
@@ -52,7 +52,7 @@ export declare const DEFAULT_POPPY_CONNECTIONS_TEXTS: PoppyConnectionsTexts;
|
|
|
52
52
|
/**
|
|
53
53
|
* `config/poppy_connections.ts` — this app's agent acting on OTHER Poppy Companies for its users.
|
|
54
54
|
*
|
|
55
|
-
* @experimental Tracks Personal Agent Protocol Draft 0.
|
|
55
|
+
* @experimental Tracks Personal Agent Protocol Draft 0.3 (https://personalagentprotocol.org/docs/spec):
|
|
56
56
|
* this API WILL change as the spec evolves — possibly in breaking ways, outside semver majors.
|
|
57
57
|
*/
|
|
58
58
|
export interface PoppyConnectionsConfig {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/poppy-connections/config.ts"],"names":[],"mappings":"AAqDA,wEAAwE;AACxE,MAAM,CAAC,MAAM,+BAA+B,GAA0B;IACpE,SAAS,EAAE,sBAAsB;IACjC,YAAY,EAAE,gCAAgC;IAC9C,WAAW,EAAE,mFAAmF;IAChG,MAAM,EAAE,sBAAsB;IAC9B,MAAM,EAAE,6BAA6B;IACrC,UAAU,EAAE,6DAA6D;IACzE,WAAW,EAAE,eAAe;IAC5B,aAAa,EAAE,iBAAiB;IAChC,cAAc,EAAE,UAAU;IAC1B,SAAS,EAAE,gBAAgB;IAC3B,SAAS,EAAE,uBAAuB;IAClC,UAAU,EAAE,SAAS;IACrB,cAAc,EAAE,wBAAwB;IACxC,aAAa,EAAE,sCAAsC;IACrD,WAAW,EAAE,mBAAmB;IAChC,UAAU,EAAE,4EAA4E;IACxF,YAAY,EAAE,mBAAmB;IACjC,WAAW,EAAE,mCAAmC;IAChD,WAAW,EAAE,6CAA6C;IAC1D,mBAAmB,EAAE,gCAAgC;IACrD,kBAAkB,EAAE,aAAa;IACjC,oBAAoB,EAAE,iDAAiD;IACvE,oBAAoB,EAAE,sEAAsE;IAC5F,iBAAiB,EAAE,mBAAmB;IACtC,mBAAmB,EAAE,sBAAsB;IAC3C,sBAAsB,EAAE,mCAAmC;IAC3D,WAAW,EAAE,SAAS;CACvB,CAAC;AAmFF,MAAM,UAAU,4BAA4B,CAC1C,MAA8B;IAE9B,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,gEAAgE;AAChE,MAAM,UAAU,eAAe,CAAC,KAAa;IAC3C,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC/D,IAAI,CAAC;QACH,IAAI,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC;YAAE,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC;IACjE,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;IACV,OAAO,OAAO,CAAC
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/poppy-connections/config.ts"],"names":[],"mappings":"AAqDA,wEAAwE;AACxE,MAAM,CAAC,MAAM,+BAA+B,GAA0B;IACpE,SAAS,EAAE,sBAAsB;IACjC,YAAY,EAAE,gCAAgC;IAC9C,WAAW,EAAE,mFAAmF;IAChG,MAAM,EAAE,sBAAsB;IAC9B,MAAM,EAAE,6BAA6B;IACrC,UAAU,EAAE,6DAA6D;IACzE,WAAW,EAAE,eAAe;IAC5B,aAAa,EAAE,iBAAiB;IAChC,cAAc,EAAE,UAAU;IAC1B,SAAS,EAAE,gBAAgB;IAC3B,SAAS,EAAE,uBAAuB;IAClC,UAAU,EAAE,SAAS;IACrB,cAAc,EAAE,wBAAwB;IACxC,aAAa,EAAE,sCAAsC;IACrD,WAAW,EAAE,mBAAmB;IAChC,UAAU,EAAE,4EAA4E;IACxF,YAAY,EAAE,mBAAmB;IACjC,WAAW,EAAE,mCAAmC;IAChD,WAAW,EAAE,6CAA6C;IAC1D,mBAAmB,EAAE,gCAAgC;IACrD,kBAAkB,EAAE,aAAa;IACjC,oBAAoB,EAAE,iDAAiD;IACvE,oBAAoB,EAAE,sEAAsE;IAC5F,iBAAiB,EAAE,mBAAmB;IACtC,mBAAmB,EAAE,sBAAsB;IAC3C,sBAAsB,EAAE,mCAAmC;IAC3D,WAAW,EAAE,SAAS;CACvB,CAAC;AAmFF,MAAM,UAAU,4BAA4B,CAC1C,MAA8B;IAE9B,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,gEAAgE;AAChE,MAAM,UAAU,eAAe,CAAC,KAAa;IAC3C,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC/D,IAAI,CAAC;QACH,IAAI,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC;YAAE,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC;IACjE,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;IACV,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Seals what a connection keeps at rest — the
|
|
3
|
-
* private
|
|
2
|
+
* Seals what a connection keeps at rest — the refresh token, the DPoP and delegated
|
|
3
|
+
* private keys and the access tokens — with AES-256-GCM under a key derived from the app's secret
|
|
4
4
|
* (its `APP_KEY`). A database dump alone does not hand out anybody's access to another company.
|
|
5
5
|
*/
|
|
6
6
|
export declare class Sealer {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { createCipheriv, createDecipheriv, createHash, randomBytes } from 'node:crypto';
|
|
2
2
|
/**
|
|
3
|
-
* Seals what a connection keeps at rest — the
|
|
4
|
-
* private
|
|
3
|
+
* Seals what a connection keeps at rest — the refresh token, the DPoP and delegated
|
|
4
|
+
* private keys and the access tokens — with AES-256-GCM under a key derived from the app's secret
|
|
5
5
|
* (its `APP_KEY`). A database dump alone does not hand out anybody's access to another company.
|
|
6
6
|
*/
|
|
7
7
|
export class Sealer {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @experimental Personal Agent Protocol ("Poppy") Draft 0.
|
|
2
|
+
* @experimental Personal Agent Protocol ("Poppy") Draft 0.3 — this app's agent acting on OTHER
|
|
3
3
|
* Poppy Companies for its users. Tracks the spec; WILL change, possibly in breaking ways.
|
|
4
4
|
*/
|
|
5
5
|
export { DEFAULT_POPPY_CONNECTIONS_TEXTS, definePoppyConnectionsConfig, normalizeDomain, type PoppyAgentKey, type PoppyCompanyPolicy, type PoppyConnectionsConfig, type PoppyConnectionsTexts, type TwoStepConvention, } from './config.js';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @experimental Personal Agent Protocol ("Poppy") Draft 0.
|
|
2
|
+
* @experimental Personal Agent Protocol ("Poppy") Draft 0.3 — this app's agent acting on OTHER
|
|
3
3
|
* Poppy Companies for its users. Tracks the spec; WILL change, possibly in breaking ways.
|
|
4
4
|
*/
|
|
5
5
|
export { DEFAULT_POPPY_CONNECTIONS_TEXTS, definePoppyConnectionsConfig, normalizeDomain, } from './config.js';
|
|
@@ -41,10 +41,11 @@ export interface PoppyCompanyReply {
|
|
|
41
41
|
text: string;
|
|
42
42
|
data?: Record<string, unknown>;
|
|
43
43
|
}[];
|
|
44
|
-
/** The Company
|
|
44
|
+
/** The Company needs sign-in or more scopes (§8.11). */
|
|
45
45
|
authorization?: {
|
|
46
46
|
error: string;
|
|
47
47
|
scope?: string;
|
|
48
|
+
connected?: boolean;
|
|
48
49
|
};
|
|
49
50
|
status: string;
|
|
50
51
|
}
|
|
@@ -61,7 +62,7 @@ export interface PoppyConnectionsOptions {
|
|
|
61
62
|
* This app's agent acting on other Poppy Companies for its users: the agent identity, the
|
|
62
63
|
* connections (sealed at rest), the connect flows and the calls the tools make.
|
|
63
64
|
*
|
|
64
|
-
* @experimental Tracks Personal Agent Protocol Draft 0.
|
|
65
|
+
* @experimental Tracks Personal Agent Protocol Draft 0.3 — will change as the spec evolves.
|
|
65
66
|
*/
|
|
66
67
|
export declare class PoppyConnections {
|
|
67
68
|
#private;
|
|
@@ -101,7 +102,7 @@ export declare class PoppyConnections {
|
|
|
101
102
|
list(owner: string): Promise<PoppyConnectionView[]>;
|
|
102
103
|
/** The connection at `domain`, without contacting it. */
|
|
103
104
|
connection(owner: string, domain: string): Promise<PoppyConnectionView | null>;
|
|
104
|
-
/** Sign out at the Company (revokes the
|
|
105
|
+
/** Sign out at the Company (revokes the refresh token, §4.9) and mark the connection revoked. */
|
|
105
106
|
disconnect(owner: string, domain: string): Promise<boolean>;
|
|
106
107
|
/**
|
|
107
108
|
* Start a connect: the link the person opens (web or WhatsApp — it is a URL), bound to the parked
|
|
@@ -131,7 +132,7 @@ export declare class PoppyConnections {
|
|
|
131
132
|
connectIdFor(key: string): string;
|
|
132
133
|
connectUrl(id: string): string;
|
|
133
134
|
page(id: string): Promise<PoppyConnectPageData>;
|
|
134
|
-
/** Direct Sign-In (§4.
|
|
135
|
+
/** Direct Sign-In (§4.2): the authorization URL to send the browser to. */
|
|
135
136
|
directUrl(id: string): Promise<string | null>;
|
|
136
137
|
/** The Direct Sign-In redirect back to `redirect_uri`. */
|
|
137
138
|
directCallback(params: URLSearchParams): Promise<{
|
|
@@ -139,18 +140,18 @@ export declare class PoppyConnections {
|
|
|
139
140
|
organization: string | null;
|
|
140
141
|
}>;
|
|
141
142
|
/**
|
|
142
|
-
* Mediated Sign-In (
|
|
143
|
+
* Mediated Sign-In (the extension) from this app's own page: the credentials go from the person's browser
|
|
143
144
|
* to this server and straight to the Company — never stored, logged, or shown to the model.
|
|
144
145
|
*/
|
|
145
146
|
mediated(id: string, credentials: Record<string, string>): Promise<{
|
|
146
|
-
status: 'connected' | 'code_required' | 'failed' | 'expired';
|
|
147
|
+
status: 'connected' | 'code_required' | 'failed' | 'expired' | 'denied';
|
|
147
148
|
sentTo?: string;
|
|
148
149
|
}>;
|
|
149
150
|
mediatedCode(id: string, code: string): Promise<{
|
|
150
|
-
status: 'connected' | 'code_required' | 'failed' | 'expired';
|
|
151
|
+
status: 'connected' | 'code_required' | 'failed' | 'expired' | 'denied';
|
|
151
152
|
sentTo?: string;
|
|
152
153
|
}>;
|
|
153
|
-
/** Device Sign-In (§4.
|
|
154
|
+
/** Device Sign-In (§4.3): the code and the Company page where the person approves it. */
|
|
154
155
|
deviceStart(id: string): Promise<{
|
|
155
156
|
userCode: string;
|
|
156
157
|
verificationUri: string;
|
|
@@ -165,8 +166,8 @@ export declare class PoppyConnections {
|
|
|
165
166
|
/** The Company's MCP server, with a Bearer token for it (§6). Closed by the caller. */
|
|
166
167
|
mcp(owner: string, domain: string): Promise<McpConnection>;
|
|
167
168
|
/**
|
|
168
|
-
* One exchange with the Company's agent (§
|
|
169
|
-
* (`policy.readScopes`, default
|
|
169
|
+
* One exchange with the Company's agent (§8): `act: false` narrows the token to the read scopes
|
|
170
|
+
* (`policy.readScopes`, default the scopes the Company hints change nothing), so a question can never make the Company act;
|
|
170
171
|
* `act: true` uses the whole grant — the tools gate that behind the person's confirmation.
|
|
171
172
|
*/
|
|
172
173
|
ask(owner: string, domain: string, text: string, options: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../src/poppy-connections/service.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,aAAa,EACb,aAAa,EAEb,SAAS,EACV,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,aAAa,
|
|
1
|
+
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../src/poppy-connections/service.ts"],"names":[],"mappings":"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"}
|