@undefineds.co/models 0.2.34 → 0.2.36

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.
Files changed (120) hide show
  1. package/README.md +13 -16
  2. package/dist/agent.repository.d.ts +48 -0
  3. package/dist/agent.repository.js +1 -1
  4. package/dist/agent.schema.d.ts +24 -0
  5. package/dist/agent.schema.js +16 -5
  6. package/dist/ai-config/index.d.ts +28 -2
  7. package/dist/ai-config/index.js +154 -13
  8. package/dist/ai-model.schema.js +11 -12
  9. package/dist/ai-provider.schema.d.ts +4 -0
  10. package/dist/ai-provider.schema.js +11 -10
  11. package/dist/ai-runtime.schema.d.ts +4 -4
  12. package/dist/ai-runtime.schema.js +43 -45
  13. package/dist/approval.schema.d.ts +0 -1
  14. package/dist/approval.schema.js +2 -11
  15. package/dist/audit.schema.d.ts +0 -1
  16. package/dist/audit.schema.js +2 -11
  17. package/dist/automation-rule.schema.d.ts +63 -0
  18. package/dist/automation-rule.schema.js +51 -0
  19. package/dist/bin/udfs.js +3 -3
  20. package/dist/chat.repository.d.ts +4 -4
  21. package/dist/chat.repository.js +1 -1
  22. package/dist/chat.schema.d.ts +2 -2
  23. package/dist/chat.schema.js +3 -4
  24. package/dist/chat.utils.d.ts +7 -0
  25. package/dist/chat.utils.js +35 -6
  26. package/dist/contact.repository.d.ts +4 -4
  27. package/dist/contact.repository.js +1 -1
  28. package/dist/contact.schema.d.ts +2 -2
  29. package/dist/contact.schema.js +2 -3
  30. package/dist/credential.schema.js +21 -22
  31. package/dist/delivery.schema.d.ts +81 -0
  32. package/dist/delivery.schema.js +64 -0
  33. package/dist/evidence.schema.d.ts +38 -0
  34. package/dist/evidence.schema.js +46 -0
  35. package/dist/favorite/favorite.schema.d.ts +3 -5
  36. package/dist/favorite/favorite.schema.js +2 -3
  37. package/dist/favorite/starred-sync.d.ts +1 -1
  38. package/dist/favorite/starred-sync.js +11 -13
  39. package/dist/fixtures/contracts-chat-contact.js +3 -3
  40. package/dist/grant.schema.d.ts +2 -3
  41. package/dist/grant.schema.js +6 -9
  42. package/dist/idea.schema.d.ts +32 -0
  43. package/dist/idea.schema.js +36 -0
  44. package/dist/inbox-notification.schema.js +1 -2
  45. package/dist/index.d.ts +19 -14
  46. package/dist/index.js +20 -18
  47. package/dist/issue.repository.js +1 -1
  48. package/dist/issue.schema.js +1 -2
  49. package/dist/knowledge/knowledge-folder.schema.d.ts +1 -1
  50. package/dist/knowledge/knowledge-folder.schema.js +1 -1
  51. package/dist/message.repository.d.ts +7 -15
  52. package/dist/message.repository.js +1 -1
  53. package/dist/message.schema.d.ts +7 -11
  54. package/dist/message.schema.js +10 -12
  55. package/dist/namespaces.d.ts +0 -2
  56. package/dist/namespaces.js +122 -92
  57. package/dist/pod-storage-descriptor.d.ts +0 -6
  58. package/dist/pod-storage-descriptor.js +11 -12
  59. package/dist/profile.repository.d.ts +2 -2
  60. package/dist/profile.repository.js +2 -2
  61. package/dist/report.schema.d.ts +58 -0
  62. package/dist/report.schema.js +73 -0
  63. package/dist/repository.d.ts +15 -4
  64. package/dist/repository.js +16 -5
  65. package/dist/resource-id-defaults.d.ts +1 -12
  66. package/dist/resource-id-defaults.js +65 -72
  67. package/dist/resource-refs.d.ts +25 -0
  68. package/dist/resource-refs.js +45 -0
  69. package/dist/run.schema.d.ts +13 -17
  70. package/dist/run.schema.js +12 -13
  71. package/dist/schedule.schema.d.ts +56 -0
  72. package/dist/schedule.schema.js +46 -0
  73. package/dist/schema.d.ts +273 -194
  74. package/dist/schema.js +18 -10
  75. package/dist/session/index.d.ts +1 -1
  76. package/dist/session/index.js +1 -1
  77. package/dist/session/session.schema.d.ts +4 -6
  78. package/dist/session/session.schema.js +5 -16
  79. package/dist/session.repository.d.ts +8 -8
  80. package/dist/session.repository.js +1 -1
  81. package/dist/settings/settings.schema.d.ts +2 -0
  82. package/dist/settings/settings.schema.js +8 -3
  83. package/dist/sidecar/persistence-mapping.d.ts +1 -1
  84. package/dist/sidecar/sidecar-events.d.ts +36 -36
  85. package/dist/skill.schema.d.ts +39 -0
  86. package/dist/skill.schema.js +31 -0
  87. package/dist/task.schema.d.ts +22 -32
  88. package/dist/task.schema.js +17 -25
  89. package/dist/thread.repository.d.ts +4 -8
  90. package/dist/thread.repository.js +1 -1
  91. package/dist/thread.schema.d.ts +9 -10
  92. package/dist/thread.schema.js +24 -13
  93. package/dist/types/collaboration-blocks.d.ts +3 -1
  94. package/dist/types/message-block.d.ts +3 -1
  95. package/dist/vocab/chat.vocab.d.ts +1 -1
  96. package/dist/vocab/chat.vocab.js +1 -1
  97. package/dist/vocab/contact.vocab.d.ts +1 -1
  98. package/dist/vocab/contact.vocab.js +1 -1
  99. package/dist/vocab/index.d.ts +2 -0
  100. package/dist/vocab/index.js +2 -0
  101. package/dist/vocab/message.vocab.d.ts +1 -1
  102. package/dist/vocab/message.vocab.js +1 -1
  103. package/dist/vocab/session.vocab.d.ts +16 -0
  104. package/dist/vocab/session.vocab.js +17 -0
  105. package/dist/vocab/sidecar.vocab.d.ts +19 -1
  106. package/dist/vocab/sidecar.vocab.js +22 -4
  107. package/dist/vocab/thread.vocab.d.ts +1 -0
  108. package/dist/vocab/thread.vocab.js +1 -0
  109. package/dist/vocab/workflow.vocab.d.ts +135 -0
  110. package/dist/vocab/workflow.vocab.js +136 -0
  111. package/package.json +3 -3
  112. package/skills/solid-modeling/SKILL.md +57 -17
  113. package/dist/file/file.schema.d.ts +0 -60
  114. package/dist/file/file.schema.js +0 -53
  115. package/dist/file/index.d.ts +0 -1
  116. package/dist/file/index.js +0 -1
  117. package/dist/matrix.repository.d.ts +0 -183
  118. package/dist/matrix.repository.js +0 -20
  119. package/dist/matrix.schema.d.ts +0 -136
  120. package/dist/matrix.schema.js +0 -100
package/dist/schema.js CHANGED
@@ -7,28 +7,39 @@ import { aiProviderResource, aiProviderTable } from './ai-provider.schema.js';
7
7
  import { chatResource, chatTable } from './chat.schema.js';
8
8
  import { contactResource, contactTable } from './contact.schema.js';
9
9
  import { credentialResource, credentialTable } from './credential.schema.js';
10
+ import { deliveryResource, deliveryTable } from './delivery.schema.js';
11
+ import { evidenceResource } from './evidence.schema.js';
10
12
  import { favoriteResource, favoriteTable } from './favorite/favorite.schema.js';
11
- import { fileResource, fileTable } from './file/file.schema.js';
12
13
  import { grantResource, grantTable } from './grant.schema.js';
14
+ import { ideaResource } from './idea.schema.js';
13
15
  import { inboxNotificationResource, inboxNotificationTable } from './inbox-notification.schema.js';
14
16
  import { issueResource, issueTable } from './issue.schema.js';
15
- import { matrixAccountResource, matrixAccountTable, matrixEventResource, matrixEventTable, matrixRoomResource, matrixRoomTable } from './matrix.schema.js';
16
17
  import { messageResource, messageTable } from './message.schema.js';
17
18
  import { solidProfileResource, solidProfileTable } from './profile.schema.js';
19
+ import { reportResource } from './report.schema.js';
18
20
  import { runResource, runStepResource, runTable, runStepTable } from './run.schema.js';
21
+ import { scheduleResource, scheduleTable } from './schedule.schema.js';
19
22
  import { sessionResource, sessionTable } from './session/index.js';
20
23
  import { settingsResource, settingsTable } from './settings/settings.schema.js';
24
+ import { skillResource, skillTable } from './skill.schema.js';
21
25
  import { taskResource, taskTable } from './task.schema.js';
22
26
  import { threadResource, threadTable } from './thread.schema.js';
27
+ import { automationRuleResource, automationRuleTable } from './automation-rule.schema.js';
23
28
  export const solidResources = {
24
29
  solidProfileResource,
25
30
  contactResource,
26
31
  agentResource,
32
+ skillResource,
27
33
  chatResource,
28
34
  sessionResource,
29
35
  threadResource,
30
36
  messageResource,
31
37
  taskResource,
38
+ scheduleResource,
39
+ automationRuleResource,
40
+ deliveryResource,
41
+ evidenceResource,
42
+ reportResource,
32
43
  runResource,
33
44
  runStepResource,
34
45
  credentialResource,
@@ -38,13 +49,10 @@ export const solidResources = {
38
49
  vectorStoreResource,
39
50
  indexedFileResource,
40
51
  agentStatusResource,
41
- fileResource,
42
52
  favoriteResource,
43
53
  settingsResource,
54
+ ideaResource,
44
55
  issueResource,
45
- matrixAccountResource,
46
- matrixRoomResource,
47
- matrixEventResource,
48
56
  // Sidecar collaboration data
49
57
  approvalResource,
50
58
  auditResource,
@@ -57,11 +65,15 @@ export const solidSchema = {
57
65
  solidProfileTable,
58
66
  contactTable,
59
67
  agentTable,
68
+ skillTable,
60
69
  chatTable,
61
70
  sessionTable,
62
71
  threadTable,
63
72
  messageTable,
64
73
  taskTable,
74
+ scheduleTable,
75
+ automationRuleTable,
76
+ deliveryTable,
65
77
  runTable,
66
78
  runStepTable,
67
79
  credentialTable,
@@ -71,13 +83,9 @@ export const solidSchema = {
71
83
  vectorStoreTable,
72
84
  indexedFileTable,
73
85
  agentStatusTable,
74
- fileTable,
75
86
  favoriteTable,
76
87
  settingsTable,
77
88
  issueTable,
78
- matrixAccountTable,
79
- matrixRoomTable,
80
- matrixEventTable,
81
89
  // Sidecar collaboration data
82
90
  approvalTable,
83
91
  auditTable,
@@ -1 +1 @@
1
- export { sessionResource, sessionTable, buildSessionResourceId, buildSessionSubjectPath, buildRuntimeSessionIri, extractSessionIdFromSessionRef, extractRuntimeSessionId, type SessionType, type SessionStatus, type SessionRow, type SessionInsert, type SessionUpdate, } from './session.schema';
1
+ export { sessionResource, sessionTable, buildRuntimeSessionIri, extractSessionIdFromSessionRef, extractRuntimeSessionId, type SessionType, type SessionStatus, type SessionRow, type SessionInsert, type SessionUpdate, } from './session.schema';
@@ -1 +1 @@
1
- export { sessionResource, sessionTable, buildSessionResourceId, buildSessionSubjectPath, buildRuntimeSessionIri, extractSessionIdFromSessionRef, extractRuntimeSessionId, } from './session.schema.js';
1
+ export { sessionResource, sessionTable, buildRuntimeSessionIri, extractSessionIdFromSessionRef, extractRuntimeSessionId, } from './session.schema.js';
@@ -1,7 +1,5 @@
1
1
  export type SessionType = 'direct' | 'group' | 'imported-readonly';
2
2
  export type SessionStatus = 'active' | 'paused' | 'completed' | 'error' | 'archived';
3
- export declare function buildSessionResourceId(sessionId: string, createdAt?: Date | string | number): string;
4
- export declare function buildSessionSubjectPath(sessionId: string, createdAt?: Date | string | number): string;
5
3
  export declare function buildRuntimeSessionIri(sessionId: string): string;
6
4
  export declare function extractRuntimeSessionId(sessionRef: string | null | undefined): string | null;
7
5
  export declare function extractSessionIdFromSessionRef(sessionRef: string | null | undefined): string | null;
@@ -31,14 +29,14 @@ export declare function extractSessionIdFromSessionRef(sessionRef: string | null
31
29
  */
32
30
  export declare const sessionResource: import("@undefineds.co/drizzle-solid/dist/core/schema").PodTableWithColumns<import("@undefineds.co/drizzle-solid/dist/core/schema").ResolvedColumns<{
33
31
  id: import("@undefineds.co/drizzle-solid/dist/core/schema").PodStringColumn<false, false>;
34
- ownerWebId: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"uri", null, true, false>;
32
+ owner: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"uri", null, true, false>;
35
33
  chat: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"uri", null, false, false>;
36
34
  thread: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"uri", null, false, false>;
37
35
  sessionType: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, true, true>;
38
36
  status: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, true, true>;
39
37
  tool: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, false, false>;
40
38
  tokenUsage: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"integer", null, false, true>;
41
- messageResources: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"array", "uri", false, false>;
39
+ messages: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"array", "uri", false, false>;
42
40
  policy: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"uri", null, false, false>;
43
41
  policyVersion: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, false, false>;
44
42
  metadata: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"object", null, false, false>;
@@ -48,14 +46,14 @@ export declare const sessionResource: import("@undefineds.co/drizzle-solid/dist/
48
46
  }>>;
49
47
  export declare const sessionTable: import("@undefineds.co/drizzle-solid/dist/core/schema").PodTableWithColumns<import("@undefineds.co/drizzle-solid/dist/core/schema").ResolvedColumns<{
50
48
  id: import("@undefineds.co/drizzle-solid/dist/core/schema").PodStringColumn<false, false>;
51
- ownerWebId: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"uri", null, true, false>;
49
+ owner: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"uri", null, true, false>;
52
50
  chat: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"uri", null, false, false>;
53
51
  thread: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"uri", null, false, false>;
54
52
  sessionType: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, true, true>;
55
53
  status: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, true, true>;
56
54
  tool: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, false, false>;
57
55
  tokenUsage: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"integer", null, false, true>;
58
- messageResources: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"array", "uri", false, false>;
56
+ messages: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"array", "uri", false, false>;
59
57
  policy: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"uri", null, false, false>;
60
58
  policyVersion: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, false, false>;
61
59
  metadata: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"object", null, false, false>;
@@ -3,17 +3,6 @@ import { DCTerms, UDFS } from '../namespaces.js';
3
3
  import { chatResource } from '../chat.schema.js';
4
4
  import { threadResource } from '../thread.schema.js';
5
5
  import { asPodResourceTemplateTarget } from '../repository.js';
6
- export function buildSessionResourceId(sessionId, createdAt = new Date()) {
7
- const date = createdAt instanceof Date ? createdAt : new Date(createdAt);
8
- const safeDate = Number.isFinite(date.getTime()) ? date : new Date();
9
- const yyyy = String(safeDate.getUTCFullYear());
10
- const mm = String(safeDate.getUTCMonth() + 1).padStart(2, '0');
11
- const dd = String(safeDate.getUTCDate()).padStart(2, '0');
12
- return `${yyyy}/${mm}/${dd}/${encodeURIComponent(sessionId)}.ttl`;
13
- }
14
- export function buildSessionSubjectPath(sessionId, createdAt = new Date()) {
15
- return `/.data/sessions/${buildSessionResourceId(sessionId, createdAt)}`;
16
- }
17
6
  export function buildRuntimeSessionIri(sessionId) {
18
7
  return `urn:linx:runtime-session:${sessionId}`;
19
8
  }
@@ -28,7 +17,7 @@ export function extractRuntimeSessionId(sessionRef) {
28
17
  export function extractSessionIdFromSessionRef(sessionRef) {
29
18
  if (!sessionRef)
30
19
  return null;
31
- const templateId = extractPodResourceTemplateValue(asPodResourceTemplateTarget(sessionResource), sessionRef);
20
+ const templateId = extractPodResourceTemplateValue(asPodResourceTemplateTarget(sessionResource), sessionRef, 'key');
32
21
  if (templateId)
33
22
  return templateId;
34
23
  const legacyFragmentMatch = sessionRef.match(/\.ttl#([^/?#]+)$/);
@@ -66,17 +55,18 @@ export function extractSessionIdFromSessionRef(sessionRef) {
66
55
  * prematurely overfit to today's sidecar enum before all writers are aligned.
67
56
  */
68
57
  export const sessionResource = podTable('session', {
69
- id: id('id'),
70
- ownerWebId: uri('ownerWebId').predicate(UDFS.actor).notNull(),
58
+ id: id('id').default('{yyyy}/{MM}/{dd}/{key}.ttl'),
59
+ owner: uri('owner').predicate(UDFS.actor).notNull(),
71
60
  chat: uri('chat').predicate(UDFS.conversation).link(chatResource),
72
61
  thread: uri('thread').predicate(UDFS.inThread).link(threadResource),
73
62
  sessionType: string('sessionType').predicate(UDFS.conversationType).notNull().default('direct'),
74
63
  status: string('status').predicate(UDFS.sessionStatus).notNull().default('active'),
75
64
  tool: string('tool').predicate(UDFS.sessionTool),
76
65
  tokenUsage: integer('tokenUsage').predicate(UDFS.tokenUsage).default(0),
77
- messageResources: uri('messageResources').predicate(UDFS.messageResource).array(),
66
+ messages: uri('messages').predicate(UDFS.message).array(),
78
67
  policy: uri('policy').predicate(UDFS.policy),
79
68
  policyVersion: string('policyVersion').predicate(UDFS.policyVersion),
69
+ // Opaque protocol/local/UI metadata only. Shared relations must be explicit URI fields.
80
70
  metadata: object('metadata').predicate(UDFS.metadata),
81
71
  createdAt: timestamp('createdAt').predicate(DCTerms.created).notNull().defaultNow(),
82
72
  updatedAt: timestamp('updatedAt').predicate(DCTerms.modified).notNull().defaultNow(),
@@ -86,7 +76,6 @@ export const sessionResource = podTable('session', {
86
76
  sparqlEndpoint: '/.data/sessions/-/sparql',
87
77
  type: UDFS.term('Session'),
88
78
  namespace: UDFS,
89
- subjectTemplate: '{yyyy}/{MM}/{dd}/{id}.ttl',
90
79
  });
91
80
  // Compatibility alias. New model code should prefer `sessionResource`.
92
81
  export const sessionTable = sessionResource;
@@ -1,13 +1,13 @@
1
1
  export declare const sessionRepository: 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
2
  id: import("@undefineds.co/drizzle-solid/dist/core/schema").PodStringColumn<false, false>;
3
- ownerWebId: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"uri", null, true, false>;
3
+ owner: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"uri", null, true, false>;
4
4
  chat: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"uri", null, false, false>;
5
5
  thread: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"uri", null, false, false>;
6
6
  sessionType: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, true, true>;
7
7
  status: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, true, true>;
8
8
  tool: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, false, false>;
9
9
  tokenUsage: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"integer", null, false, true>;
10
- messageResources: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"array", "uri", false, false>;
10
+ messages: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"array", "uri", false, false>;
11
11
  policy: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"uri", null, false, false>;
12
12
  policyVersion: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, false, false>;
13
13
  metadata: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"object", null, false, false>;
@@ -16,14 +16,14 @@ export declare const sessionRepository: import("@undefineds.co/drizzle-solid/dis
16
16
  archivedAt: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"datetime", null, false, false>;
17
17
  }>>, {
18
18
  id: string;
19
- ownerWebId: string;
19
+ owner: string;
20
20
  chat: string;
21
21
  thread: string;
22
22
  sessionType: string;
23
23
  status: string;
24
24
  tool: string;
25
25
  tokenUsage: number;
26
- messageResources: string[];
26
+ messages: string[];
27
27
  policy: string;
28
28
  policyVersion: string;
29
29
  metadata: Record<string, unknown>;
@@ -31,7 +31,7 @@ export declare const sessionRepository: import("@undefineds.co/drizzle-solid/dis
31
31
  updatedAt: Date;
32
32
  archivedAt: Date;
33
33
  }, {
34
- ownerWebId: string;
34
+ owner: string;
35
35
  id?: string | undefined;
36
36
  chat?: string | undefined;
37
37
  thread?: string | undefined;
@@ -39,7 +39,7 @@ export declare const sessionRepository: import("@undefineds.co/drizzle-solid/dis
39
39
  status?: string | undefined;
40
40
  tool?: string | undefined;
41
41
  tokenUsage?: number | undefined;
42
- messageResources?: string[] | undefined;
42
+ messages?: string[] | undefined;
43
43
  policy?: string | undefined;
44
44
  policyVersion?: string | undefined;
45
45
  metadata?: Record<string, unknown> | undefined;
@@ -48,14 +48,14 @@ export declare const sessionRepository: import("@undefineds.co/drizzle-solid/dis
48
48
  archivedAt?: Date | undefined;
49
49
  }, {
50
50
  id?: string | null | undefined;
51
- ownerWebId?: string | undefined;
51
+ owner?: string | undefined;
52
52
  chat?: string | null | undefined;
53
53
  thread?: string | null | undefined;
54
54
  sessionType?: string | undefined;
55
55
  status?: string | undefined;
56
56
  tool?: string | null | undefined;
57
57
  tokenUsage?: number | null | undefined;
58
- messageResources?: string[] | null | undefined;
58
+ messages?: string[] | null | undefined;
59
59
  policy?: string | null | undefined;
60
60
  policyVersion?: string | null | undefined;
61
61
  metadata?: Record<string, unknown> | null | undefined;
@@ -2,7 +2,7 @@ import { definePodRepository } from './repository.js';
2
2
  import { sessionResource, } from './session/index.js';
3
3
  export const sessionRepository = definePodRepository({
4
4
  namespace: 'session',
5
- table: sessionResource,
5
+ resource: sessionResource,
6
6
  searchableFields: ['chat', 'thread', 'status', 'tool'],
7
7
  defaultSort: { field: 'updatedAt', direction: 'desc' },
8
8
  });
@@ -9,6 +9,7 @@
9
9
  * 存储用户的应用配置、偏好设置等
10
10
  */
11
11
  export declare const settingsResource: import("@undefineds.co/drizzle-solid/dist/core/schema").PodTableWithColumns<import("@undefineds.co/drizzle-solid/dist/core/schema").ResolvedColumns<{
12
+ id: import("@undefineds.co/drizzle-solid/dist/core/schema").PodStringColumn<false, false>;
12
13
  key: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, true, false>;
13
14
  value: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, true, false>;
14
15
  valueType: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, true, true>;
@@ -45,6 +46,7 @@ export declare const SETTING_KEYS: {
45
46
  };
46
47
  export type SettingKey = typeof SETTING_KEYS[keyof typeof SETTING_KEYS];
47
48
  export declare const settingsTable: import("@undefineds.co/drizzle-solid/dist/core/schema").PodTableWithColumns<import("@undefineds.co/drizzle-solid/dist/core/schema").ResolvedColumns<{
49
+ id: import("@undefineds.co/drizzle-solid/dist/core/schema").PodStringColumn<false, false>;
48
50
  key: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, true, false>;
49
51
  value: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, true, false>;
50
52
  valueType: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, true, true>;
@@ -1,4 +1,4 @@
1
- import { podTable, string, timestamp, text, boolean } from "@undefineds.co/drizzle-solid";
1
+ import { id, podTable, string, timestamp, text, boolean } from "@undefineds.co/drizzle-solid";
2
2
  import { UDFS, DCTerms, SCHEMA } from "../namespaces.js";
3
3
  /**
4
4
  * Settings resource
@@ -11,8 +11,14 @@ import { UDFS, DCTerms, SCHEMA } from "../namespaces.js";
11
11
  * 存储用户的应用配置、偏好设置等
12
12
  */
13
13
  export const settingsResource = podTable("settings", {
14
+ id: id("id").default((key, row) => {
15
+ const settingKey = key ?? (typeof row?.key === "string" ? row.key : undefined);
16
+ if (!settingKey)
17
+ return "";
18
+ return `${encodeURIComponent(settingKey)}.ttl`;
19
+ }),
14
20
  // 设置键值对
15
- key: string("key").primaryKey().predicate(UDFS.settingKey).notNull(), // 设置键(唯一)
21
+ key: string("key").predicate(UDFS.settingKey).notNull(), // 设置键(唯一)
16
22
  value: text("value").predicate(UDFS.settingValue).notNull(), // 设置值(JSON 字符串)
17
23
  valueType: string("valueType").predicate(UDFS.settingType).notNull().default("string"), // string, number, boolean, json
18
24
  // 元数据
@@ -31,7 +37,6 @@ export const settingsResource = podTable("settings", {
31
37
  sparqlEndpoint: "/settings/-/sparql",
32
38
  type: SCHEMA.PropertyValue,
33
39
  namespace: UDFS,
34
- subjectTemplate: "{key}.ttl",
35
40
  });
36
41
  /**
37
42
  * 常用设置键定义
@@ -12,7 +12,7 @@ export type ChatSessionProjection = {
12
12
  export type ApprovalProjectionInsert = Pick<ApprovalInsert, 'session' | 'chat' | 'thread' | 'toolCallId' | 'toolName' | 'target' | 'action' | 'risk' | 'status' | 'context' | 'approvalOptions' | 'policyVersion' | 'expiresAt'>;
13
13
  export type ApprovalProjectionUpdate = Partial<Pick<ApprovalUpdate, 'status' | 'assignedTo' | 'decisionBy' | 'decisionRole' | 'onBehalfOf' | 'reason' | 'policyVersion' | 'resolvedAt'>>;
14
14
  export type AuditProjectionInsert = Pick<AuditInsert, 'action' | 'actor' | 'actorRole' | 'onBehalfOf' | 'session' | 'chat' | 'thread' | 'entry' | 'toolCallId' | 'toolName' | 'approval' | 'policy' | 'policyVersion'>;
15
- export type GrantProjectionInsert = Pick<GrantInsert, 'target' | 'action' | 'title' | 'summary' | 'body' | 'schema' | 'pageKind' | 'wikiStatus' | 'tags' | 'source' | 'sourceHash' | 'compiledAt' | 'compiledFrom' | 'related' | 'effect' | 'riskCeiling' | 'policy' | 'context' | 'decisionBy' | 'decisionRole' | 'onBehalfOf'>;
15
+ export type GrantProjectionInsert = Pick<GrantInsert, 'target' | 'action' | 'title' | 'summary' | 'description' | 'schema' | 'pageKind' | 'wikiStatus' | 'tags' | 'source' | 'sourceHash' | 'compiledAt' | 'compiledFrom' | 'related' | 'effect' | 'riskCeiling' | 'policy' | 'context' | 'decisionBy' | 'decisionRole' | 'onBehalfOf'>;
16
16
  export type InboxNotificationProjectionInsert = Pick<InboxNotificationInsert, 'actor' | 'object'>;
17
17
  export declare const SidecarEventToPodMapping: {
18
18
  readonly tool_call_waiting_approval: {