@marcoappio/marco-config 2.0.576 → 2.0.578
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/dist/appwrite/commands.d.ts +345 -0
- package/dist/appwrite/commands.d.ts.map +1 -0
- package/dist/appwrite/commands.js +237 -0
- package/dist/appwrite/commands.test.d.ts +2 -0
- package/dist/appwrite/commands.test.d.ts.map +1 -0
- package/dist/appwrite/commands.test.js +381 -0
- package/dist/appwrite/functions.d.ts +539 -0
- package/dist/appwrite/functions.d.ts.map +1 -0
- package/dist/appwrite/functions.js +147 -0
- package/dist/appwrite/functions.test.d.ts +2 -0
- package/dist/appwrite/functions.test.d.ts.map +1 -0
- package/dist/appwrite/functions.test.js +154 -0
- package/dist/appwrite/index.d.ts +2 -0
- package/dist/appwrite/index.d.ts.map +1 -1
- package/dist/appwrite/index.js +2 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/schemas/index.d.ts +2 -2
- package/dist/schemas/mutators/mutatorSchemas.d.ts +2 -2
- package/dist/sdk/endpoints/private/mutations/draft/setEnvelope.d.ts +2 -2
- package/package.json +1 -1
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
import * as v from 'valibot';
|
|
2
|
+
import { id } from '../schemas/id';
|
|
3
|
+
import { string } from '../schemas/string';
|
|
4
|
+
import { appwrite } from './appwrite';
|
|
5
|
+
import { appwriteCommands } from './commands';
|
|
6
|
+
const accountStates = ['AWAITING_CONNECTION', 'CONNECTED', 'DISCONNECTED', 'ERROR'];
|
|
7
|
+
const functionErrorCodes = [
|
|
8
|
+
'AUTHENTICATION_FAILED',
|
|
9
|
+
'AUTHORIZATION_FAILED',
|
|
10
|
+
'CONFLICT',
|
|
11
|
+
'INVALID_REQUEST',
|
|
12
|
+
'NOT_FOUND',
|
|
13
|
+
'PROVIDER_REJECTED',
|
|
14
|
+
'TRANSIENT_FAILURE',
|
|
15
|
+
'INTERNAL_ERROR',
|
|
16
|
+
];
|
|
17
|
+
const socketTypes = ['SSL', 'STARTTLS'];
|
|
18
|
+
const functionErrorSchema = v.strictObject({
|
|
19
|
+
code: v.picklist(functionErrorCodes),
|
|
20
|
+
retryable: v.boolean(),
|
|
21
|
+
});
|
|
22
|
+
const portSchema = v.pipe(v.number(), v.integer(), v.minValue(1), v.maxValue(65_535));
|
|
23
|
+
const providerCredentialSchema = v.strictObject({
|
|
24
|
+
host: string.required(4096),
|
|
25
|
+
password: string.required(4096),
|
|
26
|
+
port: portSchema,
|
|
27
|
+
socketType: v.picklist(socketTypes),
|
|
28
|
+
user: string.required(4096),
|
|
29
|
+
});
|
|
30
|
+
const connectionSchema = v.variant('kind', [
|
|
31
|
+
v.strictObject({
|
|
32
|
+
kind: v.literal('OAUTH'),
|
|
33
|
+
provider: v.picklist(['GMAIL', 'OUTLOOK']),
|
|
34
|
+
redirectUri: v.pipe(v.string(), v.url()),
|
|
35
|
+
}),
|
|
36
|
+
v.strictObject({
|
|
37
|
+
imap: providerCredentialSchema,
|
|
38
|
+
kind: v.literal('IMAP'),
|
|
39
|
+
smtp: providerCredentialSchema,
|
|
40
|
+
}),
|
|
41
|
+
]);
|
|
42
|
+
const connectionResultSchema = v.strictObject({
|
|
43
|
+
accountId: id.accountId.required(),
|
|
44
|
+
authorizationUrl: v.optional(v.pipe(v.string(), v.url())),
|
|
45
|
+
state: v.picklist(accountStates),
|
|
46
|
+
});
|
|
47
|
+
const completedSchema = v.strictObject({ state: v.literal('COMPLETED') });
|
|
48
|
+
const emptySchema = v.strictObject({});
|
|
49
|
+
const createRoute = (route) => ({
|
|
50
|
+
...route,
|
|
51
|
+
errorSchema: functionErrorSchema,
|
|
52
|
+
});
|
|
53
|
+
const apiRoutes = {
|
|
54
|
+
accountConnection: createRoute({
|
|
55
|
+
context: 'authenticated',
|
|
56
|
+
method: 'PUT',
|
|
57
|
+
path: '/accounts/connection',
|
|
58
|
+
requestSchema: v.strictObject({
|
|
59
|
+
accountId: id.accountId.required(),
|
|
60
|
+
connection: connectionSchema,
|
|
61
|
+
}),
|
|
62
|
+
responseSchema: connectionResultSchema,
|
|
63
|
+
}),
|
|
64
|
+
accountDelete: createRoute({
|
|
65
|
+
context: 'authenticated',
|
|
66
|
+
method: 'DELETE',
|
|
67
|
+
path: '/account/delete',
|
|
68
|
+
requestSchema: emptySchema,
|
|
69
|
+
responseSchema: v.strictObject({ state: v.literal('ACCEPTED') }),
|
|
70
|
+
}),
|
|
71
|
+
accountsConnect: createRoute({
|
|
72
|
+
context: 'authenticated',
|
|
73
|
+
method: 'POST',
|
|
74
|
+
path: '/accounts/connect',
|
|
75
|
+
requestSchema: v.strictObject({ connection: connectionSchema }),
|
|
76
|
+
responseSchema: connectionResultSchema,
|
|
77
|
+
}),
|
|
78
|
+
commands: createRoute({
|
|
79
|
+
context: 'authenticated',
|
|
80
|
+
method: 'POST',
|
|
81
|
+
path: '/commands',
|
|
82
|
+
requestSchema: appwriteCommands.requestSchema,
|
|
83
|
+
responseSchema: appwriteCommands.responseSchema,
|
|
84
|
+
}),
|
|
85
|
+
oauthWebhook: createRoute({
|
|
86
|
+
context: 'webhook',
|
|
87
|
+
method: 'GET',
|
|
88
|
+
path: '/webhooks/oauth',
|
|
89
|
+
requestSchema: v.strictObject({
|
|
90
|
+
code: string.required(4096),
|
|
91
|
+
state: string.required(4096),
|
|
92
|
+
}),
|
|
93
|
+
responseSchema: completedSchema,
|
|
94
|
+
}),
|
|
95
|
+
profileEnsure: createRoute({
|
|
96
|
+
context: 'authenticated',
|
|
97
|
+
method: 'POST',
|
|
98
|
+
path: '/profile/ensure',
|
|
99
|
+
requestSchema: emptySchema,
|
|
100
|
+
responseSchema: v.strictObject({ created: v.boolean() }),
|
|
101
|
+
}),
|
|
102
|
+
pushTokens: createRoute({
|
|
103
|
+
context: 'authenticated',
|
|
104
|
+
method: 'POST',
|
|
105
|
+
path: '/push-tokens',
|
|
106
|
+
requestSchema: v.strictObject({
|
|
107
|
+
operation: v.picklist(['REGISTER', 'REMOVE']),
|
|
108
|
+
token: string.required(4096),
|
|
109
|
+
}),
|
|
110
|
+
responseSchema: v.strictObject({ registered: v.boolean() }),
|
|
111
|
+
}),
|
|
112
|
+
};
|
|
113
|
+
const workerRoutes = {
|
|
114
|
+
jobsRun: createRoute({
|
|
115
|
+
context: 'internal',
|
|
116
|
+
method: 'POST',
|
|
117
|
+
path: '/jobs/run',
|
|
118
|
+
requestSchema: emptySchema,
|
|
119
|
+
responseSchema: completedSchema,
|
|
120
|
+
}),
|
|
121
|
+
supervisor: createRoute({
|
|
122
|
+
context: 'internal',
|
|
123
|
+
method: 'POST',
|
|
124
|
+
path: '/',
|
|
125
|
+
requestSchema: emptySchema,
|
|
126
|
+
responseSchema: completedSchema,
|
|
127
|
+
}),
|
|
128
|
+
watchersRun: createRoute({
|
|
129
|
+
context: 'internal',
|
|
130
|
+
method: 'POST',
|
|
131
|
+
path: '/watchers/run',
|
|
132
|
+
requestSchema: v.strictObject({ shardId: string.required() }),
|
|
133
|
+
responseSchema: completedSchema,
|
|
134
|
+
}),
|
|
135
|
+
};
|
|
136
|
+
export const appwriteFunctions = {
|
|
137
|
+
api: {
|
|
138
|
+
id: appwrite.ids.functions.api,
|
|
139
|
+
routes: apiRoutes,
|
|
140
|
+
},
|
|
141
|
+
errorCodes: functionErrorCodes,
|
|
142
|
+
errorSchema: functionErrorSchema,
|
|
143
|
+
worker: {
|
|
144
|
+
id: appwrite.ids.functions.worker,
|
|
145
|
+
routes: workerRoutes,
|
|
146
|
+
},
|
|
147
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"functions.test.d.ts","sourceRoot":"","sources":["../../src/appwrite/functions.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
import { describe, expect, it } from 'bun:test';
|
|
2
|
+
import * as v from 'valibot';
|
|
3
|
+
import { appwriteFunctions } from './functions';
|
|
4
|
+
const command = {
|
|
5
|
+
accountId: null,
|
|
6
|
+
id: '0197f3d4-1b22-7abc-8def-123456789abc',
|
|
7
|
+
kind: 'profile.settings.set',
|
|
8
|
+
payload: { name: 'Isaac' },
|
|
9
|
+
submittedAt: '2026-07-15T00:00:00.000Z',
|
|
10
|
+
version: 1,
|
|
11
|
+
};
|
|
12
|
+
const routeFixtures = [
|
|
13
|
+
{
|
|
14
|
+
name: 'profile ensure',
|
|
15
|
+
request: {},
|
|
16
|
+
response: { created: true },
|
|
17
|
+
route: () => appwriteFunctions.api.routes.profileEnsure,
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
name: 'commands',
|
|
21
|
+
request: command,
|
|
22
|
+
response: { canonicalRevision: null, error: null, id: command.id, state: 'ACCEPTED' },
|
|
23
|
+
route: () => appwriteFunctions.api.routes.commands,
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
name: 'account connection',
|
|
27
|
+
request: {
|
|
28
|
+
accountId: 'account_1',
|
|
29
|
+
connection: {
|
|
30
|
+
imap: {
|
|
31
|
+
host: 'imap.example.com',
|
|
32
|
+
password: 'password',
|
|
33
|
+
port: 993,
|
|
34
|
+
socketType: 'SSL',
|
|
35
|
+
user: 'marco@example.com',
|
|
36
|
+
},
|
|
37
|
+
kind: 'IMAP',
|
|
38
|
+
smtp: {
|
|
39
|
+
host: 'smtp.example.com',
|
|
40
|
+
password: 'password',
|
|
41
|
+
port: 465,
|
|
42
|
+
socketType: 'SSL',
|
|
43
|
+
user: 'marco@example.com',
|
|
44
|
+
},
|
|
45
|
+
},
|
|
46
|
+
},
|
|
47
|
+
response: { accountId: 'account_1', state: 'CONNECTED' },
|
|
48
|
+
route: () => appwriteFunctions.api.routes.accountConnection,
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
name: 'account connect',
|
|
52
|
+
request: { connection: { kind: 'OAUTH', provider: 'GMAIL', redirectUri: 'https://marco.app/oauth' } },
|
|
53
|
+
response: {
|
|
54
|
+
accountId: 'account_1',
|
|
55
|
+
authorizationUrl: 'https://accounts.google.com/o/oauth2/auth',
|
|
56
|
+
state: 'AWAITING_CONNECTION',
|
|
57
|
+
},
|
|
58
|
+
route: () => appwriteFunctions.api.routes.accountsConnect,
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
name: 'push tokens',
|
|
62
|
+
request: { operation: 'REGISTER', token: 'ExponentPushToken[example]' },
|
|
63
|
+
response: { registered: true },
|
|
64
|
+
route: () => appwriteFunctions.api.routes.pushTokens,
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
name: 'account deletion',
|
|
68
|
+
request: {},
|
|
69
|
+
response: { state: 'ACCEPTED' },
|
|
70
|
+
route: () => appwriteFunctions.api.routes.accountDelete,
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
name: 'OAuth webhook',
|
|
74
|
+
request: { code: 'authorisation-code', state: 'state' },
|
|
75
|
+
response: { state: 'COMPLETED' },
|
|
76
|
+
route: () => appwriteFunctions.api.routes.oauthWebhook,
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
name: 'worker supervisor',
|
|
80
|
+
request: {},
|
|
81
|
+
response: { state: 'COMPLETED' },
|
|
82
|
+
route: () => appwriteFunctions.worker.routes.supervisor,
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
name: 'job runner',
|
|
86
|
+
request: {},
|
|
87
|
+
response: { state: 'COMPLETED' },
|
|
88
|
+
route: () => appwriteFunctions.worker.routes.jobsRun,
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
name: 'watcher runner',
|
|
92
|
+
request: { shardId: 'watcher-shard_1' },
|
|
93
|
+
response: { state: 'COMPLETED' },
|
|
94
|
+
route: () => appwriteFunctions.worker.routes.watchersRun,
|
|
95
|
+
},
|
|
96
|
+
];
|
|
97
|
+
describe('appwriteFunctions', () => {
|
|
98
|
+
it('publishes the complete Appwrite Function route manifest', () => {
|
|
99
|
+
expect([
|
|
100
|
+
{ functionId: appwriteFunctions.api.id, route: appwriteFunctions.api.routes.profileEnsure },
|
|
101
|
+
{ functionId: appwriteFunctions.api.id, route: appwriteFunctions.api.routes.commands },
|
|
102
|
+
{ functionId: appwriteFunctions.api.id, route: appwriteFunctions.api.routes.accountsConnect },
|
|
103
|
+
{ functionId: appwriteFunctions.api.id, route: appwriteFunctions.api.routes.accountConnection },
|
|
104
|
+
{ functionId: appwriteFunctions.api.id, route: appwriteFunctions.api.routes.pushTokens },
|
|
105
|
+
{ functionId: appwriteFunctions.api.id, route: appwriteFunctions.api.routes.accountDelete },
|
|
106
|
+
{ functionId: appwriteFunctions.api.id, route: appwriteFunctions.api.routes.oauthWebhook },
|
|
107
|
+
{ functionId: appwriteFunctions.worker.id, route: appwriteFunctions.worker.routes.supervisor },
|
|
108
|
+
{ functionId: appwriteFunctions.worker.id, route: appwriteFunctions.worker.routes.jobsRun },
|
|
109
|
+
{ functionId: appwriteFunctions.worker.id, route: appwriteFunctions.worker.routes.watchersRun },
|
|
110
|
+
].map(({ functionId, route }) => ({
|
|
111
|
+
context: route.context,
|
|
112
|
+
functionId,
|
|
113
|
+
method: route.method,
|
|
114
|
+
path: route.path,
|
|
115
|
+
}))).toEqual([
|
|
116
|
+
{ context: 'authenticated', functionId: 'marco-api', method: 'POST', path: '/profile/ensure' },
|
|
117
|
+
{ context: 'authenticated', functionId: 'marco-api', method: 'POST', path: '/commands' },
|
|
118
|
+
{ context: 'authenticated', functionId: 'marco-api', method: 'POST', path: '/accounts/connect' },
|
|
119
|
+
{ context: 'authenticated', functionId: 'marco-api', method: 'PUT', path: '/accounts/connection' },
|
|
120
|
+
{ context: 'authenticated', functionId: 'marco-api', method: 'POST', path: '/push-tokens' },
|
|
121
|
+
{ context: 'authenticated', functionId: 'marco-api', method: 'DELETE', path: '/account/delete' },
|
|
122
|
+
{ context: 'webhook', functionId: 'marco-api', method: 'GET', path: '/webhooks/oauth' },
|
|
123
|
+
{ context: 'internal', functionId: 'marco-worker', method: 'POST', path: '/' },
|
|
124
|
+
{ context: 'internal', functionId: 'marco-worker', method: 'POST', path: '/jobs/run' },
|
|
125
|
+
{ context: 'internal', functionId: 'marco-worker', method: 'POST', path: '/watchers/run' },
|
|
126
|
+
]);
|
|
127
|
+
});
|
|
128
|
+
for (const { name, request, response, route } of routeFixtures) {
|
|
129
|
+
it(`accepts the ${name} request and response`, () => {
|
|
130
|
+
expect(v.safeParse(route().requestSchema, request).success).toBe(true);
|
|
131
|
+
expect(v.safeParse(route().responseSchema, response).success).toBe(true);
|
|
132
|
+
});
|
|
133
|
+
it(`rejects caller ownership in the ${name} request and response`, () => {
|
|
134
|
+
expect(v.safeParse(route().requestSchema, { ...request, userId: 'another-user' }).success).toBe(false);
|
|
135
|
+
expect(v.safeParse(route().responseSchema, { ...response, userId: 'another-user' }).success).toBe(false);
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
it('redacts credentials from connection responses and compact errors', () => {
|
|
139
|
+
expect(v.safeParse(appwriteFunctions.api.routes.accountsConnect.responseSchema, {
|
|
140
|
+
accountId: 'account_1',
|
|
141
|
+
credentials: { password: 'secret' },
|
|
142
|
+
state: 'CONNECTED',
|
|
143
|
+
}).success).toBe(false);
|
|
144
|
+
expect(v.safeParse(appwriteFunctions.errorSchema, {
|
|
145
|
+
code: 'AUTHENTICATION_FAILED',
|
|
146
|
+
retryable: false,
|
|
147
|
+
}).success).toBe(true);
|
|
148
|
+
expect(v.safeParse(appwriteFunctions.errorSchema, {
|
|
149
|
+
code: 'AUTHENTICATION_FAILED',
|
|
150
|
+
credentials: 'secret',
|
|
151
|
+
retryable: false,
|
|
152
|
+
}).success).toBe(false);
|
|
153
|
+
});
|
|
154
|
+
});
|
package/dist/appwrite/index.d.ts
CHANGED
|
@@ -1,2 +1,4 @@
|
|
|
1
1
|
export { type AppwriteRow, type AppwriteRowTable, appwrite } from './appwrite';
|
|
2
|
+
export { type AppwriteCommandError, type AppwriteCommandKind, type AppwriteCommandPayload, type AppwriteCommandRequest, type AppwriteCommandResponse, type AppwriteCommandState, appwriteCommands, } from './commands';
|
|
3
|
+
export { type AppwriteFunctionContext, type AppwriteFunctionError, type AppwriteFunctionName, type AppwriteFunctionRequest, type AppwriteFunctionResponse, type AppwriteFunctionRoute, type AppwriteFunctionRouteName, appwriteFunctions, } from './functions';
|
|
2
4
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/appwrite/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,gBAAgB,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/appwrite/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,gBAAgB,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAC9E,OAAO,EACL,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,EAC5B,KAAK,oBAAoB,EACzB,gBAAgB,GACjB,MAAM,YAAY,CAAA;AACnB,OAAO,EACL,KAAK,uBAAuB,EAC5B,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EACzB,KAAK,uBAAuB,EAC5B,KAAK,wBAAwB,EAC7B,KAAK,qBAAqB,EAC1B,KAAK,yBAAyB,EAC9B,iBAAiB,GAClB,MAAM,aAAa,CAAA"}
|
package/dist/appwrite/index.js
CHANGED
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { type AppwriteRow, type AppwriteRowTable, appwrite } from './appwrite';
|
|
1
|
+
export { type AppwriteCommandError, type AppwriteCommandKind, type AppwriteCommandPayload, type AppwriteCommandRequest, type AppwriteCommandResponse, type AppwriteCommandState, type AppwriteFunctionContext, type AppwriteFunctionError, type AppwriteFunctionName, type AppwriteFunctionRequest, type AppwriteFunctionResponse, type AppwriteFunctionRoute, type AppwriteFunctionRouteName, type AppwriteRow, type AppwriteRowTable, appwrite, appwriteCommands, appwriteFunctions, } from './appwrite';
|
|
2
2
|
export { marcoConstants } from './constants';
|
|
3
3
|
export { MARCO_ENV, MarcoEnvironment, marcoPublicConfig } from './marcoPublicConfig';
|
|
4
4
|
export { type Account, type AccountAlias, type AccountId, type AccountLabel, type AliasId, type AttachmentId, type Contact, type ContactId, type Draft, type DraftAttachment, type DraftBody, type DraftId, type LabelId, type MessageId, marcoSchemas, type PushNotificationTokenId, type RecipientId, type Thread, type ThreadId, type ThreadMessage, type ThreadMessageAttachment, type ThreadMessageRecipient, type User, type UserId, type UserPushNotificationToken, type UserView, type ViewId, } from './schemas';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,EAC5B,KAAK,oBAAoB,EACzB,KAAK,uBAAuB,EAC5B,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EACzB,KAAK,uBAAuB,EAC5B,KAAK,wBAAwB,EAC7B,KAAK,qBAAqB,EAC1B,KAAK,yBAAyB,EAC9B,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,QAAQ,EACR,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACpF,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,YAAY,EACjB,KAAK,SAAS,EACd,KAAK,YAAY,EACjB,KAAK,OAAO,EACZ,KAAK,YAAY,EACjB,KAAK,OAAO,EACZ,KAAK,SAAS,EACd,KAAK,KAAK,EACV,KAAK,eAAe,EACpB,KAAK,SAAS,EACd,KAAK,OAAO,EACZ,KAAK,OAAO,EACZ,KAAK,SAAS,EACd,YAAY,EACZ,KAAK,uBAAuB,EAC5B,KAAK,WAAW,EAChB,KAAK,MAAM,EACX,KAAK,QAAQ,EACb,KAAK,aAAa,EAClB,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,EAC3B,KAAK,IAAI,EACT,KAAK,MAAM,EACX,KAAK,yBAAyB,EAC9B,KAAK,QAAQ,EACb,KAAK,MAAM,GACZ,MAAM,WAAW,CAAA;AAClB,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAChC,cAAc,SAAS,CAAA;AACvB,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { appwrite } from './appwrite';
|
|
1
|
+
export { appwrite, appwriteCommands, appwriteFunctions, } from './appwrite';
|
|
2
2
|
export { marcoConstants } from './constants';
|
|
3
3
|
export { MARCO_ENV, marcoPublicConfig } from './marcoPublicConfig';
|
|
4
4
|
export { marcoSchemas, } from './schemas';
|
package/dist/schemas/index.d.ts
CHANGED
|
@@ -601,7 +601,7 @@ export declare const marcoSchemas: {
|
|
|
601
601
|
bcc: string[];
|
|
602
602
|
cc: string[];
|
|
603
603
|
to: string[];
|
|
604
|
-
}, import("valibot").StringIssue | import("valibot").ArrayIssue | import("valibot").
|
|
604
|
+
}, import("valibot").StringIssue | import("valibot").ArrayIssue | import("valibot").NonEmptyIssue<string> | import("valibot").MaxLengthIssue<string, number> | import("valibot").NonOptionalIssue | import("valibot").RfcEmailIssue<string> | import("valibot").ObjectIssue>;
|
|
605
605
|
readonly '~types'?: {
|
|
606
606
|
readonly input: {
|
|
607
607
|
subject: string | null;
|
|
@@ -615,7 +615,7 @@ export declare const marcoSchemas: {
|
|
|
615
615
|
cc: string[];
|
|
616
616
|
to: string[];
|
|
617
617
|
};
|
|
618
|
-
readonly issue: import("valibot").StringIssue | import("valibot").ArrayIssue | import("valibot").
|
|
618
|
+
readonly issue: import("valibot").StringIssue | import("valibot").ArrayIssue | import("valibot").NonEmptyIssue<string> | import("valibot").MaxLengthIssue<string, number> | import("valibot").NonOptionalIssue | import("valibot").RfcEmailIssue<string> | import("valibot").ObjectIssue;
|
|
619
619
|
} | undefined;
|
|
620
620
|
};
|
|
621
621
|
readonly id: import("valibot").NonOptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").NonEmptyAction<string, undefined>, import("valibot").MaxLengthAction<string, number, undefined>, import("valibot").BrandAction<string, "DraftId">]>, undefined>;
|
|
@@ -176,7 +176,7 @@ export declare const mutatorSchemas: {
|
|
|
176
176
|
bcc: string[];
|
|
177
177
|
cc: string[];
|
|
178
178
|
to: string[];
|
|
179
|
-
}, v.StringIssue | v.ArrayIssue | v.
|
|
179
|
+
}, v.StringIssue | v.ArrayIssue | v.NonEmptyIssue<string> | v.MaxLengthIssue<string, number> | v.NonOptionalIssue | v.RfcEmailIssue<string> | v.ObjectIssue>;
|
|
180
180
|
readonly '~types'?: {
|
|
181
181
|
readonly input: {
|
|
182
182
|
subject: string | null;
|
|
@@ -190,7 +190,7 @@ export declare const mutatorSchemas: {
|
|
|
190
190
|
cc: string[];
|
|
191
191
|
to: string[];
|
|
192
192
|
};
|
|
193
|
-
readonly issue: v.StringIssue | v.ArrayIssue | v.
|
|
193
|
+
readonly issue: v.StringIssue | v.ArrayIssue | v.NonEmptyIssue<string> | v.MaxLengthIssue<string, number> | v.NonOptionalIssue | v.RfcEmailIssue<string> | v.ObjectIssue;
|
|
194
194
|
} | undefined;
|
|
195
195
|
};
|
|
196
196
|
readonly id: v.NonOptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.NonEmptyAction<string, undefined>, v.MaxLengthAction<string, number, undefined>, v.BrandAction<string, "DraftId">]>, undefined>;
|
|
@@ -30,7 +30,7 @@ export declare const setEnvelope: import("../../../../..").EndpointConfig<"/v1/p
|
|
|
30
30
|
bcc: string[];
|
|
31
31
|
cc: string[];
|
|
32
32
|
to: string[];
|
|
33
|
-
}, v.StringIssue | v.ArrayIssue | v.
|
|
33
|
+
}, v.StringIssue | v.ArrayIssue | v.NonEmptyIssue<string> | v.MaxLengthIssue<string, number> | v.NonOptionalIssue | v.RfcEmailIssue<string> | v.ObjectIssue>;
|
|
34
34
|
readonly '~types'?: {
|
|
35
35
|
readonly input: {
|
|
36
36
|
subject: string | null;
|
|
@@ -44,7 +44,7 @@ export declare const setEnvelope: import("../../../../..").EndpointConfig<"/v1/p
|
|
|
44
44
|
cc: string[];
|
|
45
45
|
to: string[];
|
|
46
46
|
};
|
|
47
|
-
readonly issue: v.StringIssue | v.ArrayIssue | v.
|
|
47
|
+
readonly issue: v.StringIssue | v.ArrayIssue | v.NonEmptyIssue<string> | v.MaxLengthIssue<string, number> | v.NonOptionalIssue | v.RfcEmailIssue<string> | v.ObjectIssue;
|
|
48
48
|
} | undefined;
|
|
49
49
|
};
|
|
50
50
|
readonly id: v.NonOptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.NonEmptyAction<string, undefined>, v.MaxLengthAction<string, number, undefined>, v.BrandAction<string, "DraftId">]>, undefined>;
|