@undefineds.co/models 0.2.33 → 0.2.34
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/index.d.ts +3 -1
- package/dist/index.js +3 -1
- package/dist/matrix.repository.d.ts +183 -0
- package/dist/matrix.repository.js +20 -0
- package/dist/matrix.schema.d.ts +136 -0
- package/dist/matrix.schema.js +100 -0
- package/dist/namespaces.js +19 -0
- package/dist/resource-id-defaults.d.ts +3 -0
- package/dist/resource-id-defaults.js +24 -0
- package/dist/schema.d.ts +96 -0
- package/dist/schema.js +7 -0
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -13,8 +13,10 @@ export { threadRepository } from './thread.repository';
|
|
|
13
13
|
export { MessageRole, MessageStatus, messageResource, messageTable, type MessageRoleType, type MessageStatusType, type MessageRow, type MessageInsert, type MessageUpdate, } from './message.schema';
|
|
14
14
|
export { messageRepository } from './message.repository';
|
|
15
15
|
export { TaskStatus, TaskTriggerKind, taskResource, taskTable, type TaskStatusType, type TaskTriggerKindType, type TaskRow, type TaskInsert, type TaskUpdate, } from './task.schema';
|
|
16
|
+
export { MatrixMembership, MatrixRoomVisibility, matrixAccountResource, matrixAccountTable, matrixRoomResource, matrixRoomTable, matrixEventResource, matrixEventTable, type MatrixAccountRow, type MatrixAccountInsert, type MatrixAccountUpdate, type MatrixRoomRow, type MatrixRoomInsert, type MatrixRoomUpdate, type MatrixEventRow, type MatrixEventInsert, type MatrixEventUpdate, type MatrixMembershipType, type MatrixRoomVisibilityType, } from './matrix.schema';
|
|
17
|
+
export { matrixAccountRepository, matrixRoomRepository, matrixEventRepository, } from './matrix.repository';
|
|
16
18
|
export { RunStatus, RunStepType, runResource, runStepResource, runTable, runStepTable, type RunStatusType, type RunStepTypeValue, type RunRow, type RunInsert, type RunUpdate, type RunStepRow, type RunStepInsert, type RunStepUpdate, } from './run.schema';
|
|
17
|
-
export { chatResourceId, commandKindFromResourceId, dateParts, messageResourceId, parentDir, resourceKey, runResourceId, runStepResourceId, surfaceIdFromCommandResourceId, taskResourceId, threadResourceId, type CommandKind, type DateInput, type DateParts, } from './resource-id-defaults';
|
|
19
|
+
export { chatResourceId, commandKindFromResourceId, dateParts, messageResourceId, matrixAccountResourceId, matrixEventResourceId, matrixRoomResourceId, parentDir, resourceKey, runResourceId, runStepResourceId, surfaceIdFromCommandResourceId, taskResourceId, threadResourceId, type CommandKind, type DateInput, type DateParts, } from './resource-id-defaults';
|
|
18
20
|
export { issueResource, issueTable, type IssueStatus, type IssuePriority, type IssueRow, type IssueInsert, type IssueUpdate, } from './issue.schema';
|
|
19
21
|
export { issueRepository } from './issue.repository';
|
|
20
22
|
export { MessageBlockType, MessageBlockStatus, type BaseMessageBlock, type PlaceholderMessageBlock, type MainTextMessageBlock, type ThinkingMessageBlock, type ImageMessageBlock, type CodeMessageBlock, type ToolMessageBlock, type FileMessageBlock, type ErrorMessageBlock, type CitationMessageBlock, type MessageBlock, type MessageRichContent, createMessageBlock, isBlockType, parseMessageBlocks, serializeMessageBlocks, } from './types/message-block';
|
package/dist/index.js
CHANGED
|
@@ -27,8 +27,10 @@ export { threadRepository } from './thread.repository.js';
|
|
|
27
27
|
export { MessageRole, MessageStatus, messageResource, messageTable, } from './message.schema.js';
|
|
28
28
|
export { messageRepository } from './message.repository.js';
|
|
29
29
|
export { TaskStatus, TaskTriggerKind, taskResource, taskTable, } from './task.schema.js';
|
|
30
|
+
export { MatrixMembership, MatrixRoomVisibility, matrixAccountResource, matrixAccountTable, matrixRoomResource, matrixRoomTable, matrixEventResource, matrixEventTable, } from './matrix.schema.js';
|
|
31
|
+
export { matrixAccountRepository, matrixRoomRepository, matrixEventRepository, } from './matrix.repository.js';
|
|
30
32
|
export { RunStatus, RunStepType, runResource, runStepResource, runTable, runStepTable, } from './run.schema.js';
|
|
31
|
-
export { chatResourceId, commandKindFromResourceId, dateParts, messageResourceId, parentDir, resourceKey, runResourceId, runStepResourceId, surfaceIdFromCommandResourceId, taskResourceId, threadResourceId, } from './resource-id-defaults.js';
|
|
33
|
+
export { chatResourceId, commandKindFromResourceId, dateParts, messageResourceId, matrixAccountResourceId, matrixEventResourceId, matrixRoomResourceId, parentDir, resourceKey, runResourceId, runStepResourceId, surfaceIdFromCommandResourceId, taskResourceId, threadResourceId, } from './resource-id-defaults.js';
|
|
32
34
|
// Issue - user-facing work item that can be inspected through chat/thread
|
|
33
35
|
export { issueResource, issueTable, } from './issue.schema.js';
|
|
34
36
|
export { issueRepository } from './issue.repository.js';
|
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
export declare const matrixAccountRepository: import("@undefineds.co/drizzle-solid/dist/core/repository").PodRepositoryDescriptor<import("@undefineds.co/drizzle-solid/dist/core/schema").PodTableWithColumns<import("@undefineds.co/drizzle-solid/dist/core/schema").ResolvedColumns<{
|
|
2
|
+
id: import("@undefineds.co/drizzle-solid/dist/core/schema").PodStringColumn<false, false>;
|
|
3
|
+
matrixUserId: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, true, false>;
|
|
4
|
+
webId: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"uri", null, true, false>;
|
|
5
|
+
displayName: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, false, false>;
|
|
6
|
+
avatarUrl: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"uri", null, false, false>;
|
|
7
|
+
deviceId: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, false, false>;
|
|
8
|
+
accessTokenHash: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, false, false>;
|
|
9
|
+
metadata: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"object", null, false, false>;
|
|
10
|
+
createdAt: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"datetime", null, true, true>;
|
|
11
|
+
updatedAt: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"datetime", null, true, true>;
|
|
12
|
+
}>>, {
|
|
13
|
+
id: string;
|
|
14
|
+
matrixUserId: string;
|
|
15
|
+
webId: string;
|
|
16
|
+
displayName: string;
|
|
17
|
+
avatarUrl: string;
|
|
18
|
+
deviceId: string;
|
|
19
|
+
accessTokenHash: string;
|
|
20
|
+
metadata: Record<string, unknown>;
|
|
21
|
+
createdAt: Date;
|
|
22
|
+
updatedAt: Date;
|
|
23
|
+
}, {
|
|
24
|
+
matrixUserId: string;
|
|
25
|
+
webId: string;
|
|
26
|
+
id?: string | undefined;
|
|
27
|
+
displayName?: string | undefined;
|
|
28
|
+
avatarUrl?: string | undefined;
|
|
29
|
+
deviceId?: string | undefined;
|
|
30
|
+
accessTokenHash?: string | undefined;
|
|
31
|
+
metadata?: Record<string, unknown> | undefined;
|
|
32
|
+
createdAt?: Date | undefined;
|
|
33
|
+
updatedAt?: Date | undefined;
|
|
34
|
+
}, {
|
|
35
|
+
id?: string | null | undefined;
|
|
36
|
+
matrixUserId?: string | undefined;
|
|
37
|
+
webId?: string | undefined;
|
|
38
|
+
displayName?: string | null | undefined;
|
|
39
|
+
avatarUrl?: string | null | undefined;
|
|
40
|
+
deviceId?: string | null | undefined;
|
|
41
|
+
accessTokenHash?: string | null | undefined;
|
|
42
|
+
metadata?: Record<string, unknown> | null | undefined;
|
|
43
|
+
createdAt?: Date | undefined;
|
|
44
|
+
updatedAt?: Date | undefined;
|
|
45
|
+
}, Record<string, unknown>>;
|
|
46
|
+
export declare const matrixRoomRepository: import("@undefineds.co/drizzle-solid/dist/core/repository").PodRepositoryDescriptor<import("@undefineds.co/drizzle-solid/dist/core/schema").PodTableWithColumns<import("@undefineds.co/drizzle-solid/dist/core/schema").ResolvedColumns<{
|
|
47
|
+
id: import("@undefineds.co/drizzle-solid/dist/core/schema").PodStringColumn<false, false>;
|
|
48
|
+
matrixRoomId: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, true, false>;
|
|
49
|
+
canonicalAlias: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, false, false>;
|
|
50
|
+
name: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, false, false>;
|
|
51
|
+
topic: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, false, false>;
|
|
52
|
+
creator: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"uri", null, false, false>;
|
|
53
|
+
visibility: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, true, true>;
|
|
54
|
+
roomVersion: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, false, true>;
|
|
55
|
+
federate: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"boolean", null, false, true>;
|
|
56
|
+
chat: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"uri", null, false, false>;
|
|
57
|
+
members: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"array", "uri", false, false>;
|
|
58
|
+
metadata: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"object", null, false, false>;
|
|
59
|
+
createdAt: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"datetime", null, true, true>;
|
|
60
|
+
updatedAt: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"datetime", null, true, true>;
|
|
61
|
+
}>>, {
|
|
62
|
+
id: string;
|
|
63
|
+
matrixRoomId: string;
|
|
64
|
+
canonicalAlias: string;
|
|
65
|
+
name: string;
|
|
66
|
+
topic: string;
|
|
67
|
+
creator: string;
|
|
68
|
+
visibility: string;
|
|
69
|
+
roomVersion: string;
|
|
70
|
+
federate: boolean;
|
|
71
|
+
chat: string;
|
|
72
|
+
members: string[];
|
|
73
|
+
metadata: Record<string, unknown>;
|
|
74
|
+
createdAt: Date;
|
|
75
|
+
updatedAt: Date;
|
|
76
|
+
}, {
|
|
77
|
+
matrixRoomId: string;
|
|
78
|
+
id?: string | undefined;
|
|
79
|
+
canonicalAlias?: string | undefined;
|
|
80
|
+
name?: string | undefined;
|
|
81
|
+
topic?: string | undefined;
|
|
82
|
+
creator?: string | undefined;
|
|
83
|
+
visibility?: string | undefined;
|
|
84
|
+
roomVersion?: string | undefined;
|
|
85
|
+
federate?: boolean | undefined;
|
|
86
|
+
chat?: string | undefined;
|
|
87
|
+
members?: string[] | undefined;
|
|
88
|
+
metadata?: Record<string, unknown> | undefined;
|
|
89
|
+
createdAt?: Date | undefined;
|
|
90
|
+
updatedAt?: Date | undefined;
|
|
91
|
+
}, {
|
|
92
|
+
id?: string | null | undefined;
|
|
93
|
+
matrixRoomId?: string | undefined;
|
|
94
|
+
canonicalAlias?: string | null | undefined;
|
|
95
|
+
name?: string | null | undefined;
|
|
96
|
+
topic?: string | null | undefined;
|
|
97
|
+
creator?: string | null | undefined;
|
|
98
|
+
visibility?: string | undefined;
|
|
99
|
+
roomVersion?: string | null | undefined;
|
|
100
|
+
federate?: boolean | null | undefined;
|
|
101
|
+
chat?: string | null | undefined;
|
|
102
|
+
members?: string[] | null | undefined;
|
|
103
|
+
metadata?: Record<string, unknown> | null | undefined;
|
|
104
|
+
createdAt?: Date | undefined;
|
|
105
|
+
updatedAt?: Date | undefined;
|
|
106
|
+
}, Record<string, unknown>>;
|
|
107
|
+
export declare const matrixEventRepository: import("@undefineds.co/drizzle-solid/dist/core/repository").PodRepositoryDescriptor<import("@undefineds.co/drizzle-solid/dist/core/schema").PodTableWithColumns<import("@undefineds.co/drizzle-solid/dist/core/schema").ResolvedColumns<{
|
|
108
|
+
id: import("@undefineds.co/drizzle-solid/dist/core/schema").PodStringColumn<false, false>;
|
|
109
|
+
matrixEventId: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, true, false>;
|
|
110
|
+
matrixRoomId: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, true, false>;
|
|
111
|
+
room: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"uri", null, false, false>;
|
|
112
|
+
type: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, true, false>;
|
|
113
|
+
stateKey: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, false, false>;
|
|
114
|
+
sender: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, true, false>;
|
|
115
|
+
senderWebId: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"uri", null, false, false>;
|
|
116
|
+
originServerTs: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"integer", null, true, false>;
|
|
117
|
+
depth: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"integer", null, true, true>;
|
|
118
|
+
txnId: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, false, false>;
|
|
119
|
+
content: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"object", null, true, false>;
|
|
120
|
+
unsigned: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"object", null, false, false>;
|
|
121
|
+
redacts: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"uri", null, false, false>;
|
|
122
|
+
relatedMessage: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"uri", null, false, false>;
|
|
123
|
+
metadata: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"object", null, false, false>;
|
|
124
|
+
createdAt: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"datetime", null, true, true>;
|
|
125
|
+
updatedAt: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"datetime", null, false, false>;
|
|
126
|
+
}>>, {
|
|
127
|
+
id: string;
|
|
128
|
+
matrixEventId: string;
|
|
129
|
+
matrixRoomId: string;
|
|
130
|
+
room: string;
|
|
131
|
+
type: string;
|
|
132
|
+
stateKey: string;
|
|
133
|
+
sender: string;
|
|
134
|
+
senderWebId: string;
|
|
135
|
+
originServerTs: number;
|
|
136
|
+
depth: number;
|
|
137
|
+
txnId: string;
|
|
138
|
+
content: Record<string, unknown>;
|
|
139
|
+
unsigned: Record<string, unknown>;
|
|
140
|
+
redacts: string;
|
|
141
|
+
relatedMessage: string;
|
|
142
|
+
metadata: Record<string, unknown>;
|
|
143
|
+
createdAt: Date;
|
|
144
|
+
updatedAt: Date;
|
|
145
|
+
}, {
|
|
146
|
+
matrixEventId: string;
|
|
147
|
+
matrixRoomId: string;
|
|
148
|
+
type: string;
|
|
149
|
+
sender: string;
|
|
150
|
+
originServerTs: number;
|
|
151
|
+
content: Record<string, unknown>;
|
|
152
|
+
id?: string | undefined;
|
|
153
|
+
room?: string | undefined;
|
|
154
|
+
stateKey?: string | undefined;
|
|
155
|
+
senderWebId?: string | undefined;
|
|
156
|
+
depth?: number | undefined;
|
|
157
|
+
txnId?: string | undefined;
|
|
158
|
+
unsigned?: Record<string, unknown> | undefined;
|
|
159
|
+
redacts?: string | undefined;
|
|
160
|
+
relatedMessage?: string | undefined;
|
|
161
|
+
metadata?: Record<string, unknown> | undefined;
|
|
162
|
+
createdAt?: Date | undefined;
|
|
163
|
+
updatedAt?: Date | undefined;
|
|
164
|
+
}, {
|
|
165
|
+
id?: string | null | undefined;
|
|
166
|
+
matrixEventId?: string | undefined;
|
|
167
|
+
matrixRoomId?: string | undefined;
|
|
168
|
+
room?: string | null | undefined;
|
|
169
|
+
type?: string | undefined;
|
|
170
|
+
stateKey?: string | null | undefined;
|
|
171
|
+
sender?: string | undefined;
|
|
172
|
+
senderWebId?: string | null | undefined;
|
|
173
|
+
originServerTs?: number | undefined;
|
|
174
|
+
depth?: number | undefined;
|
|
175
|
+
txnId?: string | null | undefined;
|
|
176
|
+
content?: Record<string, unknown> | undefined;
|
|
177
|
+
unsigned?: Record<string, unknown> | null | undefined;
|
|
178
|
+
redacts?: string | null | undefined;
|
|
179
|
+
relatedMessage?: string | null | undefined;
|
|
180
|
+
metadata?: Record<string, unknown> | null | undefined;
|
|
181
|
+
createdAt?: Date | undefined;
|
|
182
|
+
updatedAt?: Date | null | undefined;
|
|
183
|
+
}, Record<string, unknown>>;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { definePodRepository } from './repository.js';
|
|
2
|
+
import { matrixAccountResource, matrixEventResource, matrixRoomResource, } from './matrix.schema.js';
|
|
3
|
+
export const matrixAccountRepository = definePodRepository({
|
|
4
|
+
namespace: 'matrixAccount',
|
|
5
|
+
table: matrixAccountResource,
|
|
6
|
+
searchableFields: ['matrixUserId', 'displayName'],
|
|
7
|
+
defaultSort: { field: 'updatedAt', direction: 'desc' },
|
|
8
|
+
});
|
|
9
|
+
export const matrixRoomRepository = definePodRepository({
|
|
10
|
+
namespace: 'matrixRoom',
|
|
11
|
+
table: matrixRoomResource,
|
|
12
|
+
searchableFields: ['matrixRoomId', 'canonicalAlias', 'name', 'topic'],
|
|
13
|
+
defaultSort: { field: 'updatedAt', direction: 'desc' },
|
|
14
|
+
});
|
|
15
|
+
export const matrixEventRepository = definePodRepository({
|
|
16
|
+
namespace: 'matrixEvent',
|
|
17
|
+
table: matrixEventResource,
|
|
18
|
+
searchableFields: ['matrixEventId', 'matrixRoomId', 'type', 'txnId'],
|
|
19
|
+
defaultSort: { field: 'originServerTs', direction: 'asc' },
|
|
20
|
+
});
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
export type MatrixRoomVisibilityType = 'private' | 'public';
|
|
2
|
+
export type MatrixMembershipType = 'join' | 'invite' | 'leave' | 'ban';
|
|
3
|
+
export declare const MatrixRoomVisibility: {
|
|
4
|
+
readonly PRIVATE: "private";
|
|
5
|
+
readonly PUBLIC: "public";
|
|
6
|
+
};
|
|
7
|
+
export declare const MatrixMembership: {
|
|
8
|
+
readonly JOIN: "join";
|
|
9
|
+
readonly INVITE: "invite";
|
|
10
|
+
readonly LEAVE: "leave";
|
|
11
|
+
readonly BAN: "ban";
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* Matrix account/device state owned by a Pod.
|
|
15
|
+
*
|
|
16
|
+
* This resource records the Matrix protocol identity projected from a Solid
|
|
17
|
+
* identity. Tokens are represented by hashes only; API handlers own raw token
|
|
18
|
+
* issuance/verification.
|
|
19
|
+
*/
|
|
20
|
+
export declare const matrixAccountResource: import("@undefineds.co/drizzle-solid/dist/core/schema").PodTableWithColumns<import("@undefineds.co/drizzle-solid/dist/core/schema").ResolvedColumns<{
|
|
21
|
+
id: import("@undefineds.co/drizzle-solid/dist/core/schema").PodStringColumn<false, false>;
|
|
22
|
+
matrixUserId: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, true, false>;
|
|
23
|
+
webId: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"uri", null, true, false>;
|
|
24
|
+
displayName: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, false, false>;
|
|
25
|
+
avatarUrl: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"uri", null, false, false>;
|
|
26
|
+
deviceId: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, false, false>;
|
|
27
|
+
accessTokenHash: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, false, false>;
|
|
28
|
+
metadata: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"object", null, false, false>;
|
|
29
|
+
createdAt: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"datetime", null, true, true>;
|
|
30
|
+
updatedAt: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"datetime", null, true, true>;
|
|
31
|
+
}>>;
|
|
32
|
+
/**
|
|
33
|
+
* Matrix room projected into Pod storage.
|
|
34
|
+
*
|
|
35
|
+
* `chat` links the protocol room to the existing Solid Chat conversation
|
|
36
|
+
* resource so Matrix messages can also participate in xpod chat views.
|
|
37
|
+
*/
|
|
38
|
+
export declare const matrixRoomResource: import("@undefineds.co/drizzle-solid/dist/core/schema").PodTableWithColumns<import("@undefineds.co/drizzle-solid/dist/core/schema").ResolvedColumns<{
|
|
39
|
+
id: import("@undefineds.co/drizzle-solid/dist/core/schema").PodStringColumn<false, false>;
|
|
40
|
+
matrixRoomId: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, true, false>;
|
|
41
|
+
canonicalAlias: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, false, false>;
|
|
42
|
+
name: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, false, false>;
|
|
43
|
+
topic: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, false, false>;
|
|
44
|
+
creator: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"uri", null, false, false>;
|
|
45
|
+
visibility: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, true, true>;
|
|
46
|
+
roomVersion: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, false, true>;
|
|
47
|
+
federate: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"boolean", null, false, true>;
|
|
48
|
+
chat: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"uri", null, false, false>;
|
|
49
|
+
members: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"array", "uri", false, false>;
|
|
50
|
+
metadata: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"object", null, false, false>;
|
|
51
|
+
createdAt: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"datetime", null, true, true>;
|
|
52
|
+
updatedAt: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"datetime", null, true, true>;
|
|
53
|
+
}>>;
|
|
54
|
+
/**
|
|
55
|
+
* Matrix event resource.
|
|
56
|
+
*
|
|
57
|
+
* Events are date-bucketed under their room and can optionally link to the
|
|
58
|
+
* xpod/Solid Chat message generated by the same protocol send operation.
|
|
59
|
+
*/
|
|
60
|
+
export declare const matrixEventResource: import("@undefineds.co/drizzle-solid/dist/core/schema").PodTableWithColumns<import("@undefineds.co/drizzle-solid/dist/core/schema").ResolvedColumns<{
|
|
61
|
+
id: import("@undefineds.co/drizzle-solid/dist/core/schema").PodStringColumn<false, false>;
|
|
62
|
+
matrixEventId: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, true, false>;
|
|
63
|
+
matrixRoomId: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, true, false>;
|
|
64
|
+
room: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"uri", null, false, false>;
|
|
65
|
+
type: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, true, false>;
|
|
66
|
+
stateKey: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, false, false>;
|
|
67
|
+
sender: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, true, false>;
|
|
68
|
+
senderWebId: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"uri", null, false, false>;
|
|
69
|
+
originServerTs: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"integer", null, true, false>;
|
|
70
|
+
depth: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"integer", null, true, true>;
|
|
71
|
+
txnId: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, false, false>;
|
|
72
|
+
content: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"object", null, true, false>;
|
|
73
|
+
unsigned: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"object", null, false, false>;
|
|
74
|
+
redacts: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"uri", null, false, false>;
|
|
75
|
+
relatedMessage: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"uri", null, false, false>;
|
|
76
|
+
metadata: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"object", null, false, false>;
|
|
77
|
+
createdAt: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"datetime", null, true, true>;
|
|
78
|
+
updatedAt: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"datetime", null, false, false>;
|
|
79
|
+
}>>;
|
|
80
|
+
export declare const matrixAccountTable: import("@undefineds.co/drizzle-solid/dist/core/schema").PodTableWithColumns<import("@undefineds.co/drizzle-solid/dist/core/schema").ResolvedColumns<{
|
|
81
|
+
id: import("@undefineds.co/drizzle-solid/dist/core/schema").PodStringColumn<false, false>;
|
|
82
|
+
matrixUserId: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, true, false>;
|
|
83
|
+
webId: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"uri", null, true, false>;
|
|
84
|
+
displayName: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, false, false>;
|
|
85
|
+
avatarUrl: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"uri", null, false, false>;
|
|
86
|
+
deviceId: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, false, false>;
|
|
87
|
+
accessTokenHash: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, false, false>;
|
|
88
|
+
metadata: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"object", null, false, false>;
|
|
89
|
+
createdAt: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"datetime", null, true, true>;
|
|
90
|
+
updatedAt: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"datetime", null, true, true>;
|
|
91
|
+
}>>;
|
|
92
|
+
export declare const matrixRoomTable: import("@undefineds.co/drizzle-solid/dist/core/schema").PodTableWithColumns<import("@undefineds.co/drizzle-solid/dist/core/schema").ResolvedColumns<{
|
|
93
|
+
id: import("@undefineds.co/drizzle-solid/dist/core/schema").PodStringColumn<false, false>;
|
|
94
|
+
matrixRoomId: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, true, false>;
|
|
95
|
+
canonicalAlias: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, false, false>;
|
|
96
|
+
name: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, false, false>;
|
|
97
|
+
topic: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, false, false>;
|
|
98
|
+
creator: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"uri", null, false, false>;
|
|
99
|
+
visibility: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, true, true>;
|
|
100
|
+
roomVersion: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, false, true>;
|
|
101
|
+
federate: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"boolean", null, false, true>;
|
|
102
|
+
chat: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"uri", null, false, false>;
|
|
103
|
+
members: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"array", "uri", false, false>;
|
|
104
|
+
metadata: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"object", null, false, false>;
|
|
105
|
+
createdAt: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"datetime", null, true, true>;
|
|
106
|
+
updatedAt: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"datetime", null, true, true>;
|
|
107
|
+
}>>;
|
|
108
|
+
export declare const matrixEventTable: import("@undefineds.co/drizzle-solid/dist/core/schema").PodTableWithColumns<import("@undefineds.co/drizzle-solid/dist/core/schema").ResolvedColumns<{
|
|
109
|
+
id: import("@undefineds.co/drizzle-solid/dist/core/schema").PodStringColumn<false, false>;
|
|
110
|
+
matrixEventId: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, true, false>;
|
|
111
|
+
matrixRoomId: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, true, false>;
|
|
112
|
+
room: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"uri", null, false, false>;
|
|
113
|
+
type: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, true, false>;
|
|
114
|
+
stateKey: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, false, false>;
|
|
115
|
+
sender: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, true, false>;
|
|
116
|
+
senderWebId: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"uri", null, false, false>;
|
|
117
|
+
originServerTs: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"integer", null, true, false>;
|
|
118
|
+
depth: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"integer", null, true, true>;
|
|
119
|
+
txnId: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, false, false>;
|
|
120
|
+
content: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"object", null, true, false>;
|
|
121
|
+
unsigned: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"object", null, false, false>;
|
|
122
|
+
redacts: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"uri", null, false, false>;
|
|
123
|
+
relatedMessage: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"uri", null, false, false>;
|
|
124
|
+
metadata: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"object", null, false, false>;
|
|
125
|
+
createdAt: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"datetime", null, true, true>;
|
|
126
|
+
updatedAt: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"datetime", null, false, false>;
|
|
127
|
+
}>>;
|
|
128
|
+
export type MatrixAccountRow = typeof matrixAccountResource.$inferSelect;
|
|
129
|
+
export type MatrixAccountInsert = typeof matrixAccountResource.$inferInsert;
|
|
130
|
+
export type MatrixAccountUpdate = typeof matrixAccountResource.$inferUpdate;
|
|
131
|
+
export type MatrixRoomRow = typeof matrixRoomResource.$inferSelect;
|
|
132
|
+
export type MatrixRoomInsert = typeof matrixRoomResource.$inferInsert;
|
|
133
|
+
export type MatrixRoomUpdate = typeof matrixRoomResource.$inferUpdate;
|
|
134
|
+
export type MatrixEventRow = typeof matrixEventResource.$inferSelect;
|
|
135
|
+
export type MatrixEventInsert = typeof matrixEventResource.$inferInsert;
|
|
136
|
+
export type MatrixEventUpdate = typeof matrixEventResource.$inferUpdate;
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { boolean, id, integer, object, podTable, string, text, timestamp, uri } from '@undefineds.co/drizzle-solid';
|
|
2
|
+
import { DCTerms, SCHEMA, SIOC, UDFS, WF } from './namespaces.js';
|
|
3
|
+
import { chatResource } from './chat.schema.js';
|
|
4
|
+
import { messageResource } from './message.schema.js';
|
|
5
|
+
import { matrixAccountResourceId, matrixEventResourceId, matrixRoomResourceId, } from './resource-id-defaults.js';
|
|
6
|
+
export const MatrixRoomVisibility = {
|
|
7
|
+
PRIVATE: 'private',
|
|
8
|
+
PUBLIC: 'public',
|
|
9
|
+
};
|
|
10
|
+
export const MatrixMembership = {
|
|
11
|
+
JOIN: 'join',
|
|
12
|
+
INVITE: 'invite',
|
|
13
|
+
LEAVE: 'leave',
|
|
14
|
+
BAN: 'ban',
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* Matrix account/device state owned by a Pod.
|
|
18
|
+
*
|
|
19
|
+
* This resource records the Matrix protocol identity projected from a Solid
|
|
20
|
+
* identity. Tokens are represented by hashes only; API handlers own raw token
|
|
21
|
+
* issuance/verification.
|
|
22
|
+
*/
|
|
23
|
+
export const matrixAccountResource = podTable('matrix_account', {
|
|
24
|
+
id: id('id').default(matrixAccountResourceId),
|
|
25
|
+
matrixUserId: string('matrixUserId').predicate(UDFS.matrixUserId).notNull(),
|
|
26
|
+
webId: uri('webId').predicate(UDFS.term('webId')).notNull(),
|
|
27
|
+
displayName: string('displayName').predicate(SCHEMA.name),
|
|
28
|
+
avatarUrl: uri('avatarUrl').predicate(SCHEMA.image),
|
|
29
|
+
deviceId: string('deviceId').predicate(UDFS.matrixDeviceId),
|
|
30
|
+
accessTokenHash: string('accessTokenHash').predicate(UDFS.matrixAccessTokenHash),
|
|
31
|
+
metadata: object('metadata').predicate(UDFS.metadata),
|
|
32
|
+
createdAt: timestamp('createdAt').predicate(DCTerms.created).notNull().defaultNow(),
|
|
33
|
+
updatedAt: timestamp('updatedAt').predicate(DCTerms.modified).notNull().defaultNow(),
|
|
34
|
+
}, {
|
|
35
|
+
base: '/.data/matrix/',
|
|
36
|
+
sparqlEndpoint: '/.data/matrix/-/sparql',
|
|
37
|
+
type: UDFS.MatrixAccount,
|
|
38
|
+
namespace: UDFS,
|
|
39
|
+
});
|
|
40
|
+
/**
|
|
41
|
+
* Matrix room projected into Pod storage.
|
|
42
|
+
*
|
|
43
|
+
* `chat` links the protocol room to the existing Solid Chat conversation
|
|
44
|
+
* resource so Matrix messages can also participate in xpod chat views.
|
|
45
|
+
*/
|
|
46
|
+
export const matrixRoomResource = podTable('matrix_room', {
|
|
47
|
+
id: id('id').default(matrixRoomResourceId),
|
|
48
|
+
matrixRoomId: string('matrixRoomId').predicate(UDFS.matrixRoomId).notNull(),
|
|
49
|
+
canonicalAlias: string('canonicalAlias').predicate(UDFS.matrixRoomAlias),
|
|
50
|
+
name: string('name').predicate(DCTerms.title),
|
|
51
|
+
topic: text('topic').predicate(DCTerms.description),
|
|
52
|
+
creator: uri('creator').predicate(UDFS.term('creator')),
|
|
53
|
+
visibility: string('visibility').predicate(UDFS.status).notNull().default(MatrixRoomVisibility.PRIVATE),
|
|
54
|
+
roomVersion: string('roomVersion').predicate(UDFS.matrixRoomVersion).default('11'),
|
|
55
|
+
federate: boolean('federate').predicate(UDFS.term('federate')).default(false),
|
|
56
|
+
chat: uri('chat').predicate(UDFS.conversation).link(chatResource),
|
|
57
|
+
members: uri('members').array().predicate(WF.participant),
|
|
58
|
+
metadata: object('metadata').predicate(UDFS.metadata),
|
|
59
|
+
createdAt: timestamp('createdAt').predicate(DCTerms.created).notNull().defaultNow(),
|
|
60
|
+
updatedAt: timestamp('updatedAt').predicate(DCTerms.modified).notNull().defaultNow(),
|
|
61
|
+
}, {
|
|
62
|
+
base: '/.data/matrix/',
|
|
63
|
+
sparqlEndpoint: '/.data/matrix/-/sparql',
|
|
64
|
+
type: UDFS.MatrixRoom,
|
|
65
|
+
namespace: UDFS,
|
|
66
|
+
});
|
|
67
|
+
/**
|
|
68
|
+
* Matrix event resource.
|
|
69
|
+
*
|
|
70
|
+
* Events are date-bucketed under their room and can optionally link to the
|
|
71
|
+
* xpod/Solid Chat message generated by the same protocol send operation.
|
|
72
|
+
*/
|
|
73
|
+
export const matrixEventResource = podTable('matrix_event', {
|
|
74
|
+
id: id('id').default(matrixEventResourceId),
|
|
75
|
+
matrixEventId: string('matrixEventId').predicate(UDFS.matrixEventId).notNull(),
|
|
76
|
+
matrixRoomId: string('matrixRoomId').predicate(UDFS.matrixRoomId).notNull(),
|
|
77
|
+
room: uri('room').predicate(SIOC.hasContainer).link(matrixRoomResource),
|
|
78
|
+
type: string('type').predicate(UDFS.matrixEventType).notNull(),
|
|
79
|
+
stateKey: string('stateKey').predicate(UDFS.matrixStateKey),
|
|
80
|
+
sender: string('sender').predicate(UDFS.matrixSender).notNull(),
|
|
81
|
+
senderWebId: uri('senderWebId').predicate(UDFS.matrixSenderWebId),
|
|
82
|
+
originServerTs: integer('originServerTs').predicate(UDFS.matrixOriginServerTs).notNull(),
|
|
83
|
+
depth: integer('depth').predicate(UDFS.matrixDepth).notNull().default(1),
|
|
84
|
+
txnId: string('txnId').predicate(UDFS.matrixTxnId),
|
|
85
|
+
content: object('content').predicate(UDFS.messageContent).notNull(),
|
|
86
|
+
unsigned: object('unsigned').predicate(UDFS.matrixUnsigned),
|
|
87
|
+
redacts: uri('redacts').predicate(UDFS.term('redacts')),
|
|
88
|
+
relatedMessage: uri('relatedMessage').predicate(WF.message).link(messageResource),
|
|
89
|
+
metadata: object('metadata').predicate(UDFS.metadata),
|
|
90
|
+
createdAt: timestamp('createdAt').predicate(DCTerms.created).notNull().defaultNow(),
|
|
91
|
+
updatedAt: timestamp('updatedAt').predicate(DCTerms.modified),
|
|
92
|
+
}, {
|
|
93
|
+
base: '/.data/matrix/',
|
|
94
|
+
sparqlEndpoint: '/.data/matrix/-/sparql',
|
|
95
|
+
type: UDFS.MatrixEvent,
|
|
96
|
+
namespace: UDFS,
|
|
97
|
+
});
|
|
98
|
+
export const matrixAccountTable = matrixAccountResource;
|
|
99
|
+
export const matrixRoomTable = matrixRoomResource;
|
|
100
|
+
export const matrixEventTable = matrixEventResource;
|
package/dist/namespaces.js
CHANGED
|
@@ -254,6 +254,25 @@ export const UDFS = createNamespace('udfs', 'https://undefineds.co/ns#', {
|
|
|
254
254
|
taskSteps: 'taskSteps',
|
|
255
255
|
currentStep: 'currentStep',
|
|
256
256
|
totalSteps: 'totalSteps',
|
|
257
|
+
// Matrix protocol adapter
|
|
258
|
+
MatrixAccount: 'MatrixAccount',
|
|
259
|
+
MatrixRoom: 'MatrixRoom',
|
|
260
|
+
MatrixEvent: 'MatrixEvent',
|
|
261
|
+
matrixUserId: 'matrixUserId',
|
|
262
|
+
matrixDeviceId: 'matrixDeviceId',
|
|
263
|
+
matrixAccessTokenHash: 'matrixAccessTokenHash',
|
|
264
|
+
matrixRoomId: 'matrixRoomId',
|
|
265
|
+
matrixRoomAlias: 'matrixRoomAlias',
|
|
266
|
+
matrixRoomVersion: 'matrixRoomVersion',
|
|
267
|
+
matrixEventId: 'matrixEventId',
|
|
268
|
+
matrixEventType: 'matrixEventType',
|
|
269
|
+
matrixStateKey: 'matrixStateKey',
|
|
270
|
+
matrixSender: 'matrixSender',
|
|
271
|
+
matrixSenderWebId: 'matrixSenderWebId',
|
|
272
|
+
matrixTxnId: 'matrixTxnId',
|
|
273
|
+
matrixDepth: 'matrixDepth',
|
|
274
|
+
matrixOriginServerTs: 'matrixOriginServerTs',
|
|
275
|
+
matrixUnsigned: 'matrixUnsigned',
|
|
257
276
|
// Favorites V2
|
|
258
277
|
sourceModule: 'sourceModule',
|
|
259
278
|
sourceId: 'sourceId',
|
|
@@ -16,3 +16,6 @@ export declare function threadResourceId(key: string | undefined, row?: Record<s
|
|
|
16
16
|
export declare function messageResourceId(key: string | undefined, row?: Record<string, unknown>): string;
|
|
17
17
|
export declare function runResourceId(key: string | undefined, row?: Record<string, unknown>): string;
|
|
18
18
|
export declare function runStepResourceId(key: string | undefined, row?: Record<string, unknown>): string;
|
|
19
|
+
export declare function matrixAccountResourceId(key: string | undefined, row?: Record<string, unknown>): string;
|
|
20
|
+
export declare function matrixRoomResourceId(key: string | undefined, row?: Record<string, unknown>): string;
|
|
21
|
+
export declare function matrixEventResourceId(key: string | undefined, row?: Record<string, unknown>): string;
|
|
@@ -82,3 +82,27 @@ export function runStepResourceId(key, row) {
|
|
|
82
82
|
const { yyyy, MM, dd } = dateParts(row?.createdAt);
|
|
83
83
|
return `${commandKind}/${surfaceId}/${yyyy}/${MM}/${dd}/runs.ttl#${localKey}`;
|
|
84
84
|
}
|
|
85
|
+
function sanitizePathSlot(value, fallback) {
|
|
86
|
+
const raw = value && value.length > 0 ? value : resourceKey(undefined, fallback);
|
|
87
|
+
return encodeURIComponent(raw)
|
|
88
|
+
.replace(/[!'()*]/g, (char) => `%${char.charCodeAt(0).toString(16).toUpperCase()}`)
|
|
89
|
+
.replace(/%/g, '~');
|
|
90
|
+
}
|
|
91
|
+
export function matrixAccountResourceId(key, row) {
|
|
92
|
+
const matrixUserId = typeof row?.matrixUserId === 'string' ? row.matrixUserId : undefined;
|
|
93
|
+
const localKey = sanitizePathSlot(key ?? matrixUserId, 'matrix-user');
|
|
94
|
+
return `accounts/${localKey}.ttl#this`;
|
|
95
|
+
}
|
|
96
|
+
export function matrixRoomResourceId(key, row) {
|
|
97
|
+
const matrixRoomId = typeof row?.matrixRoomId === 'string' ? row.matrixRoomId : undefined;
|
|
98
|
+
const localKey = sanitizePathSlot(key ?? matrixRoomId, 'matrix-room');
|
|
99
|
+
return `rooms/${localKey}/index.ttl#this`;
|
|
100
|
+
}
|
|
101
|
+
export function matrixEventResourceId(key, row) {
|
|
102
|
+
const matrixEventId = typeof row?.matrixEventId === 'string' ? row.matrixEventId : undefined;
|
|
103
|
+
const matrixRoomId = typeof row?.matrixRoomId === 'string' ? row.matrixRoomId : undefined;
|
|
104
|
+
const localKey = sanitizePathSlot(key ?? matrixEventId, 'matrix-event');
|
|
105
|
+
const roomSlot = sanitizePathSlot(matrixRoomId, 'matrix-room');
|
|
106
|
+
const { yyyy, MM, dd } = dateParts(row?.createdAt ?? row?.originServerTs);
|
|
107
|
+
return `rooms/${roomSlot}/${yyyy}/${MM}/${dd}/events.ttl#${localKey}`;
|
|
108
|
+
}
|
package/dist/schema.d.ts
CHANGED
|
@@ -316,6 +316,54 @@ export declare const solidResources: {
|
|
|
316
316
|
closedAt: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"datetime", null, false, false>;
|
|
317
317
|
deletedAt: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"datetime", null, false, false>;
|
|
318
318
|
}>>;
|
|
319
|
+
matrixAccountResource: import("@undefineds.co/drizzle-solid/dist/core/schema").PodTableWithColumns<import("@undefineds.co/drizzle-solid/dist/core/schema").ResolvedColumns<{
|
|
320
|
+
id: import("@undefineds.co/drizzle-solid/dist/core/schema").PodStringColumn<false, false>;
|
|
321
|
+
matrixUserId: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, true, false>;
|
|
322
|
+
webId: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"uri", null, true, false>;
|
|
323
|
+
displayName: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, false, false>;
|
|
324
|
+
avatarUrl: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"uri", null, false, false>;
|
|
325
|
+
deviceId: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, false, false>;
|
|
326
|
+
accessTokenHash: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, false, false>;
|
|
327
|
+
metadata: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"object", null, false, false>;
|
|
328
|
+
createdAt: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"datetime", null, true, true>;
|
|
329
|
+
updatedAt: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"datetime", null, true, true>;
|
|
330
|
+
}>>;
|
|
331
|
+
matrixRoomResource: import("@undefineds.co/drizzle-solid/dist/core/schema").PodTableWithColumns<import("@undefineds.co/drizzle-solid/dist/core/schema").ResolvedColumns<{
|
|
332
|
+
id: import("@undefineds.co/drizzle-solid/dist/core/schema").PodStringColumn<false, false>;
|
|
333
|
+
matrixRoomId: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, true, false>;
|
|
334
|
+
canonicalAlias: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, false, false>;
|
|
335
|
+
name: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, false, false>;
|
|
336
|
+
topic: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, false, false>;
|
|
337
|
+
creator: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"uri", null, false, false>;
|
|
338
|
+
visibility: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, true, true>;
|
|
339
|
+
roomVersion: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, false, true>;
|
|
340
|
+
federate: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"boolean", null, false, true>;
|
|
341
|
+
chat: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"uri", null, false, false>;
|
|
342
|
+
members: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"array", "uri", false, false>;
|
|
343
|
+
metadata: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"object", null, false, false>;
|
|
344
|
+
createdAt: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"datetime", null, true, true>;
|
|
345
|
+
updatedAt: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"datetime", null, true, true>;
|
|
346
|
+
}>>;
|
|
347
|
+
matrixEventResource: import("@undefineds.co/drizzle-solid/dist/core/schema").PodTableWithColumns<import("@undefineds.co/drizzle-solid/dist/core/schema").ResolvedColumns<{
|
|
348
|
+
id: import("@undefineds.co/drizzle-solid/dist/core/schema").PodStringColumn<false, false>;
|
|
349
|
+
matrixEventId: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, true, false>;
|
|
350
|
+
matrixRoomId: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, true, false>;
|
|
351
|
+
room: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"uri", null, false, false>;
|
|
352
|
+
type: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, true, false>;
|
|
353
|
+
stateKey: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, false, false>;
|
|
354
|
+
sender: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, true, false>;
|
|
355
|
+
senderWebId: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"uri", null, false, false>;
|
|
356
|
+
originServerTs: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"integer", null, true, false>;
|
|
357
|
+
depth: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"integer", null, true, true>;
|
|
358
|
+
txnId: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, false, false>;
|
|
359
|
+
content: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"object", null, true, false>;
|
|
360
|
+
unsigned: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"object", null, false, false>;
|
|
361
|
+
redacts: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"uri", null, false, false>;
|
|
362
|
+
relatedMessage: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"uri", null, false, false>;
|
|
363
|
+
metadata: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"object", null, false, false>;
|
|
364
|
+
createdAt: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"datetime", null, true, true>;
|
|
365
|
+
updatedAt: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"datetime", null, false, false>;
|
|
366
|
+
}>>;
|
|
319
367
|
approvalResource: import("@undefineds.co/drizzle-solid/dist/core/schema").PodTableWithColumns<import("@undefineds.co/drizzle-solid/dist/core/schema").ResolvedColumns<{
|
|
320
368
|
id: import("@undefineds.co/drizzle-solid/dist/core/schema").PodStringColumn<false, false>;
|
|
321
369
|
session: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"uri", null, true, false>;
|
|
@@ -709,6 +757,54 @@ export declare const solidSchema: {
|
|
|
709
757
|
closedAt: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"datetime", null, false, false>;
|
|
710
758
|
deletedAt: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"datetime", null, false, false>;
|
|
711
759
|
}>>;
|
|
760
|
+
matrixAccountTable: import("@undefineds.co/drizzle-solid/dist/core/schema").PodTableWithColumns<import("@undefineds.co/drizzle-solid/dist/core/schema").ResolvedColumns<{
|
|
761
|
+
id: import("@undefineds.co/drizzle-solid/dist/core/schema").PodStringColumn<false, false>;
|
|
762
|
+
matrixUserId: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, true, false>;
|
|
763
|
+
webId: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"uri", null, true, false>;
|
|
764
|
+
displayName: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, false, false>;
|
|
765
|
+
avatarUrl: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"uri", null, false, false>;
|
|
766
|
+
deviceId: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, false, false>;
|
|
767
|
+
accessTokenHash: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, false, false>;
|
|
768
|
+
metadata: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"object", null, false, false>;
|
|
769
|
+
createdAt: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"datetime", null, true, true>;
|
|
770
|
+
updatedAt: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"datetime", null, true, true>;
|
|
771
|
+
}>>;
|
|
772
|
+
matrixRoomTable: import("@undefineds.co/drizzle-solid/dist/core/schema").PodTableWithColumns<import("@undefineds.co/drizzle-solid/dist/core/schema").ResolvedColumns<{
|
|
773
|
+
id: import("@undefineds.co/drizzle-solid/dist/core/schema").PodStringColumn<false, false>;
|
|
774
|
+
matrixRoomId: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, true, false>;
|
|
775
|
+
canonicalAlias: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, false, false>;
|
|
776
|
+
name: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, false, false>;
|
|
777
|
+
topic: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, false, false>;
|
|
778
|
+
creator: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"uri", null, false, false>;
|
|
779
|
+
visibility: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, true, true>;
|
|
780
|
+
roomVersion: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, false, true>;
|
|
781
|
+
federate: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"boolean", null, false, true>;
|
|
782
|
+
chat: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"uri", null, false, false>;
|
|
783
|
+
members: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"array", "uri", false, false>;
|
|
784
|
+
metadata: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"object", null, false, false>;
|
|
785
|
+
createdAt: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"datetime", null, true, true>;
|
|
786
|
+
updatedAt: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"datetime", null, true, true>;
|
|
787
|
+
}>>;
|
|
788
|
+
matrixEventTable: import("@undefineds.co/drizzle-solid/dist/core/schema").PodTableWithColumns<import("@undefineds.co/drizzle-solid/dist/core/schema").ResolvedColumns<{
|
|
789
|
+
id: import("@undefineds.co/drizzle-solid/dist/core/schema").PodStringColumn<false, false>;
|
|
790
|
+
matrixEventId: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, true, false>;
|
|
791
|
+
matrixRoomId: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, true, false>;
|
|
792
|
+
room: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"uri", null, false, false>;
|
|
793
|
+
type: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, true, false>;
|
|
794
|
+
stateKey: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, false, false>;
|
|
795
|
+
sender: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, true, false>;
|
|
796
|
+
senderWebId: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"uri", null, false, false>;
|
|
797
|
+
originServerTs: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"integer", null, true, false>;
|
|
798
|
+
depth: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"integer", null, true, true>;
|
|
799
|
+
txnId: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, false, false>;
|
|
800
|
+
content: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"object", null, true, false>;
|
|
801
|
+
unsigned: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"object", null, false, false>;
|
|
802
|
+
redacts: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"uri", null, false, false>;
|
|
803
|
+
relatedMessage: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"uri", null, false, false>;
|
|
804
|
+
metadata: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"object", null, false, false>;
|
|
805
|
+
createdAt: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"datetime", null, true, true>;
|
|
806
|
+
updatedAt: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"datetime", null, false, false>;
|
|
807
|
+
}>>;
|
|
712
808
|
approvalTable: import("@undefineds.co/drizzle-solid/dist/core/schema").PodTableWithColumns<import("@undefineds.co/drizzle-solid/dist/core/schema").ResolvedColumns<{
|
|
713
809
|
id: import("@undefineds.co/drizzle-solid/dist/core/schema").PodStringColumn<false, false>;
|
|
714
810
|
session: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"uri", null, true, false>;
|
package/dist/schema.js
CHANGED
|
@@ -12,6 +12,7 @@ import { fileResource, fileTable } from './file/file.schema.js';
|
|
|
12
12
|
import { grantResource, grantTable } from './grant.schema.js';
|
|
13
13
|
import { inboxNotificationResource, inboxNotificationTable } from './inbox-notification.schema.js';
|
|
14
14
|
import { issueResource, issueTable } from './issue.schema.js';
|
|
15
|
+
import { matrixAccountResource, matrixAccountTable, matrixEventResource, matrixEventTable, matrixRoomResource, matrixRoomTable } from './matrix.schema.js';
|
|
15
16
|
import { messageResource, messageTable } from './message.schema.js';
|
|
16
17
|
import { solidProfileResource, solidProfileTable } from './profile.schema.js';
|
|
17
18
|
import { runResource, runStepResource, runTable, runStepTable } from './run.schema.js';
|
|
@@ -41,6 +42,9 @@ export const solidResources = {
|
|
|
41
42
|
favoriteResource,
|
|
42
43
|
settingsResource,
|
|
43
44
|
issueResource,
|
|
45
|
+
matrixAccountResource,
|
|
46
|
+
matrixRoomResource,
|
|
47
|
+
matrixEventResource,
|
|
44
48
|
// Sidecar collaboration data
|
|
45
49
|
approvalResource,
|
|
46
50
|
auditResource,
|
|
@@ -71,6 +75,9 @@ export const solidSchema = {
|
|
|
71
75
|
favoriteTable,
|
|
72
76
|
settingsTable,
|
|
73
77
|
issueTable,
|
|
78
|
+
matrixAccountTable,
|
|
79
|
+
matrixRoomTable,
|
|
80
|
+
matrixEventTable,
|
|
74
81
|
// Sidecar collaboration data
|
|
75
82
|
approvalTable,
|
|
76
83
|
auditTable,
|