@undefineds.co/models 0.2.12 → 0.2.13
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/approval.schema.d.ts +22 -3
- package/dist/approval.schema.js +13 -3
- package/dist/audit.schema.d.ts +18 -3
- package/dist/audit.schema.js +17 -5
- package/dist/grant.schema.d.ts +17 -3
- package/dist/grant.schema.js +9 -5
- package/dist/inbox-notification.schema.d.ts +1 -0
- package/dist/inbox-notification.schema.js +5 -2
- package/dist/index.d.ts +4 -4
- package/dist/index.js +4 -4
- package/dist/namespaces.js +1 -0
- package/dist/schema.d.ts +5 -3
- package/dist/schema.js +6 -6
- package/dist/session/index.d.ts +1 -1
- package/dist/session/index.js +1 -1
- package/dist/session/session.schema.d.ts +2 -1
- package/dist/session/session.schema.js +11 -4
- package/dist/settings/settings.schema.js +3 -2
- package/package.json +1 -1
|
@@ -1,3 +1,22 @@
|
|
|
1
|
+
export declare function buildApprovalSubjectPath(approvalId: string, createdAt?: Date | string | number): string;
|
|
2
|
+
export declare const approvalResource: import("@undefineds.co/drizzle-solid/dist/core/schema").PodTableWithColumns<import("@undefineds.co/drizzle-solid/dist/core/schema").ResolvedColumns<{
|
|
3
|
+
id: import("@undefineds.co/drizzle-solid/dist/core/schema").PodStringColumn<false, false>;
|
|
4
|
+
session: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"uri", null, true, false>;
|
|
5
|
+
toolCallId: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, true, false>;
|
|
6
|
+
toolName: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, true, false>;
|
|
7
|
+
target: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"uri", null, true, false>;
|
|
8
|
+
action: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"uri", null, true, false>;
|
|
9
|
+
risk: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, true, false>;
|
|
10
|
+
status: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, true, true>;
|
|
11
|
+
assignedTo: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"uri", null, false, false>;
|
|
12
|
+
decisionBy: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"uri", null, false, false>;
|
|
13
|
+
decisionRole: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, false, false>;
|
|
14
|
+
onBehalfOf: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"uri", null, false, false>;
|
|
15
|
+
reason: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, false, false>;
|
|
16
|
+
policyVersion: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, false, false>;
|
|
17
|
+
createdAt: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"datetime", null, true, true>;
|
|
18
|
+
resolvedAt: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"datetime", null, false, false>;
|
|
19
|
+
}>>;
|
|
1
20
|
export declare const approvalTable: import("@undefineds.co/drizzle-solid/dist/core/schema").PodTableWithColumns<import("@undefineds.co/drizzle-solid/dist/core/schema").ResolvedColumns<{
|
|
2
21
|
id: import("@undefineds.co/drizzle-solid/dist/core/schema").PodStringColumn<false, false>;
|
|
3
22
|
session: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"uri", null, true, false>;
|
|
@@ -16,6 +35,6 @@ export declare const approvalTable: import("@undefineds.co/drizzle-solid/dist/co
|
|
|
16
35
|
createdAt: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"datetime", null, true, true>;
|
|
17
36
|
resolvedAt: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"datetime", null, false, false>;
|
|
18
37
|
}>>;
|
|
19
|
-
export type ApprovalRow = typeof
|
|
20
|
-
export type ApprovalInsert = typeof
|
|
21
|
-
export type ApprovalUpdate = typeof
|
|
38
|
+
export type ApprovalRow = typeof approvalResource.$inferSelect;
|
|
39
|
+
export type ApprovalInsert = typeof approvalResource.$inferInsert;
|
|
40
|
+
export type ApprovalUpdate = typeof approvalResource.$inferUpdate;
|
package/dist/approval.schema.js
CHANGED
|
@@ -1,7 +1,15 @@
|
|
|
1
1
|
import { podTable, uri, string, text, timestamp, id } from '@undefineds.co/drizzle-solid';
|
|
2
2
|
import { ODRL, UDFS, DCTerms } from './namespaces.js';
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
export function buildApprovalSubjectPath(approvalId, createdAt = new Date()) {
|
|
4
|
+
const date = createdAt instanceof Date ? createdAt : new Date(createdAt);
|
|
5
|
+
const safeDate = Number.isFinite(date.getTime()) ? date : new Date();
|
|
6
|
+
const yyyy = String(safeDate.getUTCFullYear());
|
|
7
|
+
const mm = String(safeDate.getUTCMonth() + 1).padStart(2, '0');
|
|
8
|
+
const dd = String(safeDate.getUTCDate()).padStart(2, '0');
|
|
9
|
+
return `/.data/approvals/${yyyy}/${mm}/${dd}.ttl#${encodeURIComponent(approvalId)}`;
|
|
10
|
+
}
|
|
11
|
+
// Approval request resource (separate from Solid inbox notifications).
|
|
12
|
+
export const approvalResource = podTable('approval', {
|
|
5
13
|
id: id('id'),
|
|
6
14
|
// Relations
|
|
7
15
|
session: uri('session').predicate(UDFS.session).notNull(),
|
|
@@ -29,5 +37,7 @@ export const approvalTable = podTable('approval', {
|
|
|
29
37
|
sparqlEndpoint: '/.data/approvals/-/sparql',
|
|
30
38
|
type: UDFS.ApprovalRequest,
|
|
31
39
|
namespace: UDFS,
|
|
32
|
-
subjectTemplate: '{
|
|
40
|
+
subjectTemplate: '{yyyy}/{MM}/{dd}.ttl#{id}',
|
|
33
41
|
});
|
|
42
|
+
// Compatibility alias. New model code should prefer `approvalResource`.
|
|
43
|
+
export const approvalTable = approvalResource;
|
package/dist/audit.schema.d.ts
CHANGED
|
@@ -1,3 +1,18 @@
|
|
|
1
|
+
export declare const auditResource: 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
|
+
action: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, true, false>;
|
|
4
|
+
actor: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"uri", null, true, false>;
|
|
5
|
+
actorRole: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, true, false>;
|
|
6
|
+
onBehalfOf: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"uri", null, false, false>;
|
|
7
|
+
session: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"uri", null, false, false>;
|
|
8
|
+
toolCallId: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, false, false>;
|
|
9
|
+
approval: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"uri", null, false, false>;
|
|
10
|
+
context: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, false, false>;
|
|
11
|
+
policy: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"uri", null, false, false>;
|
|
12
|
+
policyVersion: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, false, false>;
|
|
13
|
+
createdAt: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"datetime", null, true, true>;
|
|
14
|
+
}>>;
|
|
15
|
+
export declare function buildAuditSubjectPath(auditId: string, createdAt?: Date | string | number): string;
|
|
1
16
|
export declare const auditTable: import("@undefineds.co/drizzle-solid/dist/core/schema").PodTableWithColumns<import("@undefineds.co/drizzle-solid/dist/core/schema").ResolvedColumns<{
|
|
2
17
|
id: import("@undefineds.co/drizzle-solid/dist/core/schema").PodStringColumn<false, false>;
|
|
3
18
|
action: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, true, false>;
|
|
@@ -12,6 +27,6 @@ export declare const auditTable: import("@undefineds.co/drizzle-solid/dist/core/
|
|
|
12
27
|
policyVersion: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, false, false>;
|
|
13
28
|
createdAt: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"datetime", null, true, true>;
|
|
14
29
|
}>>;
|
|
15
|
-
export type AuditRow = typeof
|
|
16
|
-
export type AuditInsert = typeof
|
|
17
|
-
export type AuditUpdate = typeof
|
|
30
|
+
export type AuditRow = typeof auditResource.$inferSelect;
|
|
31
|
+
export type AuditInsert = typeof auditResource.$inferInsert;
|
|
32
|
+
export type AuditUpdate = typeof auditResource.$inferUpdate;
|
package/dist/audit.schema.js
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { podTable, uri, string, text, timestamp, id } from '@undefineds.co/drizzle-solid';
|
|
2
2
|
import { UDFS, DCTerms } from './namespaces.js';
|
|
3
|
-
// Append-only audit
|
|
4
|
-
|
|
3
|
+
// Append-only audit entry resource (separate from Solid inbox notifications).
|
|
4
|
+
// Audit entries are independent events; session/chat/thread are optional relations,
|
|
5
|
+
// not storage ownership boundaries.
|
|
6
|
+
export const auditResource = podTable('audit', {
|
|
5
7
|
id: id('id'),
|
|
6
8
|
// Audit action
|
|
7
9
|
action: string('action').predicate(UDFS.action).notNull(),
|
|
@@ -21,9 +23,19 @@ export const auditTable = podTable('audit', {
|
|
|
21
23
|
// Timestamps
|
|
22
24
|
createdAt: timestamp('createdAt').predicate(DCTerms.created).notNull().defaultNow(),
|
|
23
25
|
}, {
|
|
24
|
-
base: '/.data/
|
|
25
|
-
sparqlEndpoint: '/.data/
|
|
26
|
+
base: '/.data/audits/',
|
|
27
|
+
sparqlEndpoint: '/.data/audits/-/sparql',
|
|
26
28
|
type: UDFS.AuditEntry,
|
|
27
29
|
namespace: UDFS,
|
|
28
|
-
subjectTemplate: '{
|
|
30
|
+
subjectTemplate: '{yyyy}/{MM}/{dd}.ttl#{id}',
|
|
29
31
|
});
|
|
32
|
+
export function buildAuditSubjectPath(auditId, createdAt = new Date()) {
|
|
33
|
+
const date = createdAt instanceof Date ? createdAt : new Date(createdAt);
|
|
34
|
+
const safeDate = Number.isFinite(date.getTime()) ? date : new Date();
|
|
35
|
+
const yyyy = String(safeDate.getUTCFullYear());
|
|
36
|
+
const mm = String(safeDate.getUTCMonth() + 1).padStart(2, '0');
|
|
37
|
+
const dd = String(safeDate.getUTCDate()).padStart(2, '0');
|
|
38
|
+
return `/.data/audits/${yyyy}/${mm}/${dd}.ttl#${encodeURIComponent(auditId)}`;
|
|
39
|
+
}
|
|
40
|
+
// Compatibility alias. New model code should prefer `auditResource`.
|
|
41
|
+
export const auditTable = auditResource;
|
package/dist/grant.schema.d.ts
CHANGED
|
@@ -1,3 +1,17 @@
|
|
|
1
|
+
export declare function buildGrantSubjectPath(grantId: string): string;
|
|
2
|
+
export declare const grantResource: import("@undefineds.co/drizzle-solid/dist/core/schema").PodTableWithColumns<import("@undefineds.co/drizzle-solid/dist/core/schema").ResolvedColumns<{
|
|
3
|
+
id: import("@undefineds.co/drizzle-solid/dist/core/schema").PodStringColumn<false, false>;
|
|
4
|
+
rdfType: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"array", "uri", true, true>;
|
|
5
|
+
target: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"uri", null, true, false>;
|
|
6
|
+
action: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"uri", null, true, false>;
|
|
7
|
+
effect: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, true, false>;
|
|
8
|
+
riskCeiling: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, false, false>;
|
|
9
|
+
decisionBy: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"uri", null, true, false>;
|
|
10
|
+
decisionRole: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, true, false>;
|
|
11
|
+
onBehalfOf: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"uri", null, false, false>;
|
|
12
|
+
createdAt: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"datetime", null, true, true>;
|
|
13
|
+
revokedAt: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"datetime", null, false, false>;
|
|
14
|
+
}>>;
|
|
1
15
|
export declare const grantTable: import("@undefineds.co/drizzle-solid/dist/core/schema").PodTableWithColumns<import("@undefineds.co/drizzle-solid/dist/core/schema").ResolvedColumns<{
|
|
2
16
|
id: import("@undefineds.co/drizzle-solid/dist/core/schema").PodStringColumn<false, false>;
|
|
3
17
|
rdfType: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"array", "uri", true, true>;
|
|
@@ -11,6 +25,6 @@ export declare const grantTable: import("@undefineds.co/drizzle-solid/dist/core/
|
|
|
11
25
|
createdAt: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"datetime", null, true, true>;
|
|
12
26
|
revokedAt: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"datetime", null, false, false>;
|
|
13
27
|
}>>;
|
|
14
|
-
export type GrantRow = typeof
|
|
15
|
-
export type GrantInsert = typeof
|
|
16
|
-
export type GrantUpdate = typeof
|
|
28
|
+
export type GrantRow = typeof grantResource.$inferSelect;
|
|
29
|
+
export type GrantInsert = typeof grantResource.$inferInsert;
|
|
30
|
+
export type GrantUpdate = typeof grantResource.$inferUpdate;
|
package/dist/grant.schema.js
CHANGED
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import { podTable, uri, string, timestamp, id } from '@undefineds.co/drizzle-solid';
|
|
2
2
|
import { RDF, ODRL, UDFS, DCTerms } from './namespaces.js';
|
|
3
|
-
|
|
3
|
+
export function buildGrantSubjectPath(grantId) {
|
|
4
|
+
return `/settings/autonomy/grants.ttl#${encodeURIComponent(grantId)}`;
|
|
5
|
+
}
|
|
6
|
+
// Persistent delegation grant resource generated by "do not ask again" decisions.
|
|
4
7
|
// This is the durable "delegation" layer (distinct from one-off approvals and append-only audit entries).
|
|
5
|
-
export const
|
|
8
|
+
export const grantResource = podTable('grant', {
|
|
6
9
|
id: id('id'),
|
|
7
10
|
// Table-level type writes odrl:Policy. Keep the project-specific class as
|
|
8
11
|
// an additional rdf:type, so readback treats RDF class membership as multi-valued.
|
|
@@ -21,9 +24,10 @@ export const grantTable = podTable('grant', {
|
|
|
21
24
|
createdAt: timestamp('createdAt').predicate(DCTerms.created).notNull().defaultNow(),
|
|
22
25
|
revokedAt: timestamp('revokedAt').predicate(UDFS.revokedAt),
|
|
23
26
|
}, {
|
|
24
|
-
base: '/settings/autonomy/grants
|
|
25
|
-
sparqlEndpoint: '/settings/autonomy/grants/-/sparql',
|
|
27
|
+
base: '/settings/autonomy/grants.ttl',
|
|
26
28
|
type: ODRL.Policy,
|
|
27
29
|
namespace: ODRL,
|
|
28
|
-
subjectTemplate: '{id}
|
|
30
|
+
subjectTemplate: '#{id}',
|
|
29
31
|
});
|
|
32
|
+
// Compatibility alias. New model code should prefer `grantResource`.
|
|
33
|
+
export const grantTable = grantResource;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export declare const inboxNotificationTable: import("@undefineds.co/drizzle-solid/dist/core/schema").PodTableWithColumns<import("@undefineds.co/drizzle-solid/dist/core/schema").ResolvedColumns<{
|
|
2
2
|
id: import("@undefineds.co/drizzle-solid/dist/core/schema").PodStringColumn<false, false>;
|
|
3
|
+
rdfType: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"array", "uri", true, true>;
|
|
3
4
|
actor: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"uri", null, false, false>;
|
|
4
5
|
object: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"uri", null, true, false>;
|
|
5
6
|
createdAt: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"datetime", null, true, true>;
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import { podTable, uri, timestamp, id } from '@undefineds.co/drizzle-solid';
|
|
2
|
-
import { AS, DCTerms } from './namespaces.js';
|
|
2
|
+
import { AS, DCTerms, RDF } from './namespaces.js';
|
|
3
3
|
// Solid inbox notifications (protocol channel)
|
|
4
4
|
export const inboxNotificationTable = podTable('inbox_notification', {
|
|
5
5
|
id: id('id'),
|
|
6
|
+
// Protocol inbox messages are not always Announce. Keep rdf:type writable so
|
|
7
|
+
// app notifications can use as:Announce while other Solid inbox payloads keep their own type.
|
|
8
|
+
rdfType: uri('rdfType').array().predicate(RDF.type).notNull().default([AS.Announce]),
|
|
6
9
|
// Standard ActivityStreams envelope
|
|
7
10
|
actor: uri('actor').predicate(AS.actor),
|
|
8
11
|
object: uri('object').predicate(AS.object).notNull(),
|
|
@@ -10,7 +13,7 @@ export const inboxNotificationTable = podTable('inbox_notification', {
|
|
|
10
13
|
}, {
|
|
11
14
|
base: '/inbox/',
|
|
12
15
|
sparqlEndpoint: '/inbox/-/sparql',
|
|
13
|
-
type: AS.
|
|
16
|
+
type: AS.Activity,
|
|
14
17
|
namespace: AS,
|
|
15
18
|
subjectTemplate: '{id}.ttl',
|
|
16
19
|
});
|
package/dist/index.d.ts
CHANGED
|
@@ -20,11 +20,11 @@ export { settingsTable, SETTING_KEYS, type SettingKey, type SettingsRow, type Se
|
|
|
20
20
|
export { agentTable, type AgentRow, type AgentInsert, type AgentUpdate, } from './agent.schema';
|
|
21
21
|
export { agentRepository } from './agent.repository';
|
|
22
22
|
export { DEFAULT_AGENT_PROVIDERS, type AgentProviderMetadata, type AgentModelOption, } from './agent.providers';
|
|
23
|
-
export { sessionResource, sessionTable, type SessionType, type SessionStatus, type SessionRow, type SessionInsert, type SessionUpdate, } from './session';
|
|
23
|
+
export { sessionResource, sessionTable, buildSessionSubjectPath, type SessionType, type SessionStatus, type SessionRow, type SessionInsert, type SessionUpdate, } from './session';
|
|
24
24
|
export { sessionRepository } from './session.repository';
|
|
25
|
-
export { approvalTable, type ApprovalRow, type ApprovalInsert, type ApprovalUpdate, } from './approval.schema';
|
|
26
|
-
export { auditTable, type AuditRow, type AuditInsert, type AuditUpdate, } from './audit.schema';
|
|
27
|
-
export { grantTable, type GrantRow, type GrantInsert, type GrantUpdate, } from './grant.schema';
|
|
25
|
+
export { approvalResource, approvalTable, buildApprovalSubjectPath, type ApprovalRow, type ApprovalInsert, type ApprovalUpdate, } from './approval.schema';
|
|
26
|
+
export { auditResource, auditTable, buildAuditSubjectPath, type AuditRow, type AuditInsert, type AuditUpdate, } from './audit.schema';
|
|
27
|
+
export { grantResource, grantTable, buildGrantSubjectPath, type GrantRow, type GrantInsert, type GrantUpdate, } from './grant.schema';
|
|
28
28
|
export { inboxNotificationTable, type InboxNotificationRow, type InboxNotificationInsert, type InboxNotificationUpdate, } from './inbox-notification.schema';
|
|
29
29
|
export { ApprovalVocab, AuditVocab, GrantVocab, InboxNotificationVocab } from './vocab/sidecar.vocab';
|
|
30
30
|
export * from './sidecar/sidecar-events';
|
package/dist/index.js
CHANGED
|
@@ -49,12 +49,12 @@ export { DEFAULT_AGENT_PROVIDERS, } from './agent.providers.js';
|
|
|
49
49
|
// 其他模型
|
|
50
50
|
// ============================================
|
|
51
51
|
// Session - 会话管理
|
|
52
|
-
export { sessionResource, sessionTable, } from './session/index.js';
|
|
52
|
+
export { sessionResource, sessionTable, buildSessionSubjectPath, } from './session/index.js';
|
|
53
53
|
export { sessionRepository } from './session.repository.js';
|
|
54
54
|
// Approval / Audit / Grant / Inbox Notification
|
|
55
|
-
export { approvalTable, } from './approval.schema.js';
|
|
56
|
-
export { auditTable, } from './audit.schema.js';
|
|
57
|
-
export { grantTable, } from './grant.schema.js';
|
|
55
|
+
export { approvalResource, approvalTable, buildApprovalSubjectPath, } from './approval.schema.js';
|
|
56
|
+
export { auditResource, auditTable, buildAuditSubjectPath, } from './audit.schema.js';
|
|
57
|
+
export { grantResource, grantTable, buildGrantSubjectPath, } from './grant.schema.js';
|
|
58
58
|
export { inboxNotificationTable, } from './inbox-notification.schema.js';
|
|
59
59
|
// Sidecar vocab + runtime contracts
|
|
60
60
|
export { ApprovalVocab, AuditVocab, GrantVocab, InboxNotificationVocab } from './vocab/sidecar.vocab.js';
|
package/dist/namespaces.js
CHANGED
|
@@ -81,6 +81,7 @@ export const WF = createNamespace('wf', 'http://www.w3.org/2005/01/wf/flow-1.0#'
|
|
|
81
81
|
});
|
|
82
82
|
// Activity Streams 2.0 - W3C standard for social web
|
|
83
83
|
export const AS = createNamespace('as', 'https://www.w3.org/ns/activitystreams#', {
|
|
84
|
+
Activity: 'Activity',
|
|
84
85
|
Announce: 'Announce',
|
|
85
86
|
Public: 'Public',
|
|
86
87
|
audience: 'audience',
|
package/dist/schema.d.ts
CHANGED
|
@@ -190,7 +190,7 @@ export declare const solidResources: {
|
|
|
190
190
|
createdAt: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"datetime", null, true, true>;
|
|
191
191
|
modifiedAt: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"datetime", null, true, true>;
|
|
192
192
|
}>>;
|
|
193
|
-
|
|
193
|
+
approvalResource: import("@undefineds.co/drizzle-solid/dist/core/schema").PodTableWithColumns<import("@undefineds.co/drizzle-solid/dist/core/schema").ResolvedColumns<{
|
|
194
194
|
id: import("@undefineds.co/drizzle-solid/dist/core/schema").PodStringColumn<false, false>;
|
|
195
195
|
session: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"uri", null, true, false>;
|
|
196
196
|
toolCallId: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, true, false>;
|
|
@@ -208,7 +208,7 @@ export declare const solidResources: {
|
|
|
208
208
|
createdAt: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"datetime", null, true, true>;
|
|
209
209
|
resolvedAt: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"datetime", null, false, false>;
|
|
210
210
|
}>>;
|
|
211
|
-
|
|
211
|
+
auditResource: import("@undefineds.co/drizzle-solid/dist/core/schema").PodTableWithColumns<import("@undefineds.co/drizzle-solid/dist/core/schema").ResolvedColumns<{
|
|
212
212
|
id: import("@undefineds.co/drizzle-solid/dist/core/schema").PodStringColumn<false, false>;
|
|
213
213
|
action: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, true, false>;
|
|
214
214
|
actor: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"uri", null, true, false>;
|
|
@@ -222,7 +222,7 @@ export declare const solidResources: {
|
|
|
222
222
|
policyVersion: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, false, false>;
|
|
223
223
|
createdAt: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"datetime", null, true, true>;
|
|
224
224
|
}>>;
|
|
225
|
-
|
|
225
|
+
grantResource: import("@undefineds.co/drizzle-solid/dist/core/schema").PodTableWithColumns<import("@undefineds.co/drizzle-solid/dist/core/schema").ResolvedColumns<{
|
|
226
226
|
id: import("@undefineds.co/drizzle-solid/dist/core/schema").PodStringColumn<false, false>;
|
|
227
227
|
rdfType: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"array", "uri", true, true>;
|
|
228
228
|
target: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"uri", null, true, false>;
|
|
@@ -237,6 +237,7 @@ export declare const solidResources: {
|
|
|
237
237
|
}>>;
|
|
238
238
|
inboxNotificationTable: import("@undefineds.co/drizzle-solid/dist/core/schema").PodTableWithColumns<import("@undefineds.co/drizzle-solid/dist/core/schema").ResolvedColumns<{
|
|
239
239
|
id: import("@undefineds.co/drizzle-solid/dist/core/schema").PodStringColumn<false, false>;
|
|
240
|
+
rdfType: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"array", "uri", true, true>;
|
|
240
241
|
actor: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"uri", null, false, false>;
|
|
241
242
|
object: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"uri", null, true, false>;
|
|
242
243
|
createdAt: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"datetime", null, true, true>;
|
|
@@ -481,6 +482,7 @@ export declare const solidSchema: {
|
|
|
481
482
|
}>>;
|
|
482
483
|
inboxNotificationTable: import("@undefineds.co/drizzle-solid/dist/core/schema").PodTableWithColumns<import("@undefineds.co/drizzle-solid/dist/core/schema").ResolvedColumns<{
|
|
483
484
|
id: import("@undefineds.co/drizzle-solid/dist/core/schema").PodStringColumn<false, false>;
|
|
485
|
+
rdfType: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"array", "uri", true, true>;
|
|
484
486
|
actor: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"uri", null, false, false>;
|
|
485
487
|
object: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"uri", null, true, false>;
|
|
486
488
|
createdAt: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"datetime", null, true, true>;
|
package/dist/schema.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { agentTable } from './agent.schema.js';
|
|
2
|
-
import { approvalTable } from './approval.schema.js';
|
|
3
|
-
import { auditTable } from './audit.schema.js';
|
|
2
|
+
import { approvalResource, approvalTable } from './approval.schema.js';
|
|
3
|
+
import { auditResource, auditTable } from './audit.schema.js';
|
|
4
4
|
import { aiModelTable } from './ai-model.schema.js';
|
|
5
5
|
import { aiProviderTable } from './ai-provider.schema.js';
|
|
6
6
|
import { chatResource, chatTable } from './chat.schema.js';
|
|
@@ -8,7 +8,7 @@ import { contactTable } from './contact.schema.js';
|
|
|
8
8
|
import { credentialTable } from './credential.schema.js';
|
|
9
9
|
import { favoriteTable } from './favorite/favorite.schema.js';
|
|
10
10
|
import { fileTable } from './file/file.schema.js';
|
|
11
|
-
import { grantTable } from './grant.schema.js';
|
|
11
|
+
import { grantResource, grantTable } from './grant.schema.js';
|
|
12
12
|
import { inboxNotificationTable } from './inbox-notification.schema.js';
|
|
13
13
|
import { messageResource, messageTable } from './message.schema.js';
|
|
14
14
|
import { solidProfileTable } from './profile.schema.js';
|
|
@@ -30,9 +30,9 @@ export const solidResources = {
|
|
|
30
30
|
favoriteTable,
|
|
31
31
|
settingsTable,
|
|
32
32
|
// Sidecar collaboration data
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
33
|
+
approvalResource,
|
|
34
|
+
auditResource,
|
|
35
|
+
grantResource,
|
|
36
36
|
inboxNotificationTable,
|
|
37
37
|
};
|
|
38
38
|
// Compatibility schema for existing drizzle-solid call sites.
|
package/dist/session/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export { sessionResource, sessionTable, type SessionType, type SessionStatus, type SessionRow, type SessionInsert, type SessionUpdate, } from './session.schema';
|
|
1
|
+
export { sessionResource, sessionTable, buildSessionSubjectPath, type SessionType, type SessionStatus, type SessionRow, type SessionInsert, type SessionUpdate, } from './session.schema';
|
package/dist/session/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export { sessionResource, sessionTable, } from './session.schema.js';
|
|
1
|
+
export { sessionResource, sessionTable, buildSessionSubjectPath, } from './session.schema.js';
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export type SessionType = 'direct' | 'group' | 'imported-readonly';
|
|
2
2
|
export type SessionStatus = 'active' | 'paused' | 'completed' | 'error' | 'archived';
|
|
3
|
+
export declare function buildSessionSubjectPath(sessionId: string, createdAt?: Date | string | number): string;
|
|
3
4
|
/**
|
|
4
5
|
* Runtime / collaboration session resource.
|
|
5
6
|
*
|
|
@@ -10,7 +11,7 @@ export type SessionStatus = 'active' | 'paused' | 'completed' | 'error' | 'archi
|
|
|
10
11
|
* - the durable conversation timeline, which is Thread
|
|
11
12
|
*
|
|
12
13
|
* Storage structure:
|
|
13
|
-
* - Location: /.data/
|
|
14
|
+
* - Location: /.data/sessions/{yyyy}/{MM}.ttl#{id}
|
|
14
15
|
* - Primary use: runtime lifecycle projection for a concrete Thread
|
|
15
16
|
*
|
|
16
17
|
* Contract notes:
|
|
@@ -2,6 +2,13 @@ import { object, podTable, string, timestamp, uri, id, integer } from '@undefine
|
|
|
2
2
|
import { DCTerms, UDFS } from '../namespaces.js';
|
|
3
3
|
import { chatResource } from '../chat.schema.js';
|
|
4
4
|
import { threadResource } from '../thread.schema.js';
|
|
5
|
+
export function buildSessionSubjectPath(sessionId, createdAt = new Date()) {
|
|
6
|
+
const date = createdAt instanceof Date ? createdAt : new Date(createdAt);
|
|
7
|
+
const safeDate = Number.isFinite(date.getTime()) ? date : new Date();
|
|
8
|
+
const yyyy = String(safeDate.getUTCFullYear());
|
|
9
|
+
const mm = String(safeDate.getUTCMonth() + 1).padStart(2, '0');
|
|
10
|
+
return `/.data/sessions/${yyyy}/${mm}.ttl#${encodeURIComponent(sessionId)}`;
|
|
11
|
+
}
|
|
5
12
|
/**
|
|
6
13
|
* Runtime / collaboration session resource.
|
|
7
14
|
*
|
|
@@ -12,7 +19,7 @@ import { threadResource } from '../thread.schema.js';
|
|
|
12
19
|
* - the durable conversation timeline, which is Thread
|
|
13
20
|
*
|
|
14
21
|
* Storage structure:
|
|
15
|
-
* - Location: /.data/
|
|
22
|
+
* - Location: /.data/sessions/{yyyy}/{MM}.ttl#{id}
|
|
16
23
|
* - Primary use: runtime lifecycle projection for a concrete Thread
|
|
17
24
|
*
|
|
18
25
|
* Contract notes:
|
|
@@ -42,11 +49,11 @@ export const sessionResource = podTable('session', {
|
|
|
42
49
|
updatedAt: timestamp('updatedAt').predicate(DCTerms.modified).notNull().defaultNow(),
|
|
43
50
|
archivedAt: timestamp('archivedAt').predicate(UDFS.archivedAt),
|
|
44
51
|
}, {
|
|
45
|
-
base: '/.data/
|
|
46
|
-
sparqlEndpoint: '/.data/
|
|
52
|
+
base: '/.data/sessions/',
|
|
53
|
+
sparqlEndpoint: '/.data/sessions/-/sparql',
|
|
47
54
|
type: UDFS.term('Session'),
|
|
48
55
|
namespace: UDFS,
|
|
49
|
-
subjectTemplate: '{
|
|
56
|
+
subjectTemplate: '{yyyy}/{MM}.ttl#{id}',
|
|
50
57
|
});
|
|
51
58
|
// Compatibility alias. New model code should prefer `sessionResource`.
|
|
52
59
|
export const sessionTable = sessionResource;
|
|
@@ -27,10 +27,11 @@ export const settingsTable = podTable("settings", {
|
|
|
27
27
|
createdAt: timestamp("createdAt").predicate(DCTerms.created).notNull().defaultNow(),
|
|
28
28
|
modifiedAt: timestamp("modifiedAt").predicate(DCTerms.modified).notNull().defaultNow(),
|
|
29
29
|
}, {
|
|
30
|
-
base: "
|
|
31
|
-
sparqlEndpoint: "
|
|
30
|
+
base: "/settings/", // LDP Container
|
|
31
|
+
sparqlEndpoint: "/settings/-/sparql",
|
|
32
32
|
type: SCHEMA.PropertyValue,
|
|
33
33
|
namespace: UDFS,
|
|
34
|
+
subjectTemplate: "{key}.ttl",
|
|
34
35
|
});
|
|
35
36
|
/**
|
|
36
37
|
* 常用设置键定义
|