@sealkeeper/schema 0.4.5 → 0.4.7

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 (73) hide show
  1. package/README.md +2 -2
  2. package/dist/api.d.ts +30 -38
  3. package/dist/api.js +87 -42
  4. package/dist/client-address.d.ts +6 -0
  5. package/dist/client-address.js +81 -0
  6. package/dist/credential.d.ts +1 -66
  7. package/dist/credential.js +25 -63
  8. package/dist/events.d.ts +1 -0
  9. package/dist/events.js +13 -1
  10. package/dist/goal.js +2 -2
  11. package/dist/hidden.d.ts +1 -0
  12. package/dist/hidden.js +5 -0
  13. package/dist/index.d.ts +3 -1
  14. package/dist/index.js +3 -1
  15. package/dist/json-shape.d.ts +9 -0
  16. package/dist/json-shape.js +70 -0
  17. package/dist/moderation.d.ts +2 -1
  18. package/dist/moderation.js +169 -75
  19. package/dist/seal-conformance.js +2 -2
  20. package/dist/seal-verify.d.ts +21 -0
  21. package/dist/seal-verify.js +63 -0
  22. package/dist/standing.js +1 -1
  23. package/dist/tasks.d.ts +2 -0
  24. package/dist/tasks.js +14 -4
  25. package/package.json +2 -6
  26. package/dist/db/agent-milestones.d.ts +0 -75
  27. package/dist/db/agent-milestones.js +0 -16
  28. package/dist/db/agent-renames.d.ts +0 -126
  29. package/dist/db/agent-renames.js +0 -20
  30. package/dist/db/agents.d.ts +0 -266
  31. package/dist/db/agents.js +0 -79
  32. package/dist/db/client.d.ts +0 -2471
  33. package/dist/db/client.js +0 -40
  34. package/dist/db/credentials.d.ts +0 -143
  35. package/dist/db/credentials.js +0 -16
  36. package/dist/db/deleted-operators.d.ts +0 -75
  37. package/dist/db/deleted-operators.js +0 -13
  38. package/dist/db/events.d.ts +0 -160
  39. package/dist/db/events.js +0 -41
  40. package/dist/db/feed-items.d.ts +0 -109
  41. package/dist/db/feed-items.js +0 -21
  42. package/dist/db/index.d.ts +0 -76
  43. package/dist/db/index.js +0 -28
  44. package/dist/db/migrate.d.ts +0 -1
  45. package/dist/db/migrate.js +0 -34
  46. package/dist/db/migrator.d.ts +0 -4
  47. package/dist/db/migrator.js +0 -26
  48. package/dist/db/operator-identities.d.ts +0 -211
  49. package/dist/db/operator-identities.js +0 -49
  50. package/dist/db/operator-level-grants.d.ts +0 -109
  51. package/dist/db/operator-level-grants.js +0 -30
  52. package/dist/db/operator-slugs.d.ts +0 -92
  53. package/dist/db/operator-slugs.js +0 -25
  54. package/dist/db/operators.d.ts +0 -228
  55. package/dist/db/operators.js +0 -39
  56. package/dist/db/quota-counters.d.ts +0 -109
  57. package/dist/db/quota-counters.js +0 -17
  58. package/dist/db/ratings.d.ts +0 -160
  59. package/dist/db/ratings.js +0 -27
  60. package/dist/db/scores.d.ts +0 -160
  61. package/dist/db/scores.js +0 -15
  62. package/dist/db/standing.d.ts +0 -264
  63. package/dist/db/standing.js +0 -34
  64. package/dist/db/task-claim-failures.d.ts +0 -143
  65. package/dist/db/task-claim-failures.js +0 -37
  66. package/dist/db/task-outcomes.d.ts +0 -145
  67. package/dist/db/task-outcomes.js +0 -25
  68. package/dist/db/tasks.d.ts +0 -381
  69. package/dist/db/tasks.js +0 -100
  70. package/dist/db/timestamps.d.ts +0 -4
  71. package/dist/db/timestamps.js +0 -24
  72. package/dist/db/url.d.ts +0 -12
  73. package/dist/db/url.js +0 -25
package/dist/db/client.js DELETED
@@ -1,40 +0,0 @@
1
- import { drizzle } from 'drizzle-orm/postgres-js';
2
- import postgres from 'postgres';
3
- import { agentMilestones } from './agent-milestones.js';
4
- import { agentRenames } from './agent-renames.js';
5
- import { agents } from './agents.js';
6
- import { credentials } from './credentials.js';
7
- import { deletedOperators } from './deleted-operators.js';
8
- import { events } from './events.js';
9
- import { feedItems } from './feed-items.js';
10
- import { operatorSlugs } from './operator-slugs.js';
11
- import { operators } from './operators.js';
12
- import { quotaCounters } from './quota-counters.js';
13
- import { ratings } from './ratings.js';
14
- import { scores } from './scores.js';
15
- import { standing } from './standing.js';
16
- import { taskOutcomes } from './task-outcomes.js';
17
- import { tasks } from './tasks.js';
18
- import { pgArgs } from './url.js';
19
- const schema = {
20
- operators,
21
- agents,
22
- events,
23
- tasks,
24
- taskOutcomes,
25
- ratings,
26
- credentials,
27
- scores,
28
- standing,
29
- quotaCounters,
30
- feedItems,
31
- agentRenames,
32
- agentMilestones,
33
- deletedOperators,
34
- operatorSlugs,
35
- };
36
- export function createDb(url, options = {}) {
37
- const [conn, pgOptions] = pgArgs(url);
38
- const max = options.max === undefined ? {} : { max: options.max };
39
- return drizzle(postgres(conn, { ...pgOptions, ...max }), { schema });
40
- }
@@ -1,143 +0,0 @@
1
- export declare const credentials: import("drizzle-orm/pg-core").PgTableWithColumns<{
2
- name: "credentials";
3
- schema: undefined;
4
- columns: {
5
- createdAt: import("drizzle-orm/pg-core").PgColumn<{
6
- name: "created_at";
7
- tableName: "credentials";
8
- dataType: "date";
9
- columnType: "PgTimestamp";
10
- data: Date;
11
- driverParam: string;
12
- notNull: true;
13
- hasDefault: true;
14
- isPrimaryKey: false;
15
- isAutoincrement: false;
16
- hasRuntimeDefault: false;
17
- enumValues: undefined;
18
- baseColumn: never;
19
- identity: undefined;
20
- generated: undefined;
21
- }, {}, {}>;
22
- updatedAt: import("drizzle-orm/pg-core").PgColumn<{
23
- name: "updated_at";
24
- tableName: "credentials";
25
- dataType: "date";
26
- columnType: "PgTimestamp";
27
- data: Date;
28
- driverParam: string;
29
- notNull: true;
30
- hasDefault: true;
31
- isPrimaryKey: false;
32
- isAutoincrement: false;
33
- hasRuntimeDefault: false;
34
- enumValues: undefined;
35
- baseColumn: never;
36
- identity: undefined;
37
- generated: undefined;
38
- }, {}, {}>;
39
- id: import("drizzle-orm/pg-core").PgColumn<{
40
- name: "id";
41
- tableName: "credentials";
42
- dataType: "string";
43
- columnType: "PgUUID";
44
- data: string;
45
- driverParam: string;
46
- notNull: true;
47
- hasDefault: false;
48
- isPrimaryKey: true;
49
- isAutoincrement: false;
50
- hasRuntimeDefault: false;
51
- enumValues: undefined;
52
- baseColumn: never;
53
- identity: undefined;
54
- generated: undefined;
55
- }, {}, {}>;
56
- agentId: import("drizzle-orm/pg-core").PgColumn<{
57
- name: "agent_id";
58
- tableName: "credentials";
59
- dataType: "string";
60
- columnType: "PgText";
61
- data: string;
62
- driverParam: string;
63
- notNull: true;
64
- hasDefault: false;
65
- isPrimaryKey: false;
66
- isAutoincrement: false;
67
- hasRuntimeDefault: false;
68
- enumValues: [string, ...string[]];
69
- baseColumn: never;
70
- identity: undefined;
71
- generated: undefined;
72
- }, {}, {}>;
73
- kid: import("drizzle-orm/pg-core").PgColumn<{
74
- name: "kid";
75
- tableName: "credentials";
76
- dataType: "string";
77
- columnType: "PgText";
78
- data: string;
79
- driverParam: string;
80
- notNull: true;
81
- hasDefault: false;
82
- isPrimaryKey: false;
83
- isAutoincrement: false;
84
- hasRuntimeDefault: false;
85
- enumValues: [string, ...string[]];
86
- baseColumn: never;
87
- identity: undefined;
88
- generated: undefined;
89
- }, {}, {}>;
90
- jws: import("drizzle-orm/pg-core").PgColumn<{
91
- name: "jws";
92
- tableName: "credentials";
93
- dataType: "string";
94
- columnType: "PgText";
95
- data: string;
96
- driverParam: string;
97
- notNull: true;
98
- hasDefault: false;
99
- isPrimaryKey: false;
100
- isAutoincrement: false;
101
- hasRuntimeDefault: false;
102
- enumValues: [string, ...string[]];
103
- baseColumn: never;
104
- identity: undefined;
105
- generated: undefined;
106
- }, {}, {}>;
107
- issuedAt: import("drizzle-orm/pg-core").PgColumn<{
108
- name: "issued_at";
109
- tableName: "credentials";
110
- dataType: "date";
111
- columnType: "PgTimestamp";
112
- data: Date;
113
- driverParam: string;
114
- notNull: true;
115
- hasDefault: false;
116
- isPrimaryKey: false;
117
- isAutoincrement: false;
118
- hasRuntimeDefault: false;
119
- enumValues: undefined;
120
- baseColumn: never;
121
- identity: undefined;
122
- generated: undefined;
123
- }, {}, {}>;
124
- expiresAt: import("drizzle-orm/pg-core").PgColumn<{
125
- name: "expires_at";
126
- tableName: "credentials";
127
- dataType: "date";
128
- columnType: "PgTimestamp";
129
- data: Date;
130
- driverParam: string;
131
- notNull: true;
132
- hasDefault: false;
133
- isPrimaryKey: false;
134
- isAutoincrement: false;
135
- hasRuntimeDefault: false;
136
- enumValues: undefined;
137
- baseColumn: never;
138
- identity: undefined;
139
- generated: undefined;
140
- }, {}, {}>;
141
- };
142
- dialect: 'pg';
143
- }>;
@@ -1,16 +0,0 @@
1
- import { index, pgTable, text, timestamp, uuid } from 'drizzle-orm/pg-core';
2
- import { agents } from './agents.js';
3
- import { timestamps } from './timestamps.js';
4
- export const credentials = pgTable('credentials', {
5
- id: uuid('id').primaryKey(),
6
- agentId: text('agent_id')
7
- .notNull()
8
- .references(() => agents.id),
9
- kid: text('kid').notNull(),
10
- jws: text('jws').notNull(),
11
- issuedAt: timestamp('issued_at', { withTimezone: true }).notNull(),
12
- expiresAt: timestamp('expires_at', { withTimezone: true }).notNull(),
13
- ...timestamps,
14
- }, (t) => [
15
- index('credentials_agent_id_expires_at_idx').on(t.agentId, t.expiresAt),
16
- ]);
@@ -1,75 +0,0 @@
1
- export declare const deletedOperators: import("drizzle-orm/pg-core").PgTableWithColumns<{
2
- name: "deleted_operators";
3
- schema: undefined;
4
- columns: {
5
- createdAt: import("drizzle-orm/pg-core").PgColumn<{
6
- name: "created_at";
7
- tableName: "deleted_operators";
8
- dataType: "date";
9
- columnType: "PgTimestamp";
10
- data: Date;
11
- driverParam: string;
12
- notNull: true;
13
- hasDefault: true;
14
- isPrimaryKey: false;
15
- isAutoincrement: false;
16
- hasRuntimeDefault: false;
17
- enumValues: undefined;
18
- baseColumn: never;
19
- identity: undefined;
20
- generated: undefined;
21
- }, {}, {}>;
22
- updatedAt: import("drizzle-orm/pg-core").PgColumn<{
23
- name: "updated_at";
24
- tableName: "deleted_operators";
25
- dataType: "date";
26
- columnType: "PgTimestamp";
27
- data: Date;
28
- driverParam: string;
29
- notNull: true;
30
- hasDefault: true;
31
- isPrimaryKey: false;
32
- isAutoincrement: false;
33
- hasRuntimeDefault: false;
34
- enumValues: undefined;
35
- baseColumn: never;
36
- identity: undefined;
37
- generated: undefined;
38
- }, {}, {}>;
39
- githubId: import("drizzle-orm/pg-core").PgColumn<{
40
- name: "github_id";
41
- tableName: "deleted_operators";
42
- dataType: "number";
43
- columnType: "PgBigInt53";
44
- data: number;
45
- driverParam: string | number;
46
- notNull: true;
47
- hasDefault: false;
48
- isPrimaryKey: true;
49
- isAutoincrement: false;
50
- hasRuntimeDefault: false;
51
- enumValues: undefined;
52
- baseColumn: never;
53
- identity: undefined;
54
- generated: undefined;
55
- }, {}, {}>;
56
- deletedAt: import("drizzle-orm/pg-core").PgColumn<{
57
- name: "deleted_at";
58
- tableName: "deleted_operators";
59
- dataType: "date";
60
- columnType: "PgTimestamp";
61
- data: Date;
62
- driverParam: string;
63
- notNull: true;
64
- hasDefault: true;
65
- isPrimaryKey: false;
66
- isAutoincrement: false;
67
- hasRuntimeDefault: false;
68
- enumValues: undefined;
69
- baseColumn: never;
70
- identity: undefined;
71
- generated: undefined;
72
- }, {}, {}>;
73
- };
74
- dialect: 'pg';
75
- }>;
@@ -1,13 +0,0 @@
1
- import { bigint, pgTable, timestamp } from 'drizzle-orm/pg-core';
2
- import { timestamps } from './timestamps.js';
3
- // One row per GitHub account whose operator deleted itself. It holds the
4
- // numeric GitHub id and when, nothing else, so registration and web sign in
5
- // can refuse the same account for 30 days. The scoring run purges rows
6
- // older than that. deleted_at is set by the database.
7
- export const deletedOperators = pgTable('deleted_operators', {
8
- githubId: bigint('github_id', { mode: 'number' }).primaryKey(),
9
- deletedAt: timestamp('deleted_at', { withTimezone: true })
10
- .notNull()
11
- .defaultNow(),
12
- ...timestamps,
13
- });
@@ -1,160 +0,0 @@
1
- export declare const events: import("drizzle-orm/pg-core").PgTableWithColumns<{
2
- name: "events";
3
- schema: undefined;
4
- columns: {
5
- id: import("drizzle-orm/pg-core").PgColumn<{
6
- name: "id";
7
- tableName: "events";
8
- dataType: "number";
9
- columnType: "PgBigInt53";
10
- data: number;
11
- driverParam: string | number;
12
- notNull: true;
13
- hasDefault: true;
14
- isPrimaryKey: true;
15
- isAutoincrement: false;
16
- hasRuntimeDefault: false;
17
- enumValues: undefined;
18
- baseColumn: never;
19
- identity: "always";
20
- generated: undefined;
21
- }, {}, {}>;
22
- agentId: import("drizzle-orm/pg-core").PgColumn<{
23
- name: "agent_id";
24
- tableName: "events";
25
- dataType: "string";
26
- columnType: "PgText";
27
- data: string;
28
- driverParam: string;
29
- notNull: true;
30
- hasDefault: false;
31
- isPrimaryKey: false;
32
- isAutoincrement: false;
33
- hasRuntimeDefault: false;
34
- enumValues: [string, ...string[]];
35
- baseColumn: never;
36
- identity: undefined;
37
- generated: undefined;
38
- }, {}, {}>;
39
- eventId: import("drizzle-orm/pg-core").PgColumn<{
40
- name: "event_id";
41
- tableName: "events";
42
- dataType: "string";
43
- columnType: "PgUUID";
44
- data: string;
45
- driverParam: string;
46
- notNull: true;
47
- hasDefault: false;
48
- isPrimaryKey: false;
49
- isAutoincrement: false;
50
- hasRuntimeDefault: false;
51
- enumValues: undefined;
52
- baseColumn: never;
53
- identity: undefined;
54
- generated: undefined;
55
- }, {}, {}>;
56
- type: import("drizzle-orm/pg-core").PgColumn<{
57
- name: "type";
58
- tableName: "events";
59
- dataType: "string";
60
- columnType: "PgText";
61
- data: string;
62
- driverParam: string;
63
- notNull: true;
64
- hasDefault: false;
65
- isPrimaryKey: false;
66
- isAutoincrement: false;
67
- hasRuntimeDefault: false;
68
- enumValues: [string, ...string[]];
69
- baseColumn: never;
70
- identity: undefined;
71
- generated: undefined;
72
- }, {}, {}>;
73
- version: import("drizzle-orm/pg-core").PgColumn<{
74
- name: "version";
75
- tableName: "events";
76
- dataType: "string";
77
- columnType: "PgText";
78
- data: string;
79
- driverParam: string;
80
- notNull: true;
81
- hasDefault: false;
82
- isPrimaryKey: false;
83
- isAutoincrement: false;
84
- hasRuntimeDefault: false;
85
- enumValues: [string, ...string[]];
86
- baseColumn: never;
87
- identity: undefined;
88
- generated: undefined;
89
- }, {}, {}>;
90
- payload: import("drizzle-orm/pg-core").PgColumn<{
91
- name: "payload";
92
- tableName: "events";
93
- dataType: "json";
94
- columnType: "PgJsonb";
95
- data: unknown;
96
- driverParam: unknown;
97
- notNull: true;
98
- hasDefault: false;
99
- isPrimaryKey: false;
100
- isAutoincrement: false;
101
- hasRuntimeDefault: false;
102
- enumValues: undefined;
103
- baseColumn: never;
104
- identity: undefined;
105
- generated: undefined;
106
- }, {}, {}>;
107
- envelope: import("drizzle-orm/pg-core").PgColumn<{
108
- name: "envelope";
109
- tableName: "events";
110
- dataType: "string";
111
- columnType: "PgText";
112
- data: string;
113
- driverParam: string;
114
- notNull: true;
115
- hasDefault: false;
116
- isPrimaryKey: false;
117
- isAutoincrement: false;
118
- hasRuntimeDefault: false;
119
- enumValues: [string, ...string[]];
120
- baseColumn: never;
121
- identity: undefined;
122
- generated: undefined;
123
- }, {}, {}>;
124
- occurredAt: import("drizzle-orm/pg-core").PgColumn<{
125
- name: "occurred_at";
126
- tableName: "events";
127
- dataType: "date";
128
- columnType: "PgTimestamp";
129
- data: Date;
130
- driverParam: string;
131
- notNull: true;
132
- hasDefault: false;
133
- isPrimaryKey: false;
134
- isAutoincrement: false;
135
- hasRuntimeDefault: false;
136
- enumValues: undefined;
137
- baseColumn: never;
138
- identity: undefined;
139
- generated: undefined;
140
- }, {}, {}>;
141
- receivedAt: import("drizzle-orm/pg-core").PgColumn<{
142
- name: "received_at";
143
- tableName: "events";
144
- dataType: "date";
145
- columnType: "PgTimestamp";
146
- data: Date;
147
- driverParam: string;
148
- notNull: true;
149
- hasDefault: true;
150
- isPrimaryKey: false;
151
- isAutoincrement: false;
152
- hasRuntimeDefault: false;
153
- enumValues: undefined;
154
- baseColumn: never;
155
- identity: undefined;
156
- generated: undefined;
157
- }, {}, {}>;
158
- };
159
- dialect: 'pg';
160
- }>;
package/dist/db/events.js DELETED
@@ -1,41 +0,0 @@
1
- import { sql } from 'drizzle-orm';
2
- import { bigint, index, jsonb, pgTable, text, timestamp, unique, uuid, } from 'drizzle-orm/pg-core';
3
- import { agents } from './agents.js';
4
- // Append only. No created_at or updated_at, received_at is the server timestamp.
5
- export const events = pgTable('events', {
6
- id: bigint('id', { mode: 'number' })
7
- .primaryKey()
8
- .generatedAlwaysAsIdentity(),
9
- agentId: text('agent_id')
10
- .notNull()
11
- .references(() => agents.id),
12
- eventId: uuid('event_id').notNull(),
13
- type: text('type').notNull(),
14
- version: text('version').notNull(),
15
- payload: jsonb('payload').notNull(),
16
- envelope: text('envelope').notNull(),
17
- occurredAt: timestamp('occurred_at', { withTimezone: true }).notNull(),
18
- receivedAt: timestamp('received_at', { withTimezone: true })
19
- .notNull()
20
- .defaultNow(),
21
- }, (t) => [
22
- unique('events_agent_id_event_id_unique').on(t.agentId, t.eventId),
23
- index('events_agent_id_occurred_at_idx').on(t.agentId, t.occurredAt),
24
- // Last seen and the activity queries read the newest received_at per
25
- // agent. NULLS FIRST is what a plain DESC means in Postgres, so the index
26
- // matches order by received_at desc exactly. The column is never null.
27
- index('events_agent_id_received_at_idx').on(t.agentId, t.receivedAt.desc().nullsFirst()),
28
- // The ingest cap on new versions per day walks an agent's distinct
29
- // versions and reads each one's first received_at from here. The
30
- // scoring run's first seen per version reads the same pairs.
31
- index('events_agent_id_version_received_at_idx').on(t.agentId, t.version, t.receivedAt),
32
- // Range reads on the server clock across agents. The stats count of
33
- // the last 24 hours and the evidence counts over a window.
34
- index('events_received_at_agent_id_idx').on(t.receivedAt, t.agentId),
35
- // The single agent answer reads the model from the agent's newest usage
36
- // event, newest by the server's id. Partial, so an agent with many
37
- // events and few usage events is still one short index walk.
38
- index('events_agent_id_usage_idx')
39
- .on(t.agentId, t.id.desc())
40
- .where(sql `${t.type} = 'usage'`),
41
- ]);
@@ -1,109 +0,0 @@
1
- export declare const feedItems: import("drizzle-orm/pg-core").PgTableWithColumns<{
2
- name: "feed_items";
3
- schema: undefined;
4
- columns: {
5
- createdAt: import("drizzle-orm/pg-core").PgColumn<{
6
- name: "created_at";
7
- tableName: "feed_items";
8
- dataType: "date";
9
- columnType: "PgTimestamp";
10
- data: Date;
11
- driverParam: string;
12
- notNull: true;
13
- hasDefault: true;
14
- isPrimaryKey: false;
15
- isAutoincrement: false;
16
- hasRuntimeDefault: false;
17
- enumValues: undefined;
18
- baseColumn: never;
19
- identity: undefined;
20
- generated: undefined;
21
- }, {}, {}>;
22
- updatedAt: import("drizzle-orm/pg-core").PgColumn<{
23
- name: "updated_at";
24
- tableName: "feed_items";
25
- dataType: "date";
26
- columnType: "PgTimestamp";
27
- data: Date;
28
- driverParam: string;
29
- notNull: true;
30
- hasDefault: true;
31
- isPrimaryKey: false;
32
- isAutoincrement: false;
33
- hasRuntimeDefault: false;
34
- enumValues: undefined;
35
- baseColumn: never;
36
- identity: undefined;
37
- generated: undefined;
38
- }, {}, {}>;
39
- id: import("drizzle-orm/pg-core").PgColumn<{
40
- name: "id";
41
- tableName: "feed_items";
42
- dataType: "number";
43
- columnType: "PgBigInt53";
44
- data: number;
45
- driverParam: string | number;
46
- notNull: true;
47
- hasDefault: true;
48
- isPrimaryKey: true;
49
- isAutoincrement: false;
50
- hasRuntimeDefault: false;
51
- enumValues: undefined;
52
- baseColumn: never;
53
- identity: "always";
54
- generated: undefined;
55
- }, {}, {}>;
56
- kind: import("drizzle-orm/pg-core").PgColumn<{
57
- name: "kind";
58
- tableName: "feed_items";
59
- dataType: "string";
60
- columnType: "PgText";
61
- data: string;
62
- driverParam: string;
63
- notNull: true;
64
- hasDefault: false;
65
- isPrimaryKey: false;
66
- isAutoincrement: false;
67
- hasRuntimeDefault: false;
68
- enumValues: [string, ...string[]];
69
- baseColumn: never;
70
- identity: undefined;
71
- generated: undefined;
72
- }, {}, {}>;
73
- agentId: import("drizzle-orm/pg-core").PgColumn<{
74
- name: "agent_id";
75
- tableName: "feed_items";
76
- dataType: "string";
77
- columnType: "PgText";
78
- data: string;
79
- driverParam: string;
80
- notNull: false;
81
- hasDefault: false;
82
- isPrimaryKey: false;
83
- isAutoincrement: false;
84
- hasRuntimeDefault: false;
85
- enumValues: [string, ...string[]];
86
- baseColumn: never;
87
- identity: undefined;
88
- generated: undefined;
89
- }, {}, {}>;
90
- payload: import("drizzle-orm/pg-core").PgColumn<{
91
- name: "payload";
92
- tableName: "feed_items";
93
- dataType: "json";
94
- columnType: "PgJsonb";
95
- data: unknown;
96
- driverParam: unknown;
97
- notNull: true;
98
- hasDefault: false;
99
- isPrimaryKey: false;
100
- isAutoincrement: false;
101
- hasRuntimeDefault: false;
102
- enumValues: undefined;
103
- baseColumn: never;
104
- identity: undefined;
105
- generated: undefined;
106
- }, {}, {}>;
107
- };
108
- dialect: 'pg';
109
- }>;
@@ -1,21 +0,0 @@
1
- import { bigint, index, jsonb, pgTable, text } from 'drizzle-orm/pg-core';
2
- import { agents } from './agents.js';
3
- import { timestamps } from './timestamps.js';
4
- // The public feed. One row per public fact, written in the same transaction
5
- // as the change it describes. The identity id is the SSE event id, so a
6
- // client resumes with Last-Event-ID. The payload holds public facts only,
7
- // shaped by FeedItem in api.ts.
8
- export const feedItems = pgTable('feed_items', {
9
- id: bigint('id', { mode: 'number' })
10
- .primaryKey()
11
- .generatedAlwaysAsIdentity(),
12
- kind: text('kind').notNull(),
13
- agentId: text('agent_id').references(() => agents.id),
14
- payload: jsonb('payload').notNull(),
15
- ...timestamps,
16
- }, (t) => [
17
- index('feed_items_created_at_idx').on(t.createdAt),
18
- // Milestones are written once per agent, and deleting an agent removes
19
- // its items. Both look up by agent and kind.
20
- index('feed_items_agent_id_kind_idx').on(t.agentId, t.kind),
21
- ]);