@undefineds.co/models 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +578 -0
- package/dist/_drizzle-solid/columns.d.ts +37 -0
- package/dist/_drizzle-solid/columns.js +1 -0
- package/dist/_drizzle-solid/pod-table.d.ts +3 -0
- package/dist/_drizzle-solid/pod-table.js +1 -0
- package/dist/_drizzle-solid/types.d.ts +40 -0
- package/dist/_drizzle-solid/types.js +1 -0
- package/dist/agent.providers.d.ts +13 -0
- package/dist/agent.providers.js +69 -0
- package/dist/agent.repository.d.ts +85 -0
- package/dist/agent.repository.js +7 -0
- package/dist/agent.schema.d.ts +1 -0
- package/dist/agent.schema.js +1 -0
- package/dist/ai-config/index.d.ts +61 -0
- package/dist/ai-config/index.js +294 -0
- package/dist/ai-config.d.ts +1 -0
- package/dist/ai-config.js +1 -0
- package/dist/ai-model.schema.d.ts +1 -0
- package/dist/ai-model.schema.js +1 -0
- package/dist/ai-provider.schema.d.ts +1 -0
- package/dist/ai-provider.schema.js +1 -0
- package/dist/approval.schema.d.ts +1 -0
- package/dist/approval.schema.js +1 -0
- package/dist/audit.schema.d.ts +1 -0
- package/dist/audit.schema.js +1 -0
- package/dist/chat.repository.d.ts +61 -0
- package/dist/chat.repository.js +8 -0
- package/dist/chat.schema.d.ts +1 -0
- package/dist/chat.schema.js +1 -0
- package/dist/chat.utils.d.ts +3 -0
- package/dist/chat.utils.js +30 -0
- package/dist/contact.repository.d.ts +85 -0
- package/dist/contact.repository.js +8 -0
- package/dist/contact.schema.d.ts +1 -0
- package/dist/contact.schema.js +1 -0
- package/dist/core/agent-provider.schema.d.ts +1 -0
- package/dist/core/agent-provider.schema.js +1 -0
- package/dist/core/agent-status.schema.d.ts +12 -0
- package/dist/core/agent-status.schema.js +18 -0
- package/dist/core/agent.schema.d.ts +72 -0
- package/dist/core/agent.schema.js +38 -0
- package/dist/core/ai-config.schema.d.ts +11 -0
- package/dist/core/ai-config.schema.js +18 -0
- package/dist/core/ai-model.schema.d.ts +15 -0
- package/dist/core/ai-model.schema.js +21 -0
- package/dist/core/ai-provider.schema.d.ts +16 -0
- package/dist/core/ai-provider.schema.js +28 -0
- package/dist/core/approval.schema.d.ts +21 -0
- package/dist/core/approval.schema.js +33 -0
- package/dist/core/audit.schema.d.ts +17 -0
- package/dist/core/audit.schema.js +29 -0
- package/dist/core/chat.schema.d.ts +36 -0
- package/dist/core/chat.schema.js +45 -0
- package/dist/core/contact.schema.d.ts +47 -0
- package/dist/core/contact.schema.js +59 -0
- package/dist/core/credential.schema.d.ts +56 -0
- package/dist/core/credential.schema.js +40 -0
- package/dist/core/extension/extension.schema.d.ts +4 -0
- package/dist/core/extension/extension.schema.js +11 -0
- package/dist/core/extension/index.d.ts +1 -0
- package/dist/core/extension/index.js +1 -0
- package/dist/core/extension.d.ts +1 -0
- package/dist/core/extension.js +1 -0
- package/dist/core/favorite/favorite.schema.d.ts +24 -0
- package/dist/core/favorite/favorite.schema.js +34 -0
- package/dist/core/favorite/index.d.ts +1 -0
- package/dist/core/favorite/index.js +1 -0
- package/dist/core/file/file.schema.d.ts +39 -0
- package/dist/core/file/file.schema.js +51 -0
- package/dist/core/file/index.d.ts +1 -0
- package/dist/core/file/index.js +1 -0
- package/dist/core/file.d.ts +1 -0
- package/dist/core/file.js +1 -0
- package/dist/core/grant.schema.d.ts +16 -0
- package/dist/core/grant.schema.js +29 -0
- package/dist/core/import/import-job.schema.d.ts +5 -0
- package/dist/core/import/import-job.schema.js +5 -0
- package/dist/core/import/index.d.ts +1 -0
- package/dist/core/import/index.js +1 -0
- package/dist/core/import.d.ts +1 -0
- package/dist/core/import.js +1 -0
- package/dist/core/inbox-notification.schema.d.ts +9 -0
- package/dist/core/inbox-notification.schema.js +16 -0
- package/dist/core/index.d.ts +31 -0
- package/dist/core/index.js +32 -0
- package/dist/core/knowledge/index.d.ts +1 -0
- package/dist/core/knowledge/index.js +1 -0
- package/dist/core/knowledge/knowledge-folder.schema.d.ts +7 -0
- package/dist/core/knowledge/knowledge-folder.schema.js +6 -0
- package/dist/core/knowledge.d.ts +1 -0
- package/dist/core/knowledge.js +1 -0
- package/dist/core/message.schema.d.ts +33 -0
- package/dist/core/message.schema.js +49 -0
- package/dist/core/namespaces.d.ts +176 -0
- package/dist/core/namespaces.js +289 -0
- package/dist/core/profile.d.ts +16 -0
- package/dist/core/profile.js +19 -0
- package/dist/core/schema.d.ts +304 -0
- package/dist/core/schema.js +46 -0
- package/dist/core/session/index.d.ts +1 -0
- package/dist/core/session/index.js +1 -0
- package/dist/core/session/session.schema.d.ts +6 -0
- package/dist/core/session/session.schema.js +6 -0
- package/dist/core/session.d.ts +1 -0
- package/dist/core/session.js +1 -0
- package/dist/core/settings/index.d.ts +1 -0
- package/dist/core/settings/index.js +1 -0
- package/dist/core/settings/settings.schema.d.ts +49 -0
- package/dist/core/settings/settings.schema.js +63 -0
- package/dist/core/settings.d.ts +1 -0
- package/dist/core/settings.js +1 -0
- package/dist/core/thread.schema.d.ts +28 -0
- package/dist/core/thread.schema.js +36 -0
- package/dist/core/types/collaboration-blocks.d.ts +52 -0
- package/dist/core/types/collaboration-blocks.js +7 -0
- package/dist/core/types/message-block.d.ts +270 -0
- package/dist/core/types/message-block.js +125 -0
- package/dist/core/vector-store.schema.d.ts +25 -0
- package/dist/core/vector-store.schema.js +35 -0
- package/dist/core/vocab/_namespaces.d.ts +1 -0
- package/dist/core/vocab/_namespaces.js +3 -0
- package/dist/core/vocab/chat.vocab.d.ts +16 -0
- package/dist/core/vocab/chat.vocab.js +22 -0
- package/dist/core/vocab/contact.vocab.d.ts +21 -0
- package/dist/core/vocab/contact.vocab.js +22 -0
- package/dist/core/vocab/index.d.ts +6 -0
- package/dist/core/vocab/index.js +6 -0
- package/dist/core/vocab/message.vocab.d.ts +20 -0
- package/dist/core/vocab/message.vocab.js +24 -0
- package/dist/core/vocab/sidecar.vocab.d.ts +46 -0
- package/dist/core/vocab/sidecar.vocab.js +47 -0
- package/dist/core/vocab/thread.vocab.d.ts +11 -0
- package/dist/core/vocab/thread.vocab.js +14 -0
- package/dist/core/vocab/workspace.vocab.d.ts +12 -0
- package/dist/core/vocab/workspace.vocab.js +13 -0
- package/dist/core/vocab.d.ts +1 -0
- package/dist/core/vocab.js +1 -0
- package/dist/core/workspace.schema.d.ts +35 -0
- package/dist/core/workspace.schema.js +106 -0
- package/dist/core.d.ts +1 -0
- package/dist/core.js +1 -0
- package/dist/credential.schema.d.ts +1 -0
- package/dist/credential.schema.js +1 -0
- package/dist/discovery/index.d.ts +31 -0
- package/dist/discovery/index.js +147 -0
- package/dist/discovery/models.json +2623 -0
- package/dist/discovery/providers.json +156 -0
- package/dist/discovery/types.d.ts +103 -0
- package/dist/discovery/types.js +12 -0
- package/dist/discovery/vercel.d.ts +25 -0
- package/dist/discovery/vercel.js +95 -0
- package/dist/discovery.d.ts +1 -0
- package/dist/discovery.js +1 -0
- package/dist/extension/extension.schema.d.ts +1 -0
- package/dist/extension/extension.schema.js +1 -0
- package/dist/extension/index.d.ts +1 -0
- package/dist/extension/index.js +1 -0
- package/dist/extension.d.ts +1 -0
- package/dist/extension.js +1 -0
- package/dist/favorite/favorite.schema.d.ts +1 -0
- package/dist/favorite/favorite.schema.js +1 -0
- package/dist/favorite/index.d.ts +2 -0
- package/dist/favorite/index.js +7 -0
- package/dist/favorite/starred-sync.d.ts +66 -0
- package/dist/favorite/starred-sync.js +156 -0
- package/dist/favorite.d.ts +1 -0
- package/dist/favorite.js +1 -0
- package/dist/file/file.schema.d.ts +1 -0
- package/dist/file/file.schema.js +1 -0
- package/dist/file/index.d.ts +1 -0
- package/dist/file/index.js +1 -0
- package/dist/file.d.ts +1 -0
- package/dist/file.js +1 -0
- package/dist/fixtures/contracts-chat-contact.d.ts +13 -0
- package/dist/fixtures/contracts-chat-contact.js +76 -0
- package/dist/grant.schema.d.ts +1 -0
- package/dist/grant.schema.js +1 -0
- package/dist/import/import-job.schema.d.ts +5 -0
- package/dist/import/import-job.schema.js +5 -0
- package/dist/import/index.d.ts +1 -0
- package/dist/import/index.js +1 -0
- package/dist/import.d.ts +1 -0
- package/dist/import.js +1 -0
- package/dist/inbox-notification.schema.d.ts +1 -0
- package/dist/inbox-notification.schema.js +1 -0
- package/dist/index.d.ts +41 -0
- package/dist/index.js +83 -0
- package/dist/knowledge/index.d.ts +1 -0
- package/dist/knowledge/index.js +1 -0
- package/dist/knowledge/knowledge-folder.schema.d.ts +1 -0
- package/dist/knowledge/knowledge-folder.schema.js +1 -0
- package/dist/knowledge.d.ts +1 -0
- package/dist/knowledge.js +1 -0
- package/dist/message.repository.d.ts +81 -0
- package/dist/message.repository.js +8 -0
- package/dist/message.schema.d.ts +1 -0
- package/dist/message.schema.js +1 -0
- package/dist/namespaces.d.ts +1 -0
- package/dist/namespaces.js +1 -0
- package/dist/profile.d.ts +1 -0
- package/dist/profile.js +1 -0
- package/dist/repository.d.ts +59 -0
- package/dist/repository.js +186 -0
- package/dist/schema.d.ts +1 -0
- package/dist/schema.js +1 -0
- package/dist/session/index.d.ts +1 -0
- package/dist/session/index.js +1 -0
- package/dist/session/session.schema.d.ts +1 -0
- package/dist/session/session.schema.js +1 -0
- package/dist/session.d.ts +1 -0
- package/dist/session.js +1 -0
- package/dist/settings/index.d.ts +1 -0
- package/dist/settings/index.js +1 -0
- package/dist/settings/settings.schema.d.ts +1 -0
- package/dist/settings/settings.schema.js +1 -0
- package/dist/settings.d.ts +1 -0
- package/dist/settings.js +1 -0
- package/dist/sidecar/index.d.ts +2 -0
- package/dist/sidecar/index.js +2 -0
- package/dist/sidecar/persistence-mapping.d.ts +51 -0
- package/dist/sidecar/persistence-mapping.js +44 -0
- package/dist/sidecar/sidecar-events.d.ts +632 -0
- package/dist/sidecar/sidecar-events.js +133 -0
- package/dist/thread.repository.d.ts +41 -0
- package/dist/thread.repository.js +8 -0
- package/dist/thread.schema.d.ts +1 -0
- package/dist/thread.schema.js +1 -0
- package/dist/types/collaboration-blocks.d.ts +52 -0
- package/dist/types/collaboration-blocks.js +7 -0
- package/dist/types/message-block.d.ts +270 -0
- package/dist/types/message-block.js +125 -0
- package/dist/vocab/_namespaces.d.ts +1 -0
- package/dist/vocab/_namespaces.js +3 -0
- package/dist/vocab/chat.vocab.d.ts +16 -0
- package/dist/vocab/chat.vocab.js +22 -0
- package/dist/vocab/contact.vocab.d.ts +21 -0
- package/dist/vocab/contact.vocab.js +22 -0
- package/dist/vocab/index.d.ts +6 -0
- package/dist/vocab/index.js +6 -0
- package/dist/vocab/message.vocab.d.ts +20 -0
- package/dist/vocab/message.vocab.js +24 -0
- package/dist/vocab/sidecar.vocab.d.ts +46 -0
- package/dist/vocab/sidecar.vocab.js +47 -0
- package/dist/vocab/thread.vocab.d.ts +11 -0
- package/dist/vocab/thread.vocab.js +14 -0
- package/dist/vocab/workspace.vocab.d.ts +12 -0
- package/dist/vocab/workspace.vocab.js +13 -0
- package/dist/vocab.d.ts +1 -0
- package/dist/vocab.js +1 -0
- package/dist/workspace.repository.d.ts +45 -0
- package/dist/workspace.repository.js +8 -0
- package/dist/workspace.schema.d.ts +1 -0
- package/dist/workspace.schema.js +1 -0
- package/package.json +68 -0
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
export declare const ContactType: {
|
|
2
|
+
readonly SOLID: "solid";
|
|
3
|
+
readonly EXTERNAL: "external";
|
|
4
|
+
readonly AGENT: "agent";
|
|
5
|
+
};
|
|
6
|
+
export type ContactTypeValue = typeof ContactType[keyof typeof ContactType];
|
|
7
|
+
export declare const ContactClass: {
|
|
8
|
+
readonly PERSON: string;
|
|
9
|
+
readonly AGENT: string;
|
|
10
|
+
readonly GROUP: string;
|
|
11
|
+
};
|
|
12
|
+
export type ContactClassValue = typeof ContactClass[keyof typeof ContactClass];
|
|
13
|
+
type ContactClassifier = {
|
|
14
|
+
rdfType?: string | null;
|
|
15
|
+
contactType?: string | null;
|
|
16
|
+
};
|
|
17
|
+
export declare function isGroupContact(contact: ContactClassifier | null | undefined): boolean;
|
|
18
|
+
export declare function isAgentContact(contact: ContactClassifier | null | undefined): boolean;
|
|
19
|
+
/**
|
|
20
|
+
* Contact Table - Unified contact index for all contact types.
|
|
21
|
+
*/
|
|
22
|
+
export declare const contactTable: import("@undefineds.co/models/_drizzle-solid/pod-table").PodTableWithColumns<import("@undefineds.co/models/_drizzle-solid/types").ResolvedColumns<{
|
|
23
|
+
id: import("@undefineds.co/models/_drizzle-solid/columns").PodStringColumn<false, false>;
|
|
24
|
+
name: import("@undefineds.co/models/_drizzle-solid/columns").ColumnBuilder<"string", null, true, false>;
|
|
25
|
+
avatarUrl: import("@undefineds.co/models/_drizzle-solid/columns").ColumnBuilder<"uri", null, false, false>;
|
|
26
|
+
entityUri: import("@undefineds.co/models/_drizzle-solid/columns").ColumnBuilder<"uri", null, true, false>;
|
|
27
|
+
rdfType: import("@undefineds.co/models/_drizzle-solid/columns").ColumnBuilder<"uri", null, true, true>;
|
|
28
|
+
contactType: import("@undefineds.co/models/_drizzle-solid/columns").ColumnBuilder<"string", null, true, false>;
|
|
29
|
+
isPublic: import("@undefineds.co/models/_drizzle-solid/columns").ColumnBuilder<"boolean", null, false, true>;
|
|
30
|
+
externalPlatform: import("@undefineds.co/models/_drizzle-solid/columns").ColumnBuilder<"string", null, false, false>;
|
|
31
|
+
externalId: import("@undefineds.co/models/_drizzle-solid/columns").ColumnBuilder<"string", null, false, false>;
|
|
32
|
+
alias: import("@undefineds.co/models/_drizzle-solid/columns").ColumnBuilder<"string", null, false, false>;
|
|
33
|
+
starred: import("@undefineds.co/models/_drizzle-solid/columns").ColumnBuilder<"boolean", null, false, true>;
|
|
34
|
+
note: import("@undefineds.co/models/_drizzle-solid/columns").ColumnBuilder<"string", null, false, false>;
|
|
35
|
+
sortKey: import("@undefineds.co/models/_drizzle-solid/columns").ColumnBuilder<"string", null, false, false>;
|
|
36
|
+
gender: import("@undefineds.co/models/_drizzle-solid/columns").ColumnBuilder<"string", null, false, false>;
|
|
37
|
+
province: import("@undefineds.co/models/_drizzle-solid/columns").ColumnBuilder<"string", null, false, false>;
|
|
38
|
+
city: import("@undefineds.co/models/_drizzle-solid/columns").ColumnBuilder<"string", null, false, false>;
|
|
39
|
+
createdAt: import("@undefineds.co/models/_drizzle-solid/columns").ColumnBuilder<"datetime", null, true, true>;
|
|
40
|
+
updatedAt: import("@undefineds.co/models/_drizzle-solid/columns").ColumnBuilder<"datetime", null, true, true>;
|
|
41
|
+
deletedAt: import("@undefineds.co/models/_drizzle-solid/columns").ColumnBuilder<"datetime", null, false, false>;
|
|
42
|
+
lastSyncedAt: import("@undefineds.co/models/_drizzle-solid/columns").ColumnBuilder<"datetime", null, false, false>;
|
|
43
|
+
}>>;
|
|
44
|
+
export type ContactRow = typeof contactTable.$inferSelect;
|
|
45
|
+
export type ContactInsert = typeof contactTable.$inferInsert;
|
|
46
|
+
export type ContactUpdate = typeof contactTable.$inferUpdate;
|
|
47
|
+
export {};
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { podTable, string, text, timestamp, uri, boolean, id } from '@undefineds.co/drizzle-solid';
|
|
2
|
+
import { UDFS, DCTerms, VCARD, AS, FOAF, RDF } from './namespaces.js';
|
|
3
|
+
export const ContactType = {
|
|
4
|
+
SOLID: 'solid',
|
|
5
|
+
EXTERNAL: 'external',
|
|
6
|
+
AGENT: 'agent',
|
|
7
|
+
};
|
|
8
|
+
export const ContactClass = {
|
|
9
|
+
PERSON: UDFS.PersonContact,
|
|
10
|
+
AGENT: UDFS.AgentContact,
|
|
11
|
+
GROUP: UDFS.GroupContact,
|
|
12
|
+
};
|
|
13
|
+
export function isGroupContact(contact) {
|
|
14
|
+
return contact?.rdfType === ContactClass.GROUP || contact?.contactType === 'group';
|
|
15
|
+
}
|
|
16
|
+
export function isAgentContact(contact) {
|
|
17
|
+
return contact?.rdfType === ContactClass.AGENT || contact?.contactType === ContactType.AGENT;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Contact Table - Unified contact index for all contact types.
|
|
21
|
+
*/
|
|
22
|
+
export const contactTable = podTable('contact', {
|
|
23
|
+
id: id('id'),
|
|
24
|
+
// Display information (cached for search/display)
|
|
25
|
+
name: string('name').predicate(VCARD.fn).notNull(),
|
|
26
|
+
avatarUrl: uri('avatarUrl').predicate(VCARD.hasPhoto),
|
|
27
|
+
// The actual entity this contact represents
|
|
28
|
+
entityUri: uri('entityUri').predicate(FOAF.primaryTopic).notNull(),
|
|
29
|
+
// Semantic classifier for the represented entity.
|
|
30
|
+
rdfType: uri('rdfType').predicate(RDF.type).notNull().default(ContactClass.PERSON),
|
|
31
|
+
// Runtime/source hint for fetch/handler selection.
|
|
32
|
+
// Group semantics are modeled via rdfType, not contactType.
|
|
33
|
+
contactType: string('contactType').predicate(UDFS.contactType).notNull(),
|
|
34
|
+
// Visibility (Solid social graph)
|
|
35
|
+
isPublic: boolean('isPublic').predicate(AS.audience).default(false),
|
|
36
|
+
// External platform users
|
|
37
|
+
externalPlatform: string('externalPlatform').predicate(UDFS.externalPlatform),
|
|
38
|
+
externalId: string('externalId').predicate(UDFS.externalId),
|
|
39
|
+
// User's private metadata
|
|
40
|
+
alias: string('alias').predicate(UDFS.alias),
|
|
41
|
+
starred: boolean('starred').predicate(UDFS.favorite).default(false),
|
|
42
|
+
note: text('note').predicate(VCARD.note),
|
|
43
|
+
sortKey: string('sortKey').predicate(UDFS.sortKey),
|
|
44
|
+
// Demographics
|
|
45
|
+
gender: string('gender').predicate(VCARD.hasGender),
|
|
46
|
+
province: string('province').predicate(VCARD.region),
|
|
47
|
+
city: string('city').predicate(VCARD.locality),
|
|
48
|
+
// Timestamps
|
|
49
|
+
createdAt: timestamp('createdAt').predicate(DCTerms.created).notNull().defaultNow(),
|
|
50
|
+
updatedAt: timestamp('updatedAt').predicate(DCTerms.modified).notNull().defaultNow(),
|
|
51
|
+
deletedAt: timestamp('deletedAt').predicate(UDFS.deletedAt),
|
|
52
|
+
lastSyncedAt: timestamp('lastSyncedAt').predicate(UDFS.lastSyncedAt),
|
|
53
|
+
}, {
|
|
54
|
+
base: '/.data/contacts/',
|
|
55
|
+
sparqlEndpoint: '/.data/contacts/-/sparql',
|
|
56
|
+
type: VCARD.Individual,
|
|
57
|
+
namespace: UDFS,
|
|
58
|
+
subjectTemplate: '{id}.ttl',
|
|
59
|
+
});
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
export declare const apiKeyCredentialTable: import("@undefineds.co/models/_drizzle-solid/pod-table").PodTableWithColumns<{
|
|
2
|
+
id: import("@undefineds.co/models/_drizzle-solid/columns").PodStringColumn<true, false>;
|
|
3
|
+
label: import("@undefineds.co/models/_drizzle-solid/columns").PodStringColumn<false, false>;
|
|
4
|
+
provider: import("@undefineds.co/models/_drizzle-solid/columns").PodUriColumn<false, false>;
|
|
5
|
+
apiKey: import("@undefineds.co/models/_drizzle-solid/columns").PodStringColumn<false, false>;
|
|
6
|
+
baseUrl: import("@undefineds.co/models/_drizzle-solid/columns").PodStringColumn<false, false>;
|
|
7
|
+
proxyUrl: import("@undefineds.co/models/_drizzle-solid/columns").PodStringColumn<false, false>;
|
|
8
|
+
projectId: import("@undefineds.co/models/_drizzle-solid/columns").PodStringColumn<false, false>;
|
|
9
|
+
organizationId: import("@undefineds.co/models/_drizzle-solid/columns").PodStringColumn<false, false>;
|
|
10
|
+
service: import("@undefineds.co/models/_drizzle-solid/columns").PodStringColumn<true, true>;
|
|
11
|
+
lastUsedAt: import("@undefineds.co/models/_drizzle-solid/columns").PodDateTimeColumn<false, false>;
|
|
12
|
+
failCount: import("@undefineds.co/models/_drizzle-solid/columns").PodIntegerColumn<false, true>;
|
|
13
|
+
rateLimitResetAt: import("@undefineds.co/models/_drizzle-solid/columns").PodDateTimeColumn<false, false>;
|
|
14
|
+
status: import("@undefineds.co/models/_drizzle-solid/columns").PodStringColumn<true, true>;
|
|
15
|
+
}>;
|
|
16
|
+
export declare const oauthCredentialTable: import("@undefineds.co/models/_drizzle-solid/pod-table").PodTableWithColumns<{
|
|
17
|
+
id: import("@undefineds.co/models/_drizzle-solid/columns").PodStringColumn<true, false>;
|
|
18
|
+
label: import("@undefineds.co/models/_drizzle-solid/columns").PodStringColumn<false, false>;
|
|
19
|
+
provider: import("@undefineds.co/models/_drizzle-solid/columns").PodUriColumn<false, false>;
|
|
20
|
+
oauthRefreshToken: import("@undefineds.co/models/_drizzle-solid/columns").PodStringColumn<false, false>;
|
|
21
|
+
oauthAccessToken: import("@undefineds.co/models/_drizzle-solid/columns").PodStringColumn<false, false>;
|
|
22
|
+
oauthExpiresAt: import("@undefineds.co/models/_drizzle-solid/columns").PodDateTimeColumn<false, false>;
|
|
23
|
+
baseUrl: import("@undefineds.co/models/_drizzle-solid/columns").PodStringColumn<false, false>;
|
|
24
|
+
proxyUrl: import("@undefineds.co/models/_drizzle-solid/columns").PodStringColumn<false, false>;
|
|
25
|
+
projectId: import("@undefineds.co/models/_drizzle-solid/columns").PodStringColumn<false, false>;
|
|
26
|
+
organizationId: import("@undefineds.co/models/_drizzle-solid/columns").PodStringColumn<false, false>;
|
|
27
|
+
service: import("@undefineds.co/models/_drizzle-solid/columns").PodStringColumn<true, true>;
|
|
28
|
+
lastUsedAt: import("@undefineds.co/models/_drizzle-solid/columns").PodDateTimeColumn<false, false>;
|
|
29
|
+
failCount: import("@undefineds.co/models/_drizzle-solid/columns").PodIntegerColumn<false, true>;
|
|
30
|
+
rateLimitResetAt: import("@undefineds.co/models/_drizzle-solid/columns").PodDateTimeColumn<false, false>;
|
|
31
|
+
status: import("@undefineds.co/models/_drizzle-solid/columns").PodStringColumn<true, true>;
|
|
32
|
+
}>;
|
|
33
|
+
export declare const credentialTable: import("@undefineds.co/models/_drizzle-solid/pod-table").PodTableWithColumns<{
|
|
34
|
+
id: import("@undefineds.co/models/_drizzle-solid/columns").PodStringColumn<true, false>;
|
|
35
|
+
label: import("@undefineds.co/models/_drizzle-solid/columns").PodStringColumn<false, false>;
|
|
36
|
+
provider: import("@undefineds.co/models/_drizzle-solid/columns").PodUriColumn<false, false>;
|
|
37
|
+
apiKey: import("@undefineds.co/models/_drizzle-solid/columns").PodStringColumn<false, false>;
|
|
38
|
+
baseUrl: import("@undefineds.co/models/_drizzle-solid/columns").PodStringColumn<false, false>;
|
|
39
|
+
proxyUrl: import("@undefineds.co/models/_drizzle-solid/columns").PodStringColumn<false, false>;
|
|
40
|
+
projectId: import("@undefineds.co/models/_drizzle-solid/columns").PodStringColumn<false, false>;
|
|
41
|
+
organizationId: import("@undefineds.co/models/_drizzle-solid/columns").PodStringColumn<false, false>;
|
|
42
|
+
service: import("@undefineds.co/models/_drizzle-solid/columns").PodStringColumn<true, true>;
|
|
43
|
+
lastUsedAt: import("@undefineds.co/models/_drizzle-solid/columns").PodDateTimeColumn<false, false>;
|
|
44
|
+
failCount: import("@undefineds.co/models/_drizzle-solid/columns").PodIntegerColumn<false, true>;
|
|
45
|
+
rateLimitResetAt: import("@undefineds.co/models/_drizzle-solid/columns").PodDateTimeColumn<false, false>;
|
|
46
|
+
status: import("@undefineds.co/models/_drizzle-solid/columns").PodStringColumn<true, true>;
|
|
47
|
+
}>;
|
|
48
|
+
export type CredentialRow = typeof credentialTable.$inferSelect;
|
|
49
|
+
export type CredentialInsert = typeof credentialTable.$inferInsert;
|
|
50
|
+
export type CredentialUpdate = typeof credentialTable.$inferUpdate;
|
|
51
|
+
export type ApiKeyCredentialRow = typeof apiKeyCredentialTable.$inferSelect;
|
|
52
|
+
export type ApiKeyCredentialInsert = typeof apiKeyCredentialTable.$inferInsert;
|
|
53
|
+
export type ApiKeyCredentialUpdate = typeof apiKeyCredentialTable.$inferUpdate;
|
|
54
|
+
export type OAuthCredentialRow = typeof oauthCredentialTable.$inferSelect;
|
|
55
|
+
export type OAuthCredentialInsert = typeof oauthCredentialTable.$inferInsert;
|
|
56
|
+
export type OAuthCredentialUpdate = typeof oauthCredentialTable.$inferUpdate;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { integer, solidSchema, string, timestamp, uri } from '@undefineds.co/drizzle-solid';
|
|
2
|
+
import { RDFS, UDFS } from './namespaces.js';
|
|
3
|
+
const credentialSchema = solidSchema({
|
|
4
|
+
id: string('id').primaryKey(),
|
|
5
|
+
provider: uri('provider').predicate(UDFS.provider),
|
|
6
|
+
service: string('service').predicate(UDFS.service).notNull().default('ai'),
|
|
7
|
+
status: string('status').predicate(UDFS.status).notNull().default('active'),
|
|
8
|
+
label: string('label').predicate(RDFS.label),
|
|
9
|
+
lastUsedAt: timestamp('lastUsedAt').predicate(UDFS.lastUsedAt),
|
|
10
|
+
failCount: integer('failCount').predicate(UDFS.failCount).default(0),
|
|
11
|
+
rateLimitResetAt: timestamp('rateLimitResetAt').predicate(UDFS.rateLimitResetAt),
|
|
12
|
+
baseUrl: string('baseUrl').predicate(UDFS.baseUrl),
|
|
13
|
+
proxyUrl: string('proxyUrl').predicate(UDFS.proxyUrl),
|
|
14
|
+
projectId: string('projectId').predicate(UDFS.projectId),
|
|
15
|
+
organizationId: string('organizationId').predicate(UDFS.organizationId),
|
|
16
|
+
}, {
|
|
17
|
+
type: UDFS.Credential,
|
|
18
|
+
namespace: UDFS,
|
|
19
|
+
});
|
|
20
|
+
const apiKeyCredentialSchema = credentialSchema.extend({
|
|
21
|
+
apiKey: string('apiKey').predicate(UDFS.apiKey),
|
|
22
|
+
}, {
|
|
23
|
+
type: UDFS.ApiKeyCredential,
|
|
24
|
+
});
|
|
25
|
+
const oauthCredentialSchema = credentialSchema.extend({
|
|
26
|
+
oauthRefreshToken: string('oauthRefreshToken').predicate(UDFS.oauthRefreshToken),
|
|
27
|
+
oauthAccessToken: string('oauthAccessToken').predicate(UDFS.oauthAccessToken),
|
|
28
|
+
oauthExpiresAt: timestamp('oauthExpiresAt').predicate(UDFS.oauthExpiresAt),
|
|
29
|
+
}, {
|
|
30
|
+
type: UDFS.OAuthCredential,
|
|
31
|
+
});
|
|
32
|
+
export const apiKeyCredentialTable = apiKeyCredentialSchema.table('apiKeyCredential', {
|
|
33
|
+
base: '/settings/credentials.ttl',
|
|
34
|
+
subjectTemplate: '#{id}',
|
|
35
|
+
});
|
|
36
|
+
export const oauthCredentialTable = oauthCredentialSchema.table('oauthCredential', {
|
|
37
|
+
base: '/settings/credentials.ttl',
|
|
38
|
+
subjectTemplate: '#{id}',
|
|
39
|
+
});
|
|
40
|
+
export const credentialTable = apiKeyCredentialTable;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { extensionSchema } from "./extension.schema.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { extensionSchema } from "./extension.schema.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './extension/index.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './extension/index.js';
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Favorite Schema
|
|
3
|
+
* 收藏项 - 基于 Solid Pod 存储
|
|
4
|
+
*
|
|
5
|
+
* 支持收藏:Chat, Thread, Contact, Message 等
|
|
6
|
+
* favoriteType 使用 RDF type URI 标识实体类型
|
|
7
|
+
*/
|
|
8
|
+
export declare const favoriteTable: import("@undefineds.co/models/_drizzle-solid/pod-table").PodTableWithColumns<import("@undefineds.co/models/_drizzle-solid/types").ResolvedColumns<{
|
|
9
|
+
id: import("@undefineds.co/models/_drizzle-solid/columns").PodStringColumn<false, false>;
|
|
10
|
+
targetType: import("@undefineds.co/models/_drizzle-solid/columns").ColumnBuilder<"uri", null, true, false>;
|
|
11
|
+
targetUri: import("@undefineds.co/models/_drizzle-solid/columns").ColumnBuilder<"uri", null, true, false>;
|
|
12
|
+
title: import("@undefineds.co/models/_drizzle-solid/columns").ColumnBuilder<"string", null, true, false>;
|
|
13
|
+
snapshotContent: import("@undefineds.co/models/_drizzle-solid/columns").ColumnBuilder<"string", null, false, false>;
|
|
14
|
+
snapshotAuthor: import("@undefineds.co/models/_drizzle-solid/columns").ColumnBuilder<"string", null, false, false>;
|
|
15
|
+
sourceModule: import("@undefineds.co/models/_drizzle-solid/columns").ColumnBuilder<"string", null, false, false>;
|
|
16
|
+
sourceId: import("@undefineds.co/models/_drizzle-solid/columns").ColumnBuilder<"string", null, false, false>;
|
|
17
|
+
searchText: import("@undefineds.co/models/_drizzle-solid/columns").ColumnBuilder<"string", null, false, false>;
|
|
18
|
+
snapshotMeta: import("@undefineds.co/models/_drizzle-solid/columns").ColumnBuilder<"string", null, false, false>;
|
|
19
|
+
favoredAt: import("@undefineds.co/models/_drizzle-solid/columns").ColumnBuilder<"datetime", null, true, true>;
|
|
20
|
+
updatedAt: import("@undefineds.co/models/_drizzle-solid/columns").ColumnBuilder<"datetime", null, false, false>;
|
|
21
|
+
}>>;
|
|
22
|
+
export type FavoriteRow = typeof favoriteTable.$inferSelect;
|
|
23
|
+
export type FavoriteInsert = typeof favoriteTable.$inferInsert;
|
|
24
|
+
export type FavoriteUpdate = typeof favoriteTable.$inferUpdate;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { podTable, string, timestamp, text, id, uri } from "@undefineds.co/drizzle-solid";
|
|
2
|
+
import { UDFS, DCTerms, SCHEMA, RDF } from "../namespaces.js";
|
|
3
|
+
/**
|
|
4
|
+
* Favorite Schema
|
|
5
|
+
* 收藏项 - 基于 Solid Pod 存储
|
|
6
|
+
*
|
|
7
|
+
* 支持收藏:Chat, Thread, Contact, Message 等
|
|
8
|
+
* favoriteType 使用 RDF type URI 标识实体类型
|
|
9
|
+
*/
|
|
10
|
+
export const favoriteTable = podTable("favorite", {
|
|
11
|
+
id: id("id"),
|
|
12
|
+
// 收藏目标
|
|
13
|
+
targetType: uri("targetType").predicate(RDF.type).notNull(), // RDF type URI (e.g., MEETING.LongChat)
|
|
14
|
+
targetUri: uri("targetUri").predicate(UDFS.favoriteTarget).notNull(), // 收藏对象的 URI
|
|
15
|
+
// 快照信息(用于快速显示,避免每次查询原始资源)
|
|
16
|
+
title: string("title").predicate(DCTerms.title).notNull(),
|
|
17
|
+
snapshotContent: text("snapshotContent").predicate(SCHEMA.text),
|
|
18
|
+
snapshotAuthor: string("snapshotAuthor").predicate(SCHEMA.author),
|
|
19
|
+
// V2: 来源追踪
|
|
20
|
+
sourceModule: string("sourceModule").predicate(UDFS.sourceModule), // 'chat' | 'contacts' | 'files' | 'messages' | 'thread'
|
|
21
|
+
sourceId: string("sourceId").predicate(UDFS.sourceId), // 来源对象业务 ID
|
|
22
|
+
// V2: 检索
|
|
23
|
+
searchText: text("searchText").predicate(UDFS.searchText), // 归一化检索文本
|
|
24
|
+
// V2: 快照元数据
|
|
25
|
+
snapshotMeta: text("snapshotMeta").predicate(UDFS.snapshotMeta), // JSON: 头像、标签等
|
|
26
|
+
// 时间戳
|
|
27
|
+
favoredAt: timestamp("favoredAt").predicate(UDFS.favoredAt).notNull().defaultNow(),
|
|
28
|
+
updatedAt: timestamp("updatedAt").predicate(DCTerms.modified), // V2: 快照更新时间
|
|
29
|
+
}, {
|
|
30
|
+
base: '/.data/favorites/',
|
|
31
|
+
sparqlEndpoint: '/.data/favorites/-/sparql',
|
|
32
|
+
type: SCHEMA.CreativeWork,
|
|
33
|
+
namespace: UDFS,
|
|
34
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { favoriteTable, type FavoriteRow, type FavoriteInsert, type FavoriteUpdate } from "./favorite.schema.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { favoriteTable } from "./favorite.schema.js";
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @deprecated 文件管理应由 xpod 处理,Pod 本身就是文件系统。
|
|
3
|
+
* 标签、索引等元数据功能由 xpod sidecar 提供。
|
|
4
|
+
* 此 schema 将在未来版本中移除。
|
|
5
|
+
*
|
|
6
|
+
* File Schema
|
|
7
|
+
* 文件管理模型 - 基于 Solid Pod 存储
|
|
8
|
+
*
|
|
9
|
+
* 参考标准:
|
|
10
|
+
* - Schema.org MediaObject
|
|
11
|
+
* - Schema.org CreativeWork
|
|
12
|
+
* - LDP NonRDFSource (实际文件)
|
|
13
|
+
*
|
|
14
|
+
* 注意:此表存储文件元数据,实际文件内容存储在 Pod 的文件系统中
|
|
15
|
+
*/
|
|
16
|
+
export declare const fileTable: import("@undefineds.co/models/_drizzle-solid/pod-table").PodTableWithColumns<import("@undefineds.co/models/_drizzle-solid/types").ResolvedColumns<{
|
|
17
|
+
id: import("@undefineds.co/models/_drizzle-solid/columns").PodStringColumn<false, false>;
|
|
18
|
+
name: import("@undefineds.co/models/_drizzle-solid/columns").ColumnBuilder<"string", null, true, false>;
|
|
19
|
+
description: import("@undefineds.co/models/_drizzle-solid/columns").ColumnBuilder<"string", null, false, false>;
|
|
20
|
+
mimeType: import("@undefineds.co/models/_drizzle-solid/columns").ColumnBuilder<"string", null, true, false>;
|
|
21
|
+
size: import("@undefineds.co/models/_drizzle-solid/columns").ColumnBuilder<"integer", null, true, false>;
|
|
22
|
+
hash: import("@undefineds.co/models/_drizzle-solid/columns").ColumnBuilder<"string", null, false, false>;
|
|
23
|
+
podUri: import("@undefineds.co/models/_drizzle-solid/columns").ColumnBuilder<"string", null, true, false>;
|
|
24
|
+
localPath: import("@undefineds.co/models/_drizzle-solid/columns").ColumnBuilder<"string", null, false, false>;
|
|
25
|
+
syncStatus: import("@undefineds.co/models/_drizzle-solid/columns").ColumnBuilder<"string", null, true, true>;
|
|
26
|
+
lastSyncedAt: import("@undefineds.co/models/_drizzle-solid/columns").ColumnBuilder<"datetime", null, false, false>;
|
|
27
|
+
owner: import("@undefineds.co/models/_drizzle-solid/columns").ColumnBuilder<"string", null, true, false>;
|
|
28
|
+
sharedWith: import("@undefineds.co/models/_drizzle-solid/columns").ColumnBuilder<"string", null, false, false>;
|
|
29
|
+
folder: import("@undefineds.co/models/_drizzle-solid/columns").ColumnBuilder<"string", null, false, false>;
|
|
30
|
+
tags: import("@undefineds.co/models/_drizzle-solid/columns").ColumnBuilder<"string", null, false, false>;
|
|
31
|
+
createdAt: import("@undefineds.co/models/_drizzle-solid/columns").ColumnBuilder<"datetime", null, true, true>;
|
|
32
|
+
modifiedAt: import("@undefineds.co/models/_drizzle-solid/columns").ColumnBuilder<"datetime", null, true, true>;
|
|
33
|
+
deletedAt: import("@undefineds.co/models/_drizzle-solid/columns").ColumnBuilder<"datetime", null, false, false>;
|
|
34
|
+
starred: import("@undefineds.co/models/_drizzle-solid/columns").ColumnBuilder<"boolean", null, false, true>;
|
|
35
|
+
pinnedAt: import("@undefineds.co/models/_drizzle-solid/columns").ColumnBuilder<"datetime", null, false, false>;
|
|
36
|
+
}>>;
|
|
37
|
+
export type FileRow = typeof fileTable.$inferSelect;
|
|
38
|
+
export type FileInsert = typeof fileTable.$inferInsert;
|
|
39
|
+
export type FileUpdate = typeof fileTable.$inferUpdate;
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { podTable, string, timestamp, integer, boolean, id } from "@undefineds.co/drizzle-solid";
|
|
2
|
+
import { UDFS, DCTerms, SCHEMA } from "../namespaces.js";
|
|
3
|
+
/**
|
|
4
|
+
* @deprecated 文件管理应由 xpod 处理,Pod 本身就是文件系统。
|
|
5
|
+
* 标签、索引等元数据功能由 xpod sidecar 提供。
|
|
6
|
+
* 此 schema 将在未来版本中移除。
|
|
7
|
+
*
|
|
8
|
+
* File Schema
|
|
9
|
+
* 文件管理模型 - 基于 Solid Pod 存储
|
|
10
|
+
*
|
|
11
|
+
* 参考标准:
|
|
12
|
+
* - Schema.org MediaObject
|
|
13
|
+
* - Schema.org CreativeWork
|
|
14
|
+
* - LDP NonRDFSource (实际文件)
|
|
15
|
+
*
|
|
16
|
+
* 注意:此表存储文件元数据,实际文件内容存储在 Pod 的文件系统中
|
|
17
|
+
*/
|
|
18
|
+
export const fileTable = podTable("file", {
|
|
19
|
+
// 基础信息
|
|
20
|
+
id: id("id"),
|
|
21
|
+
name: string("name").predicate(SCHEMA.name).notNull(), // 文件名
|
|
22
|
+
description: string("description").predicate(SCHEMA.description), // 文件描述
|
|
23
|
+
// 文件属性
|
|
24
|
+
mimeType: string("mimeType").predicate(SCHEMA.encodingFormat).notNull(), // MIME 类型
|
|
25
|
+
size: integer("size").predicate(SCHEMA.fileSize).notNull(), // 文件大小(字节)
|
|
26
|
+
hash: string("hash").predicate(UDFS.fileHash), // 文件哈希(SHA-256)
|
|
27
|
+
// 存储位置
|
|
28
|
+
podUri: string("podUri").predicate(DCTerms.identifier).notNull(), // Pod 中的 URI
|
|
29
|
+
localPath: string("localPath").predicate(UDFS.localPath), // 本地路径(如果已下载)
|
|
30
|
+
// 同步状态
|
|
31
|
+
syncStatus: string("syncStatus").predicate(UDFS.syncStatus).notNull().default("synced"), // synced, pending, conflict, error
|
|
32
|
+
lastSyncedAt: timestamp("lastSyncedAt").predicate(DCTerms.modified), // 最后同步时间
|
|
33
|
+
// 所有者和权限
|
|
34
|
+
owner: string("owner").predicate(DCTerms.creator).notNull(), // 所有者 WebID
|
|
35
|
+
sharedWith: string("sharedWith").predicate(UDFS.participants), // 共享给的用户 WebID 列表(JSON)
|
|
36
|
+
// 分类和标签
|
|
37
|
+
folder: string("folder").predicate(UDFS.conversation), // 所属文件夹 URI
|
|
38
|
+
tags: string("tags").predicate(DCTerms.subject), // 标签(JSON 数组)
|
|
39
|
+
// 时间戳
|
|
40
|
+
createdAt: timestamp("createdAt").predicate(DCTerms.created).notNull().defaultNow(),
|
|
41
|
+
modifiedAt: timestamp("modifiedAt").predicate(DCTerms.modified).notNull().defaultNow(),
|
|
42
|
+
deletedAt: timestamp("deletedAt").predicate(UDFS.deletedAt), // 软删除时间
|
|
43
|
+
// UI 状态
|
|
44
|
+
starred: boolean("starred").predicate(UDFS.favorite).default(false), // 是否加星标
|
|
45
|
+
pinnedAt: timestamp("pinnedAt").predicate(UDFS.pinnedAt), // 置顶时间
|
|
46
|
+
}, {
|
|
47
|
+
base: '/.data/files/', // LDP Container
|
|
48
|
+
sparqlEndpoint: '/.data/files/-/sparql',
|
|
49
|
+
type: SCHEMA.MediaObject,
|
|
50
|
+
namespace: UDFS,
|
|
51
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { fileTable, type FileRow, type FileInsert, type FileUpdate } from "./file.schema.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { fileTable } from "./file.schema.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './file/index.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './file/index.js';
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export declare const grantTable: import("@undefineds.co/models/_drizzle-solid/pod-table").PodTableWithColumns<import("@undefineds.co/models/_drizzle-solid/types").ResolvedColumns<{
|
|
2
|
+
id: import("@undefineds.co/models/_drizzle-solid/columns").PodStringColumn<false, false>;
|
|
3
|
+
rdfType: import("@undefineds.co/models/_drizzle-solid/columns").ColumnBuilder<"uri", null, true, true>;
|
|
4
|
+
target: import("@undefineds.co/models/_drizzle-solid/columns").ColumnBuilder<"uri", null, true, false>;
|
|
5
|
+
action: import("@undefineds.co/models/_drizzle-solid/columns").ColumnBuilder<"uri", null, true, false>;
|
|
6
|
+
effect: import("@undefineds.co/models/_drizzle-solid/columns").ColumnBuilder<"string", null, true, false>;
|
|
7
|
+
riskCeiling: import("@undefineds.co/models/_drizzle-solid/columns").ColumnBuilder<"string", null, false, false>;
|
|
8
|
+
decisionBy: import("@undefineds.co/models/_drizzle-solid/columns").ColumnBuilder<"uri", null, true, false>;
|
|
9
|
+
decisionRole: import("@undefineds.co/models/_drizzle-solid/columns").ColumnBuilder<"string", null, true, false>;
|
|
10
|
+
onBehalfOf: import("@undefineds.co/models/_drizzle-solid/columns").ColumnBuilder<"uri", null, false, false>;
|
|
11
|
+
createdAt: import("@undefineds.co/models/_drizzle-solid/columns").ColumnBuilder<"datetime", null, true, true>;
|
|
12
|
+
revokedAt: import("@undefineds.co/models/_drizzle-solid/columns").ColumnBuilder<"datetime", null, false, false>;
|
|
13
|
+
}>>;
|
|
14
|
+
export type GrantRow = typeof grantTable.$inferSelect;
|
|
15
|
+
export type GrantInsert = typeof grantTable.$inferInsert;
|
|
16
|
+
export type GrantUpdate = typeof grantTable.$inferUpdate;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { podTable, uri, string, timestamp, id } from '@undefineds.co/drizzle-solid';
|
|
2
|
+
import { RDF, ODRL, UDFS, DCTerms } from './namespaces.js';
|
|
3
|
+
// Persistent delegation grants generated by "do not ask again" decisions.
|
|
4
|
+
// This is the durable "delegation" layer (distinct from one-off approvals and append-only audit entries).
|
|
5
|
+
export const grantTable = podTable('grant', {
|
|
6
|
+
id: id('id'),
|
|
7
|
+
// Also tag the instance with our company-level class for easy discovery.
|
|
8
|
+
// Primary rdf:type is ODRL.Policy (standard).
|
|
9
|
+
rdfType: uri('rdfType').predicate(RDF.type).notNull().default(UDFS.AutonomyGrant),
|
|
10
|
+
// Minimal ODRL surface (CP0): allow/deny action on target.
|
|
11
|
+
target: uri('target').predicate(ODRL.target).notNull(),
|
|
12
|
+
action: uri('action').predicate(ODRL.action).notNull(),
|
|
13
|
+
// Extensions
|
|
14
|
+
effect: string('effect').predicate(UDFS.effect).notNull(),
|
|
15
|
+
riskCeiling: string('riskCeiling').predicate(UDFS.riskCeiling),
|
|
16
|
+
// Delegation identity (WebID semantics)
|
|
17
|
+
decisionBy: uri('decisionBy').predicate(UDFS.decisionBy).notNull(),
|
|
18
|
+
decisionRole: string('decisionRole').predicate(UDFS.decisionRole).notNull(),
|
|
19
|
+
onBehalfOf: uri('onBehalfOf').predicate(UDFS.onBehalfOf),
|
|
20
|
+
// Lifecycle
|
|
21
|
+
createdAt: timestamp('createdAt').predicate(DCTerms.created).notNull().defaultNow(),
|
|
22
|
+
revokedAt: timestamp('revokedAt').predicate(UDFS.revokedAt),
|
|
23
|
+
}, {
|
|
24
|
+
base: '/settings/autonomy/grants/',
|
|
25
|
+
sparqlEndpoint: '/settings/autonomy/grants/-/sparql',
|
|
26
|
+
type: ODRL.Policy,
|
|
27
|
+
namespace: ODRL,
|
|
28
|
+
subjectTemplate: '{id}.ttl',
|
|
29
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { importJobSchema } from "./import-job.schema.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { importJobSchema } from "./import-job.schema.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './import/index.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './import/index.js';
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare const inboxNotificationTable: import("@undefineds.co/models/_drizzle-solid/pod-table").PodTableWithColumns<import("@undefineds.co/models/_drizzle-solid/types").ResolvedColumns<{
|
|
2
|
+
id: import("@undefineds.co/models/_drizzle-solid/columns").PodStringColumn<false, false>;
|
|
3
|
+
actor: import("@undefineds.co/models/_drizzle-solid/columns").ColumnBuilder<"uri", null, false, false>;
|
|
4
|
+
object: import("@undefineds.co/models/_drizzle-solid/columns").ColumnBuilder<"uri", null, true, false>;
|
|
5
|
+
createdAt: import("@undefineds.co/models/_drizzle-solid/columns").ColumnBuilder<"datetime", null, true, true>;
|
|
6
|
+
}>>;
|
|
7
|
+
export type InboxNotificationRow = typeof inboxNotificationTable.$inferSelect;
|
|
8
|
+
export type InboxNotificationInsert = typeof inboxNotificationTable.$inferInsert;
|
|
9
|
+
export type InboxNotificationUpdate = typeof inboxNotificationTable.$inferUpdate;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { podTable, uri, timestamp, id } from '@undefineds.co/drizzle-solid';
|
|
2
|
+
import { AS, DCTerms } from './namespaces.js';
|
|
3
|
+
// Solid inbox notifications (protocol channel)
|
|
4
|
+
export const inboxNotificationTable = podTable('inbox_notification', {
|
|
5
|
+
id: id('id'),
|
|
6
|
+
// Standard ActivityStreams envelope
|
|
7
|
+
actor: uri('actor').predicate(AS.actor),
|
|
8
|
+
object: uri('object').predicate(AS.object).notNull(),
|
|
9
|
+
createdAt: timestamp('createdAt').predicate(DCTerms.created).notNull().defaultNow(),
|
|
10
|
+
}, {
|
|
11
|
+
base: '/inbox/',
|
|
12
|
+
sparqlEndpoint: '/inbox/-/sparql',
|
|
13
|
+
type: AS.Announce,
|
|
14
|
+
namespace: AS,
|
|
15
|
+
subjectTemplate: '{id}.ttl',
|
|
16
|
+
});
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
export { LINQ, UDFS, UDFS_NAMESPACE, LINX_CHAT, LINX_MSG, SIOC, DCTerms, SCHEMA, RDF, RDFS, ACL, ODRL, OWL, FOAF, MEETING, AS, VCARD, WF, LDP, } from './namespaces.js';
|
|
2
|
+
export * from './vocab.js';
|
|
3
|
+
export * from './profile.js';
|
|
4
|
+
export { contactTable, ContactClass, ContactType, isAgentContact, isGroupContact, type ContactRow, type ContactInsert, type ContactUpdate, type ContactClassValue, type ContactTypeValue, } from './contact.schema.js';
|
|
5
|
+
export { chatTable, type ChatMetadata, type ChatMemberRole, type ChatRow, type ChatInsert, type ChatUpdate, } from './chat.schema.js';
|
|
6
|
+
export { threadTable, type ThreadRow, type ThreadInsert, type ThreadUpdate, } from './thread.schema.js';
|
|
7
|
+
export { workspaceTable, WORKSPACE_TYPES, WORKSPACE_KINDS, getWorkspaceContainerPath, resolveWorkspaceContainerUri, parseWorkspaceIdFromContainerUri, normalizeLocalWorkspacePath, buildLocalWorkspaceUri, parseLocalWorkspaceUri, isLocalWorkspaceUri, type WorkspaceType, type WorkspaceKind, type WorkspaceRow, type WorkspaceInsert, type WorkspaceUpdate, } from './workspace.schema.js';
|
|
8
|
+
export { messageTable, type MessageRow, type MessageInsert, type MessageUpdate, } from './message.schema.js';
|
|
9
|
+
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.js';
|
|
10
|
+
export { type ToolApprovalBlock, type ToolCallBlock, type TaskProgressBlock, type CollaborationRichBlock, type ToolRisk, type ToolApprovalStatus, type ToolCallStatus, type TaskProgressStepStatus, } from './types/collaboration-blocks.js';
|
|
11
|
+
export { fileTable, type FileRow, type FileInsert, type FileUpdate } from './file.js';
|
|
12
|
+
export { favoriteTable, type FavoriteRow, type FavoriteInsert, type FavoriteUpdate, } from './favorite/favorite.schema.js';
|
|
13
|
+
export { settingsTable, SETTING_KEYS, type SettingKey, type SettingsRow, type SettingsInsert, type SettingsUpdate, } from './settings.js';
|
|
14
|
+
export { createAgentSchema, agentSchema, agentTable, type AgentRow, type AgentInsert, type AgentUpdate, type CreateAgentSchemaOptions, } from './agent.schema.js';
|
|
15
|
+
export { approvalTable, type ApprovalRow, type ApprovalInsert, type ApprovalUpdate, } from './approval.schema.js';
|
|
16
|
+
export { auditTable, type AuditRow, type AuditInsert, type AuditUpdate, } from './audit.schema.js';
|
|
17
|
+
export { grantTable, type GrantRow, type GrantInsert, type GrantUpdate, } from './grant.schema.js';
|
|
18
|
+
export { inboxNotificationTable, type InboxNotificationRow, type InboxNotificationInsert, type InboxNotificationUpdate, } from './inbox-notification.schema.js';
|
|
19
|
+
export { ApprovalVocab, AuditVocab, GrantVocab, InboxNotificationVocab } from './vocab/sidecar.vocab.js';
|
|
20
|
+
export { knowledgeFolderSchema, type KnowledgeFolderScope, } from './knowledge.js';
|
|
21
|
+
export { extensionSchema } from './extension.js';
|
|
22
|
+
export { sessionSchema } from './session.js';
|
|
23
|
+
export { importJobSchema } from './import.js';
|
|
24
|
+
export { credentialTable, apiKeyCredentialTable, oauthCredentialTable, type CredentialRow, type CredentialInsert, type CredentialUpdate, type ApiKeyCredentialRow, type ApiKeyCredentialInsert, type ApiKeyCredentialUpdate, type OAuthCredentialRow, type OAuthCredentialInsert, type OAuthCredentialUpdate, } from './credential.schema.js';
|
|
25
|
+
export { aiProviderTable, aiProviderRelations, type AIProviderRow, type AIProviderInsert, type AIProviderUpdate, } from './ai-provider.schema.js';
|
|
26
|
+
export { aiModelTable, type AIModelRow, type AIModelInsert, type AIModelUpdate, } from './ai-model.schema.js';
|
|
27
|
+
export { aiConfigTable, type AIConfigRow, type AIConfigInsert, type AIConfigUpdate, } from './ai-config.schema.js';
|
|
28
|
+
export { vectorStoreTable, indexedFileTable, type VectorStoreRow, type VectorStoreInsert, type VectorStoreUpdate, type IndexedFileRow, type IndexedFileInsert, type IndexedFileUpdate, } from './vector-store.schema.js';
|
|
29
|
+
export { agentProviderTable, agentProviderRelations, type AgentProviderRow, type AgentProviderInsert, type AgentProviderUpdate, } from './agent-provider.schema.js';
|
|
30
|
+
export { agentStatusTable, type AgentStatusRow, type AgentStatusInsert, type AgentStatusUpdate, } from './agent-status.schema.js';
|
|
31
|
+
export { linxSchema } from './schema.js';
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
// Pure Pod contracts only.
|
|
2
|
+
// This is the shared Pod-contract package for LinX / xpod consumers.
|
|
3
|
+
export { LINQ, UDFS, UDFS_NAMESPACE, LINX_CHAT, LINX_MSG, SIOC, DCTerms, SCHEMA, RDF, RDFS, ACL, ODRL, OWL, FOAF, MEETING, AS, VCARD, WF, LDP, } from './namespaces.js';
|
|
4
|
+
export * from './vocab.js';
|
|
5
|
+
export * from './profile.js';
|
|
6
|
+
export { contactTable, ContactClass, ContactType, isAgentContact, isGroupContact, } from './contact.schema.js';
|
|
7
|
+
export { chatTable, } from './chat.schema.js';
|
|
8
|
+
export { threadTable, } from './thread.schema.js';
|
|
9
|
+
export { workspaceTable, WORKSPACE_TYPES, WORKSPACE_KINDS, getWorkspaceContainerPath, resolveWorkspaceContainerUri, parseWorkspaceIdFromContainerUri, normalizeLocalWorkspacePath, buildLocalWorkspaceUri, parseLocalWorkspaceUri, isLocalWorkspaceUri, } from './workspace.schema.js';
|
|
10
|
+
export { messageTable, } from './message.schema.js';
|
|
11
|
+
export { MessageBlockType, MessageBlockStatus, createMessageBlock, isBlockType, parseMessageBlocks, serializeMessageBlocks, } from './types/message-block.js';
|
|
12
|
+
export { fileTable } from './file.js';
|
|
13
|
+
export { favoriteTable, } from './favorite/favorite.schema.js';
|
|
14
|
+
export { settingsTable, SETTING_KEYS, } from './settings.js';
|
|
15
|
+
export { createAgentSchema, agentSchema, agentTable, } from './agent.schema.js';
|
|
16
|
+
export { approvalTable, } from './approval.schema.js';
|
|
17
|
+
export { auditTable, } from './audit.schema.js';
|
|
18
|
+
export { grantTable, } from './grant.schema.js';
|
|
19
|
+
export { inboxNotificationTable, } from './inbox-notification.schema.js';
|
|
20
|
+
export { ApprovalVocab, AuditVocab, GrantVocab, InboxNotificationVocab } from './vocab/sidecar.vocab.js';
|
|
21
|
+
export { knowledgeFolderSchema, } from './knowledge.js';
|
|
22
|
+
export { extensionSchema } from './extension.js';
|
|
23
|
+
export { sessionSchema } from './session.js';
|
|
24
|
+
export { importJobSchema } from './import.js';
|
|
25
|
+
export { credentialTable, apiKeyCredentialTable, oauthCredentialTable, } from './credential.schema.js';
|
|
26
|
+
export { aiProviderTable, aiProviderRelations, } from './ai-provider.schema.js';
|
|
27
|
+
export { aiModelTable, } from './ai-model.schema.js';
|
|
28
|
+
export { aiConfigTable, } from './ai-config.schema.js';
|
|
29
|
+
export { vectorStoreTable, indexedFileTable, } from './vector-store.schema.js';
|
|
30
|
+
export { agentProviderTable, agentProviderRelations, } from './agent-provider.schema.js';
|
|
31
|
+
export { agentStatusTable, } from './agent-status.schema.js';
|
|
32
|
+
export { linxSchema } from './schema.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { knowledgeFolderSchema, type KnowledgeFolderScope } from "./knowledge-folder.schema.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { knowledgeFolderSchema } from "./knowledge-folder.schema.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './knowledge/index.js';
|