@undefineds.co/models 0.2.13 → 0.2.15

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 CHANGED
@@ -54,6 +54,8 @@ LinX 的所有数据存储在 Solid Pod 中,使用标准的 RDF 格式。本
54
54
  - Pod schema 使用 `chat`、`thread` 这类 URI-valued RDF relation 字段。
55
55
  - `chatId`、`threadId` 只允许作为 UI 状态、函数参数、runtime protocol 字段或 metadata 中的兼容信息,不允许作为持久 RDF link 字段。
56
56
  - 新增 shared model 代码优先使用 `chatResource`、`threadResource`、`messageResource`、`sessionResource` 等 Solid resource 命名;`*Table` 只作为兼容 alias 逐步退出。
57
+ - 如果壳层需要新的查询、upsert、resolve-by-uri、审计或审批状态变更能力,优先在本包新增 repository/helper 和 tests;不要在 CLI/App 中复制 predicate、subject template、Turtle 读写或 shared 状态机。
58
+ - `approval` / `grant` / `audit` / `inboxNotification` / `session` 等跨端控制面也属于本包的 shared resource 语义。CLI/App 只负责把 Pi/Codex/Claude 等运行时事件映射成本包定义的 insert/update DTO,不能另建一套存储路径或审批策略。
57
59
 
58
60
  ---
59
61
 
@@ -591,4 +593,3 @@ MIT License
591
593
 
592
594
 
593
595
 
594
-
@@ -5,9 +5,10 @@ export declare const auditResource: import("@undefineds.co/drizzle-solid/dist/co
5
5
  actorRole: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, true, false>;
6
6
  onBehalfOf: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"uri", null, false, false>;
7
7
  session: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"uri", null, false, false>;
8
+ entry: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"uri", null, false, false>;
8
9
  toolCallId: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, false, false>;
10
+ toolName: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, false, false>;
9
11
  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
12
  policy: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"uri", null, false, false>;
12
13
  policyVersion: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, false, false>;
13
14
  createdAt: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"datetime", null, true, true>;
@@ -20,9 +21,10 @@ export declare const auditTable: import("@undefineds.co/drizzle-solid/dist/core/
20
21
  actorRole: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, true, false>;
21
22
  onBehalfOf: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"uri", null, false, false>;
22
23
  session: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"uri", null, false, false>;
24
+ entry: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"uri", null, false, false>;
23
25
  toolCallId: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, false, false>;
26
+ toolName: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, false, false>;
24
27
  approval: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"uri", null, false, false>;
25
- context: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, false, false>;
26
28
  policy: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"uri", null, false, false>;
27
29
  policyVersion: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, false, false>;
28
30
  createdAt: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"datetime", null, true, true>;
@@ -1,4 +1,4 @@
1
- import { podTable, uri, string, text, timestamp, id } from '@undefineds.co/drizzle-solid';
1
+ import { podTable, uri, string, timestamp, id } from '@undefineds.co/drizzle-solid';
2
2
  import { UDFS, DCTerms } from './namespaces.js';
3
3
  // Append-only audit entry resource (separate from Solid inbox notifications).
4
4
  // Audit entries are independent events; session/chat/thread are optional relations,
@@ -13,10 +13,10 @@ export const auditResource = podTable('audit', {
13
13
  onBehalfOf: uri('onBehalfOf').predicate(UDFS.onBehalfOf),
14
14
  // Relations
15
15
  session: uri('session').predicate(UDFS.session),
16
+ entry: uri('entry').predicate(UDFS.entry),
16
17
  toolCallId: string('toolCallId').predicate(UDFS.toolCallId),
18
+ toolName: string('toolName').predicate(UDFS.toolName),
17
19
  approval: uri('approval').predicate(UDFS.approval),
18
- // JSON payload with policy/reasoning snapshot
19
- context: text('context').predicate(UDFS.context),
20
20
  // Policy metadata
21
21
  policy: uri('policy').predicate(UDFS.policy),
22
22
  policyVersion: string('policyVersion').predicate(UDFS.policyVersion),
@@ -161,6 +161,7 @@ export const UDFS = createNamespace('udfs', 'https://undefineds.co/ns#', {
161
161
  action: 'action',
162
162
  actor: 'actor',
163
163
  actorRole: 'actorRole',
164
+ entry: 'entry',
164
165
  context: 'context',
165
166
  policy: 'policy',
166
167
  approval: 'approval',
package/dist/schema.d.ts CHANGED
@@ -215,9 +215,10 @@ export declare const solidResources: {
215
215
  actorRole: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, true, false>;
216
216
  onBehalfOf: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"uri", null, false, false>;
217
217
  session: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"uri", null, false, false>;
218
+ entry: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"uri", null, false, false>;
218
219
  toolCallId: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, false, false>;
220
+ toolName: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, false, false>;
219
221
  approval: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"uri", null, false, false>;
220
- context: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, false, false>;
221
222
  policy: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"uri", null, false, false>;
222
223
  policyVersion: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, false, false>;
223
224
  createdAt: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"datetime", null, true, true>;
@@ -460,9 +461,10 @@ export declare const solidSchema: {
460
461
  actorRole: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, true, false>;
461
462
  onBehalfOf: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"uri", null, false, false>;
462
463
  session: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"uri", null, false, false>;
464
+ entry: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"uri", null, false, false>;
463
465
  toolCallId: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, false, false>;
466
+ toolName: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, false, false>;
464
467
  approval: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"uri", null, false, false>;
465
- context: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, false, false>;
466
468
  policy: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"uri", null, false, false>;
467
469
  policyVersion: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, false, false>;
468
470
  createdAt: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"datetime", null, true, true>;
@@ -11,7 +11,7 @@ export type ChatSessionProjection = {
11
11
  };
12
12
  export type ApprovalProjectionInsert = Pick<ApprovalInsert, 'session' | 'toolCallId' | 'toolName' | 'target' | 'action' | 'risk' | 'status' | 'policyVersion'>;
13
13
  export type ApprovalProjectionUpdate = Partial<Pick<ApprovalUpdate, 'status' | 'assignedTo' | 'decisionBy' | 'decisionRole' | 'onBehalfOf' | 'reason' | 'policyVersion' | 'resolvedAt'>>;
14
- export type AuditProjectionInsert = Pick<AuditInsert, 'action' | 'actor' | 'actorRole' | 'onBehalfOf' | 'session' | 'toolCallId' | 'approval' | 'context' | 'policy' | 'policyVersion'>;
14
+ export type AuditProjectionInsert = Pick<AuditInsert, 'action' | 'actor' | 'actorRole' | 'onBehalfOf' | 'session' | 'entry' | 'toolCallId' | 'toolName' | 'approval' | 'policy' | 'policyVersion'>;
15
15
  export type GrantProjectionInsert = Pick<GrantInsert, 'target' | 'action' | 'effect' | 'riskCeiling' | 'decisionBy' | 'decisionRole' | 'onBehalfOf'>;
16
16
  export type InboxNotificationProjectionInsert = Pick<InboxNotificationInsert, 'actor' | 'object'>;
17
17
  export declare const SidecarEventToPodMapping: {
@@ -21,9 +21,10 @@ export declare const AuditVocab: {
21
21
  readonly actorRole: string;
22
22
  readonly onBehalfOf: string;
23
23
  readonly session: string;
24
+ readonly entry: string;
24
25
  readonly toolCallId: string;
26
+ readonly toolName: string;
25
27
  readonly approval: string;
26
- readonly context: string;
27
28
  readonly policy: string;
28
29
  readonly policyVersion: string;
29
30
  readonly createdAt: string;
@@ -22,9 +22,10 @@ export const AuditVocab = {
22
22
  actorRole: UDFS.actorRole,
23
23
  onBehalfOf: UDFS.onBehalfOf,
24
24
  session: UDFS.session,
25
+ entry: UDFS.entry,
25
26
  toolCallId: UDFS.toolCallId,
27
+ toolName: UDFS.toolName,
26
28
  approval: UDFS.approval,
27
- context: UDFS.context,
28
29
  policy: UDFS.policy,
29
30
  policyVersion: UDFS.policyVersion,
30
31
  createdAt: DCTerms.created,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@undefineds.co/models",
3
- "version": "0.2.13",
3
+ "version": "0.2.15",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "exports": {
@@ -36,13 +36,21 @@
36
36
  "types": "./dist/profile.schema.d.ts",
37
37
  "default": "./dist/profile.schema.js"
38
38
  },
39
+ "./vocab": {
40
+ "types": "./dist/vocab/index.d.ts",
41
+ "default": "./dist/vocab/index.js"
42
+ },
43
+ "./vocab/sidecar": {
44
+ "types": "./dist/vocab/sidecar.vocab.d.ts",
45
+ "default": "./dist/vocab/sidecar.vocab.js"
46
+ },
39
47
  "./watch": {
40
48
  "types": "./dist/watch/index.d.ts",
41
49
  "default": "./dist/watch/index.js"
42
50
  }
43
51
  },
44
52
  "scripts": {
45
- "build": "tsc -p tsconfig.json",
53
+ "build": "tsc -p tsconfig.json && node scripts/fix-dist-esm.mjs",
46
54
  "lint": "echo \"lint not configured\"",
47
55
  "pack:release": "node scripts/pack-release.mjs",
48
56
  "sync:discovery:vercel": "node --experimental-strip-types scripts/sync-discovery-vercel.ts",