htm 0.0.2 → 0.0.11
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.
- checksums.yaml +4 -4
- data/.aigcm_msg +1 -0
- data/.architecture/reviews/comprehensive-codebase-review.md +577 -0
- data/.claude/settings.local.json +95 -0
- data/.irbrc +283 -80
- data/.tbls.yml +2 -1
- data/CHANGELOG.md +327 -26
- data/CLAUDE.md +603 -0
- data/README.md +83 -12
- data/Rakefile +5 -0
- data/bin/htm_mcp.rb +527 -0
- data/db/migrate/{20250101000001_enable_extensions.rb → 00001_enable_extensions.rb} +0 -1
- data/db/migrate/00002_create_robots.rb +11 -0
- data/db/migrate/00003_create_file_sources.rb +20 -0
- data/db/migrate/00004_create_nodes.rb +65 -0
- data/db/migrate/00005_create_tags.rb +13 -0
- data/db/migrate/00006_create_node_tags.rb +18 -0
- data/db/migrate/00007_create_robot_nodes.rb +26 -0
- data/db/migrate/00009_add_working_memory_to_robot_nodes.rb +12 -0
- data/db/schema.sql +172 -1
- data/docs/api/database.md +1 -2
- data/docs/api/htm.md +197 -2
- data/docs/api/yard/HTM/ActiveRecordConfig.md +23 -0
- data/docs/api/yard/HTM/AuthorizationError.md +11 -0
- data/docs/api/yard/HTM/CircuitBreaker.md +92 -0
- data/docs/api/yard/HTM/CircuitBreakerOpenError.md +34 -0
- data/docs/api/yard/HTM/Configuration.md +175 -0
- data/docs/api/yard/HTM/Database.md +99 -0
- data/docs/api/yard/HTM/DatabaseError.md +14 -0
- data/docs/api/yard/HTM/EmbeddingError.md +18 -0
- data/docs/api/yard/HTM/EmbeddingService.md +58 -0
- data/docs/api/yard/HTM/Error.md +11 -0
- data/docs/api/yard/HTM/JobAdapter.md +39 -0
- data/docs/api/yard/HTM/LongTermMemory.md +342 -0
- data/docs/api/yard/HTM/NotFoundError.md +17 -0
- data/docs/api/yard/HTM/Observability.md +107 -0
- data/docs/api/yard/HTM/QueryTimeoutError.md +19 -0
- data/docs/api/yard/HTM/Railtie.md +27 -0
- data/docs/api/yard/HTM/ResourceExhaustedError.md +13 -0
- data/docs/api/yard/HTM/TagError.md +18 -0
- data/docs/api/yard/HTM/TagService.md +67 -0
- data/docs/api/yard/HTM/Timeframe/Result.md +24 -0
- data/docs/api/yard/HTM/Timeframe.md +40 -0
- data/docs/api/yard/HTM/TimeframeExtractor/Result.md +24 -0
- data/docs/api/yard/HTM/TimeframeExtractor.md +45 -0
- data/docs/api/yard/HTM/ValidationError.md +20 -0
- data/docs/api/yard/HTM/WorkingMemory.md +131 -0
- data/docs/api/yard/HTM.md +80 -0
- data/docs/api/yard/index.csv +179 -0
- data/docs/api/yard-reference.md +51 -0
- data/docs/database/README.md +128 -128
- data/docs/database/public.file_sources.md +42 -0
- data/docs/database/public.file_sources.svg +211 -0
- data/docs/database/public.node_tags.md +4 -4
- data/docs/database/public.node_tags.svg +212 -79
- data/docs/database/public.nodes.md +22 -12
- data/docs/database/public.nodes.svg +246 -127
- data/docs/database/public.robot_nodes.md +11 -9
- data/docs/database/public.robot_nodes.svg +220 -98
- data/docs/database/public.robots.md +2 -2
- data/docs/database/public.robots.svg +136 -81
- data/docs/database/public.tags.md +3 -3
- data/docs/database/public.tags.svg +118 -39
- data/docs/database/schema.json +850 -771
- data/docs/database/schema.svg +256 -197
- data/docs/development/schema.md +67 -2
- data/docs/guides/adding-memories.md +93 -7
- data/docs/guides/recalling-memories.md +36 -1
- data/examples/README.md +405 -0
- data/examples/cli_app/htm_cli.rb +65 -5
- data/examples/cli_app/temp.log +93 -0
- data/examples/file_loader_usage.rb +177 -0
- data/examples/mcp_client.rb +529 -0
- data/examples/robot_groups/lib/robot_group.rb +419 -0
- data/examples/robot_groups/lib/working_memory_channel.rb +140 -0
- data/examples/robot_groups/multi_process.rb +286 -0
- data/examples/robot_groups/robot_worker.rb +136 -0
- data/examples/robot_groups/same_process.rb +229 -0
- data/examples/timeframe_demo.rb +276 -0
- data/lib/htm/active_record_config.rb +1 -1
- data/lib/htm/circuit_breaker.rb +202 -0
- data/lib/htm/configuration.rb +59 -13
- data/lib/htm/database.rb +67 -36
- data/lib/htm/embedding_service.rb +39 -2
- data/lib/htm/errors.rb +131 -11
- data/lib/htm/jobs/generate_embedding_job.rb +5 -4
- data/lib/htm/jobs/generate_tags_job.rb +4 -0
- data/lib/htm/loaders/markdown_loader.rb +263 -0
- data/lib/htm/loaders/paragraph_chunker.rb +112 -0
- data/lib/htm/long_term_memory.rb +460 -343
- data/lib/htm/models/file_source.rb +99 -0
- data/lib/htm/models/node.rb +80 -5
- data/lib/htm/models/robot.rb +24 -1
- data/lib/htm/models/robot_node.rb +1 -0
- data/lib/htm/models/tag.rb +254 -4
- data/lib/htm/observability.rb +395 -0
- data/lib/htm/tag_service.rb +60 -3
- data/lib/htm/tasks.rb +26 -1
- data/lib/htm/timeframe.rb +194 -0
- data/lib/htm/timeframe_extractor.rb +307 -0
- data/lib/htm/version.rb +1 -1
- data/lib/htm/working_memory.rb +165 -70
- data/lib/htm.rb +328 -130
- data/lib/tasks/doc.rake +300 -0
- data/lib/tasks/files.rake +299 -0
- data/lib/tasks/htm.rake +158 -3
- data/lib/tasks/jobs.rake +3 -9
- data/lib/tasks/tags.rake +166 -6
- data/mkdocs.yml +36 -1
- data/notes/ARCHITECTURE_REVIEW.md +1167 -0
- data/notes/IMPLEMENTATION_SUMMARY.md +606 -0
- data/notes/MULTI_FRAMEWORK_IMPLEMENTATION.md +451 -0
- data/notes/next_steps.md +100 -0
- data/notes/plan.md +627 -0
- data/notes/tag_ontology_enhancement_ideas.md +222 -0
- data/notes/timescaledb_removal_summary.md +200 -0
- metadata +158 -17
- data/db/migrate/20250101000002_create_robots.rb +0 -14
- data/db/migrate/20250101000003_create_nodes.rb +0 -42
- data/db/migrate/20250101000005_create_tags.rb +0 -38
- data/db/migrate/20250101000007_add_node_vector_indexes.rb +0 -30
- data/db/migrate/20250125000001_add_content_hash_to_nodes.rb +0 -14
- data/db/migrate/20250125000002_create_robot_nodes.rb +0 -35
- data/db/migrate/20250125000003_remove_source_and_robot_id_from_nodes.rb +0 -28
- data/db/migrate/20250126000001_create_working_memories.rb +0 -19
- data/db/migrate/20250126000002_remove_unused_columns.rb +0 -12
- data/docs/database/public.working_memories.md +0 -40
- data/docs/database/public.working_memories.svg +0 -112
- data/lib/htm/models/working_memory_entry.rb +0 -88
data/docs/database/schema.json
CHANGED
|
@@ -2,54 +2,58 @@
|
|
|
2
2
|
"name": "htm_development",
|
|
3
3
|
"tables": [
|
|
4
4
|
{
|
|
5
|
-
"name": "public.
|
|
5
|
+
"name": "public.file_sources",
|
|
6
6
|
"type": "BASE TABLE",
|
|
7
|
-
"comment": "
|
|
7
|
+
"comment": "Source file metadata for loaded documents",
|
|
8
8
|
"columns": [
|
|
9
9
|
{
|
|
10
|
-
"name": "
|
|
11
|
-
"type": "
|
|
12
|
-
"nullable":
|
|
13
|
-
"default": "
|
|
10
|
+
"name": "created_at",
|
|
11
|
+
"type": "timestamp with time zone",
|
|
12
|
+
"nullable": true,
|
|
13
|
+
"default": "CURRENT_TIMESTAMP"
|
|
14
14
|
},
|
|
15
15
|
{
|
|
16
|
-
"name": "
|
|
17
|
-
"type": "
|
|
18
|
-
"nullable":
|
|
19
|
-
"comment": "
|
|
16
|
+
"name": "file_hash",
|
|
17
|
+
"type": "varchar(64)",
|
|
18
|
+
"nullable": true,
|
|
19
|
+
"comment": "SHA-256 hash of file content"
|
|
20
20
|
},
|
|
21
21
|
{
|
|
22
|
-
"name": "
|
|
23
|
-
"type": "
|
|
22
|
+
"name": "file_path",
|
|
23
|
+
"type": "text",
|
|
24
24
|
"nullable": false,
|
|
25
|
-
"comment": "
|
|
25
|
+
"comment": "Absolute path to source file"
|
|
26
26
|
},
|
|
27
27
|
{
|
|
28
|
-
"name": "
|
|
29
|
-
"type": "
|
|
28
|
+
"name": "file_size",
|
|
29
|
+
"type": "integer",
|
|
30
30
|
"nullable": true,
|
|
31
|
-
"
|
|
32
|
-
"comment": "When this robot first remembered this content"
|
|
31
|
+
"comment": "File size in bytes"
|
|
33
32
|
},
|
|
34
33
|
{
|
|
35
|
-
"name": "
|
|
36
|
-
"type": "
|
|
34
|
+
"name": "frontmatter",
|
|
35
|
+
"type": "jsonb",
|
|
37
36
|
"nullable": true,
|
|
38
|
-
"default": "
|
|
39
|
-
"comment": "
|
|
37
|
+
"default": "'{}'::jsonb",
|
|
38
|
+
"comment": "Parsed YAML frontmatter"
|
|
40
39
|
},
|
|
41
40
|
{
|
|
42
|
-
"name": "
|
|
43
|
-
"type": "
|
|
41
|
+
"name": "id",
|
|
42
|
+
"type": "bigint",
|
|
44
43
|
"nullable": false,
|
|
45
|
-
"default": "
|
|
46
|
-
"comment": "Number of times this robot has tried to remember this content"
|
|
44
|
+
"default": "nextval('file_sources_id_seq'::regclass)"
|
|
47
45
|
},
|
|
48
46
|
{
|
|
49
|
-
"name": "
|
|
47
|
+
"name": "last_synced_at",
|
|
50
48
|
"type": "timestamp with time zone",
|
|
51
49
|
"nullable": true,
|
|
52
|
-
"
|
|
50
|
+
"comment": "When file was last synced to HTM"
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"name": "mtime",
|
|
54
|
+
"type": "timestamp with time zone",
|
|
55
|
+
"nullable": true,
|
|
56
|
+
"comment": "File modification time"
|
|
53
57
|
},
|
|
54
58
|
{
|
|
55
59
|
"name": "updated_at",
|
|
@@ -60,156 +64,112 @@
|
|
|
60
64
|
],
|
|
61
65
|
"indexes": [
|
|
62
66
|
{
|
|
63
|
-
"name": "
|
|
64
|
-
"def": "CREATE UNIQUE INDEX
|
|
65
|
-
"table": "public.
|
|
67
|
+
"name": "file_sources_pkey",
|
|
68
|
+
"def": "CREATE UNIQUE INDEX file_sources_pkey ON public.file_sources USING btree (id)",
|
|
69
|
+
"table": "public.file_sources",
|
|
66
70
|
"columns": [
|
|
67
71
|
"id"
|
|
68
72
|
]
|
|
69
73
|
},
|
|
70
74
|
{
|
|
71
|
-
"name": "
|
|
72
|
-
"def": "CREATE
|
|
73
|
-
"table": "public.
|
|
75
|
+
"name": "idx_file_sources_hash",
|
|
76
|
+
"def": "CREATE INDEX idx_file_sources_hash ON public.file_sources USING btree (file_hash)",
|
|
77
|
+
"table": "public.file_sources",
|
|
74
78
|
"columns": [
|
|
75
|
-
"
|
|
76
|
-
"node_id"
|
|
79
|
+
"file_hash"
|
|
77
80
|
]
|
|
78
81
|
},
|
|
79
82
|
{
|
|
80
|
-
"name": "
|
|
81
|
-
"def": "CREATE INDEX
|
|
82
|
-
"table": "public.
|
|
83
|
+
"name": "idx_file_sources_last_synced",
|
|
84
|
+
"def": "CREATE INDEX idx_file_sources_last_synced ON public.file_sources USING btree (last_synced_at)",
|
|
85
|
+
"table": "public.file_sources",
|
|
83
86
|
"columns": [
|
|
84
|
-
"
|
|
87
|
+
"last_synced_at"
|
|
85
88
|
]
|
|
86
89
|
},
|
|
87
90
|
{
|
|
88
|
-
"name": "
|
|
89
|
-
"def": "CREATE INDEX
|
|
90
|
-
"table": "public.
|
|
91
|
-
"columns": [
|
|
92
|
-
"node_id"
|
|
93
|
-
]
|
|
94
|
-
},
|
|
95
|
-
{
|
|
96
|
-
"name": "idx_robot_nodes_last_remembered_at",
|
|
97
|
-
"def": "CREATE INDEX idx_robot_nodes_last_remembered_at ON public.robot_nodes USING btree (last_remembered_at)",
|
|
98
|
-
"table": "public.robot_nodes",
|
|
91
|
+
"name": "idx_file_sources_path_unique",
|
|
92
|
+
"def": "CREATE UNIQUE INDEX idx_file_sources_path_unique ON public.file_sources USING btree (file_path)",
|
|
93
|
+
"table": "public.file_sources",
|
|
99
94
|
"columns": [
|
|
100
|
-
"
|
|
95
|
+
"file_path"
|
|
101
96
|
]
|
|
102
97
|
}
|
|
103
98
|
],
|
|
104
99
|
"constraints": [
|
|
105
100
|
{
|
|
106
|
-
"name": "
|
|
101
|
+
"name": "file_sources_pkey",
|
|
107
102
|
"type": "PRIMARY KEY",
|
|
108
103
|
"def": "PRIMARY KEY (id)",
|
|
109
|
-
"table": "public.
|
|
104
|
+
"table": "public.file_sources",
|
|
110
105
|
"referenced_table": "",
|
|
111
106
|
"columns": [
|
|
112
107
|
"id"
|
|
113
108
|
]
|
|
114
|
-
},
|
|
115
|
-
{
|
|
116
|
-
"name": "fk_rails_9b003078a8",
|
|
117
|
-
"type": "FOREIGN KEY",
|
|
118
|
-
"def": "FOREIGN KEY (robot_id) REFERENCES robots(id) ON DELETE CASCADE",
|
|
119
|
-
"table": "public.robot_nodes",
|
|
120
|
-
"referenced_table": "robots",
|
|
121
|
-
"columns": [
|
|
122
|
-
"robot_id"
|
|
123
|
-
],
|
|
124
|
-
"referenced_columns": [
|
|
125
|
-
"id"
|
|
126
|
-
]
|
|
127
|
-
},
|
|
128
|
-
{
|
|
129
|
-
"name": "fk_rails_f2fc98d49e",
|
|
130
|
-
"type": "FOREIGN KEY",
|
|
131
|
-
"def": "FOREIGN KEY (node_id) REFERENCES nodes(id) ON DELETE CASCADE",
|
|
132
|
-
"table": "public.robot_nodes",
|
|
133
|
-
"referenced_table": "nodes",
|
|
134
|
-
"columns": [
|
|
135
|
-
"node_id"
|
|
136
|
-
],
|
|
137
|
-
"referenced_columns": [
|
|
138
|
-
"id"
|
|
139
|
-
]
|
|
140
109
|
}
|
|
141
110
|
]
|
|
142
111
|
},
|
|
143
112
|
{
|
|
144
|
-
"name": "public.
|
|
113
|
+
"name": "public.node_tags",
|
|
145
114
|
"type": "BASE TABLE",
|
|
115
|
+
"comment": "Join table connecting nodes to tags (many-to-many)",
|
|
146
116
|
"columns": [
|
|
147
117
|
{
|
|
148
|
-
"name": "
|
|
149
|
-
"type": "
|
|
150
|
-
"nullable":
|
|
118
|
+
"name": "created_at",
|
|
119
|
+
"type": "timestamp with time zone",
|
|
120
|
+
"nullable": true,
|
|
121
|
+
"default": "CURRENT_TIMESTAMP",
|
|
122
|
+
"comment": "When this association was created"
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
"name": "id",
|
|
126
|
+
"type": "bigint",
|
|
127
|
+
"nullable": false,
|
|
128
|
+
"default": "nextval('node_tags_id_seq'::regclass)"
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
"name": "node_id",
|
|
132
|
+
"type": "bigint",
|
|
133
|
+
"nullable": false,
|
|
134
|
+
"comment": "ID of the node being tagged"
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
"name": "tag_id",
|
|
138
|
+
"type": "bigint",
|
|
139
|
+
"nullable": false,
|
|
140
|
+
"comment": "ID of the tag being applied"
|
|
151
141
|
}
|
|
152
142
|
],
|
|
153
143
|
"indexes": [
|
|
154
144
|
{
|
|
155
|
-
"name": "
|
|
156
|
-
"def": "CREATE
|
|
157
|
-
"table": "public.
|
|
145
|
+
"name": "idx_node_tags_node_id",
|
|
146
|
+
"def": "CREATE INDEX idx_node_tags_node_id ON public.node_tags USING btree (node_id)",
|
|
147
|
+
"table": "public.node_tags",
|
|
158
148
|
"columns": [
|
|
159
|
-
"
|
|
149
|
+
"node_id"
|
|
160
150
|
]
|
|
161
|
-
}
|
|
162
|
-
],
|
|
163
|
-
"constraints": [
|
|
151
|
+
},
|
|
164
152
|
{
|
|
165
|
-
"name": "
|
|
166
|
-
"
|
|
167
|
-
"
|
|
168
|
-
"table": "public.schema_migrations",
|
|
169
|
-
"referenced_table": "",
|
|
153
|
+
"name": "idx_node_tags_tag_id",
|
|
154
|
+
"def": "CREATE INDEX idx_node_tags_tag_id ON public.node_tags USING btree (tag_id)",
|
|
155
|
+
"table": "public.node_tags",
|
|
170
156
|
"columns": [
|
|
171
|
-
"
|
|
157
|
+
"tag_id"
|
|
172
158
|
]
|
|
173
|
-
}
|
|
174
|
-
]
|
|
175
|
-
},
|
|
176
|
-
{
|
|
177
|
-
"name": "public.robots",
|
|
178
|
-
"type": "BASE TABLE",
|
|
179
|
-
"comment": "Registry of all LLM robots using the HTM system",
|
|
180
|
-
"columns": [
|
|
181
|
-
{
|
|
182
|
-
"name": "id",
|
|
183
|
-
"type": "bigint",
|
|
184
|
-
"nullable": false,
|
|
185
|
-
"default": "nextval('robots_id_seq'::regclass)"
|
|
186
|
-
},
|
|
187
|
-
{
|
|
188
|
-
"name": "name",
|
|
189
|
-
"type": "text",
|
|
190
|
-
"nullable": true,
|
|
191
|
-
"comment": "Human-readable name for the robot"
|
|
192
159
|
},
|
|
193
160
|
{
|
|
194
|
-
"name": "
|
|
195
|
-
"
|
|
196
|
-
"
|
|
197
|
-
"
|
|
198
|
-
|
|
161
|
+
"name": "idx_node_tags_unique",
|
|
162
|
+
"def": "CREATE UNIQUE INDEX idx_node_tags_unique ON public.node_tags USING btree (node_id, tag_id)",
|
|
163
|
+
"table": "public.node_tags",
|
|
164
|
+
"columns": [
|
|
165
|
+
"node_id",
|
|
166
|
+
"tag_id"
|
|
167
|
+
]
|
|
199
168
|
},
|
|
200
169
|
{
|
|
201
|
-
"name": "
|
|
202
|
-
"
|
|
203
|
-
"
|
|
204
|
-
"default": "CURRENT_TIMESTAMP",
|
|
205
|
-
"comment": "Last time the robot accessed the system"
|
|
206
|
-
}
|
|
207
|
-
],
|
|
208
|
-
"indexes": [
|
|
209
|
-
{
|
|
210
|
-
"name": "robots_pkey",
|
|
211
|
-
"def": "CREATE UNIQUE INDEX robots_pkey ON public.robots USING btree (id)",
|
|
212
|
-
"table": "public.robots",
|
|
170
|
+
"name": "node_tags_pkey",
|
|
171
|
+
"def": "CREATE UNIQUE INDEX node_tags_pkey ON public.node_tags USING btree (id)",
|
|
172
|
+
"table": "public.node_tags",
|
|
213
173
|
"columns": [
|
|
214
174
|
"id"
|
|
215
175
|
]
|
|
@@ -217,10 +177,36 @@
|
|
|
217
177
|
],
|
|
218
178
|
"constraints": [
|
|
219
179
|
{
|
|
220
|
-
"name": "
|
|
180
|
+
"name": "fk_rails_b51cdcc57f",
|
|
181
|
+
"type": "FOREIGN KEY",
|
|
182
|
+
"def": "FOREIGN KEY (tag_id) REFERENCES tags(id) ON DELETE CASCADE",
|
|
183
|
+
"table": "public.node_tags",
|
|
184
|
+
"referenced_table": "tags",
|
|
185
|
+
"columns": [
|
|
186
|
+
"tag_id"
|
|
187
|
+
],
|
|
188
|
+
"referenced_columns": [
|
|
189
|
+
"id"
|
|
190
|
+
]
|
|
191
|
+
},
|
|
192
|
+
{
|
|
193
|
+
"name": "fk_rails_ebc9aafd9f",
|
|
194
|
+
"type": "FOREIGN KEY",
|
|
195
|
+
"def": "FOREIGN KEY (node_id) REFERENCES nodes(id) ON DELETE CASCADE",
|
|
196
|
+
"table": "public.node_tags",
|
|
197
|
+
"referenced_table": "nodes",
|
|
198
|
+
"columns": [
|
|
199
|
+
"node_id"
|
|
200
|
+
],
|
|
201
|
+
"referenced_columns": [
|
|
202
|
+
"id"
|
|
203
|
+
]
|
|
204
|
+
},
|
|
205
|
+
{
|
|
206
|
+
"name": "node_tags_pkey",
|
|
221
207
|
"type": "PRIMARY KEY",
|
|
222
208
|
"def": "PRIMARY KEY (id)",
|
|
223
|
-
"table": "public.
|
|
209
|
+
"table": "public.node_tags",
|
|
224
210
|
"referenced_table": "",
|
|
225
211
|
"columns": [
|
|
226
212
|
"id"
|
|
@@ -234,10 +220,17 @@
|
|
|
234
220
|
"comment": "Core memory storage for conversation messages and context",
|
|
235
221
|
"columns": [
|
|
236
222
|
{
|
|
237
|
-
"name": "
|
|
238
|
-
"type": "
|
|
223
|
+
"name": "access_count",
|
|
224
|
+
"type": "integer",
|
|
239
225
|
"nullable": false,
|
|
240
|
-
"default": "
|
|
226
|
+
"default": "0",
|
|
227
|
+
"comment": "Number of times this node has been accessed/retrieved"
|
|
228
|
+
},
|
|
229
|
+
{
|
|
230
|
+
"name": "chunk_position",
|
|
231
|
+
"type": "integer",
|
|
232
|
+
"nullable": true,
|
|
233
|
+
"comment": "Position within source file (0-indexed)"
|
|
241
234
|
},
|
|
242
235
|
{
|
|
243
236
|
"name": "content",
|
|
@@ -246,11 +239,10 @@
|
|
|
246
239
|
"comment": "The conversation message/utterance content"
|
|
247
240
|
},
|
|
248
241
|
{
|
|
249
|
-
"name": "
|
|
250
|
-
"type": "
|
|
251
|
-
"nullable":
|
|
252
|
-
"
|
|
253
|
-
"comment": "Number of times this node has been accessed/retrieved"
|
|
242
|
+
"name": "content_hash",
|
|
243
|
+
"type": "varchar(64)",
|
|
244
|
+
"nullable": true,
|
|
245
|
+
"comment": "SHA-256 hash of content for deduplication"
|
|
254
246
|
},
|
|
255
247
|
{
|
|
256
248
|
"name": "created_at",
|
|
@@ -260,11 +252,28 @@
|
|
|
260
252
|
"comment": "When this memory was created"
|
|
261
253
|
},
|
|
262
254
|
{
|
|
263
|
-
"name": "
|
|
255
|
+
"name": "deleted_at",
|
|
264
256
|
"type": "timestamp with time zone",
|
|
265
257
|
"nullable": true,
|
|
266
|
-
"
|
|
267
|
-
|
|
258
|
+
"comment": "Soft delete timestamp - node is considered deleted when set"
|
|
259
|
+
},
|
|
260
|
+
{
|
|
261
|
+
"name": "embedding",
|
|
262
|
+
"type": "vector(2000)",
|
|
263
|
+
"nullable": true,
|
|
264
|
+
"comment": "Vector embedding (max 2000 dimensions) for semantic search"
|
|
265
|
+
},
|
|
266
|
+
{
|
|
267
|
+
"name": "embedding_dimension",
|
|
268
|
+
"type": "integer",
|
|
269
|
+
"nullable": true,
|
|
270
|
+
"comment": "Actual number of dimensions used in the embedding vector (max 2000)"
|
|
271
|
+
},
|
|
272
|
+
{
|
|
273
|
+
"name": "id",
|
|
274
|
+
"type": "bigint",
|
|
275
|
+
"nullable": false,
|
|
276
|
+
"default": "nextval('nodes_id_seq'::regclass)"
|
|
268
277
|
},
|
|
269
278
|
{
|
|
270
279
|
"name": "last_accessed",
|
|
@@ -274,37 +283,63 @@
|
|
|
274
283
|
"comment": "When this memory was last accessed"
|
|
275
284
|
},
|
|
276
285
|
{
|
|
277
|
-
"name": "
|
|
278
|
-
"type": "
|
|
279
|
-
"nullable":
|
|
280
|
-
"
|
|
286
|
+
"name": "metadata",
|
|
287
|
+
"type": "jsonb",
|
|
288
|
+
"nullable": false,
|
|
289
|
+
"default": "'{}'::jsonb",
|
|
290
|
+
"comment": "Flexible metadata storage (memory_type, importance, source, etc.)"
|
|
281
291
|
},
|
|
282
292
|
{
|
|
283
|
-
"name": "
|
|
284
|
-
"type": "
|
|
293
|
+
"name": "source_id",
|
|
294
|
+
"type": "bigint",
|
|
285
295
|
"nullable": true,
|
|
286
|
-
"comment": "
|
|
296
|
+
"comment": "Reference to source file (for file-loaded nodes)"
|
|
287
297
|
},
|
|
288
298
|
{
|
|
289
|
-
"name": "
|
|
299
|
+
"name": "token_count",
|
|
290
300
|
"type": "integer",
|
|
291
301
|
"nullable": true,
|
|
292
|
-
"comment": "
|
|
302
|
+
"comment": "Number of tokens in the content (for context budget management)"
|
|
293
303
|
},
|
|
294
304
|
{
|
|
295
|
-
"name": "
|
|
296
|
-
"type": "
|
|
305
|
+
"name": "updated_at",
|
|
306
|
+
"type": "timestamp with time zone",
|
|
297
307
|
"nullable": true,
|
|
298
|
-
"
|
|
308
|
+
"default": "CURRENT_TIMESTAMP",
|
|
309
|
+
"comment": "When this memory was last modified"
|
|
299
310
|
}
|
|
300
311
|
],
|
|
301
312
|
"indexes": [
|
|
302
313
|
{
|
|
303
|
-
"name": "
|
|
304
|
-
"def": "CREATE
|
|
314
|
+
"name": "idx_nodes_access_count",
|
|
315
|
+
"def": "CREATE INDEX idx_nodes_access_count ON public.nodes USING btree (access_count)",
|
|
305
316
|
"table": "public.nodes",
|
|
306
317
|
"columns": [
|
|
307
|
-
"
|
|
318
|
+
"access_count"
|
|
319
|
+
]
|
|
320
|
+
},
|
|
321
|
+
{
|
|
322
|
+
"name": "idx_nodes_content_gin",
|
|
323
|
+
"def": "CREATE INDEX idx_nodes_content_gin ON public.nodes USING gin (to_tsvector('english'::regconfig, content))",
|
|
324
|
+
"table": "public.nodes",
|
|
325
|
+
"columns": [
|
|
326
|
+
"to_tsvector"
|
|
327
|
+
]
|
|
328
|
+
},
|
|
329
|
+
{
|
|
330
|
+
"name": "idx_nodes_content_hash_unique",
|
|
331
|
+
"def": "CREATE UNIQUE INDEX idx_nodes_content_hash_unique ON public.nodes USING btree (content_hash)",
|
|
332
|
+
"table": "public.nodes",
|
|
333
|
+
"columns": [
|
|
334
|
+
"content_hash"
|
|
335
|
+
]
|
|
336
|
+
},
|
|
337
|
+
{
|
|
338
|
+
"name": "idx_nodes_content_trgm",
|
|
339
|
+
"def": "CREATE INDEX idx_nodes_content_trgm ON public.nodes USING gin (content gin_trgm_ops)",
|
|
340
|
+
"table": "public.nodes",
|
|
341
|
+
"columns": [
|
|
342
|
+
"content"
|
|
308
343
|
]
|
|
309
344
|
},
|
|
310
345
|
{
|
|
@@ -316,11 +351,19 @@
|
|
|
316
351
|
]
|
|
317
352
|
},
|
|
318
353
|
{
|
|
319
|
-
"name": "
|
|
320
|
-
"def": "CREATE INDEX
|
|
354
|
+
"name": "idx_nodes_deleted_at",
|
|
355
|
+
"def": "CREATE INDEX idx_nodes_deleted_at ON public.nodes USING btree (deleted_at)",
|
|
321
356
|
"table": "public.nodes",
|
|
322
357
|
"columns": [
|
|
323
|
-
"
|
|
358
|
+
"deleted_at"
|
|
359
|
+
]
|
|
360
|
+
},
|
|
361
|
+
{
|
|
362
|
+
"name": "idx_nodes_embedding",
|
|
363
|
+
"def": "CREATE INDEX idx_nodes_embedding ON public.nodes USING hnsw (embedding vector_cosine_ops) WITH (m='16', ef_construction='64')",
|
|
364
|
+
"table": "public.nodes",
|
|
365
|
+
"columns": [
|
|
366
|
+
"embedding"
|
|
324
367
|
]
|
|
325
368
|
},
|
|
326
369
|
{
|
|
@@ -332,43 +375,52 @@
|
|
|
332
375
|
]
|
|
333
376
|
},
|
|
334
377
|
{
|
|
335
|
-
"name": "
|
|
336
|
-
"def": "CREATE INDEX
|
|
378
|
+
"name": "idx_nodes_metadata",
|
|
379
|
+
"def": "CREATE INDEX idx_nodes_metadata ON public.nodes USING gin (metadata)",
|
|
337
380
|
"table": "public.nodes",
|
|
338
381
|
"columns": [
|
|
339
|
-
"
|
|
382
|
+
"metadata"
|
|
340
383
|
]
|
|
341
384
|
},
|
|
342
385
|
{
|
|
343
|
-
"name": "
|
|
344
|
-
"def": "CREATE INDEX
|
|
386
|
+
"name": "idx_nodes_not_deleted_created_at",
|
|
387
|
+
"def": "CREATE INDEX idx_nodes_not_deleted_created_at ON public.nodes USING btree (created_at) WHERE (deleted_at IS NULL)",
|
|
345
388
|
"table": "public.nodes",
|
|
346
389
|
"columns": [
|
|
347
|
-
"
|
|
390
|
+
"created_at"
|
|
348
391
|
]
|
|
349
392
|
},
|
|
350
393
|
{
|
|
351
|
-
"name": "
|
|
352
|
-
"def": "CREATE INDEX
|
|
394
|
+
"name": "idx_nodes_source_chunk_position",
|
|
395
|
+
"def": "CREATE INDEX idx_nodes_source_chunk_position ON public.nodes USING btree (source_id, chunk_position)",
|
|
353
396
|
"table": "public.nodes",
|
|
354
397
|
"columns": [
|
|
355
|
-
"
|
|
398
|
+
"source_id",
|
|
399
|
+
"chunk_position"
|
|
356
400
|
]
|
|
357
401
|
},
|
|
358
402
|
{
|
|
359
|
-
"name": "
|
|
360
|
-
"def": "CREATE INDEX
|
|
403
|
+
"name": "idx_nodes_source_id",
|
|
404
|
+
"def": "CREATE INDEX idx_nodes_source_id ON public.nodes USING btree (source_id)",
|
|
361
405
|
"table": "public.nodes",
|
|
362
406
|
"columns": [
|
|
363
|
-
"
|
|
407
|
+
"source_id"
|
|
364
408
|
]
|
|
365
409
|
},
|
|
366
410
|
{
|
|
367
|
-
"name": "
|
|
368
|
-
"def": "CREATE
|
|
411
|
+
"name": "idx_nodes_updated_at",
|
|
412
|
+
"def": "CREATE INDEX idx_nodes_updated_at ON public.nodes USING btree (updated_at)",
|
|
369
413
|
"table": "public.nodes",
|
|
370
414
|
"columns": [
|
|
371
|
-
"
|
|
415
|
+
"updated_at"
|
|
416
|
+
]
|
|
417
|
+
},
|
|
418
|
+
{
|
|
419
|
+
"name": "nodes_pkey",
|
|
420
|
+
"def": "CREATE UNIQUE INDEX nodes_pkey ON public.nodes USING btree (id)",
|
|
421
|
+
"table": "public.nodes",
|
|
422
|
+
"columns": [
|
|
423
|
+
"id"
|
|
372
424
|
]
|
|
373
425
|
}
|
|
374
426
|
],
|
|
@@ -383,6 +435,19 @@
|
|
|
383
435
|
"embedding_dimension"
|
|
384
436
|
]
|
|
385
437
|
},
|
|
438
|
+
{
|
|
439
|
+
"name": "fk_rails_920ad16d08",
|
|
440
|
+
"type": "FOREIGN KEY",
|
|
441
|
+
"def": "FOREIGN KEY (source_id) REFERENCES file_sources(id) ON DELETE SET NULL",
|
|
442
|
+
"table": "public.nodes",
|
|
443
|
+
"referenced_table": "file_sources",
|
|
444
|
+
"columns": [
|
|
445
|
+
"source_id"
|
|
446
|
+
],
|
|
447
|
+
"referenced_columns": [
|
|
448
|
+
"id"
|
|
449
|
+
]
|
|
450
|
+
},
|
|
386
451
|
{
|
|
387
452
|
"name": "nodes_pkey",
|
|
388
453
|
"type": "PRIMARY KEY",
|
|
@@ -396,167 +461,153 @@
|
|
|
396
461
|
]
|
|
397
462
|
},
|
|
398
463
|
{
|
|
399
|
-
"name": "public.
|
|
464
|
+
"name": "public.robot_nodes",
|
|
400
465
|
"type": "BASE TABLE",
|
|
401
|
-
"comment": "
|
|
466
|
+
"comment": "Join table connecting robots to nodes (many-to-many)",
|
|
402
467
|
"columns": [
|
|
403
|
-
{
|
|
404
|
-
"name": "id",
|
|
405
|
-
"type": "bigint",
|
|
406
|
-
"nullable": false,
|
|
407
|
-
"default": "nextval('tags_id_seq'::regclass)"
|
|
408
|
-
},
|
|
409
|
-
{
|
|
410
|
-
"name": "name",
|
|
411
|
-
"type": "text",
|
|
412
|
-
"nullable": false,
|
|
413
|
-
"comment": "Hierarchical tag in format: root:level1:level2 (e.g., database:postgresql:timescaledb)"
|
|
414
|
-
},
|
|
415
468
|
{
|
|
416
469
|
"name": "created_at",
|
|
417
470
|
"type": "timestamp with time zone",
|
|
418
471
|
"nullable": true,
|
|
419
|
-
"default": "CURRENT_TIMESTAMP"
|
|
420
|
-
"comment": "When this tag was created"
|
|
421
|
-
}
|
|
422
|
-
],
|
|
423
|
-
"indexes": [
|
|
424
|
-
{
|
|
425
|
-
"name": "tags_pkey",
|
|
426
|
-
"def": "CREATE UNIQUE INDEX tags_pkey ON public.tags USING btree (id)",
|
|
427
|
-
"table": "public.tags",
|
|
428
|
-
"columns": [
|
|
429
|
-
"id"
|
|
430
|
-
]
|
|
472
|
+
"default": "CURRENT_TIMESTAMP"
|
|
431
473
|
},
|
|
432
474
|
{
|
|
433
|
-
"name": "
|
|
434
|
-
"
|
|
435
|
-
"
|
|
436
|
-
"
|
|
437
|
-
|
|
438
|
-
]
|
|
475
|
+
"name": "first_remembered_at",
|
|
476
|
+
"type": "timestamp with time zone",
|
|
477
|
+
"nullable": true,
|
|
478
|
+
"default": "CURRENT_TIMESTAMP",
|
|
479
|
+
"comment": "When this robot first remembered this content"
|
|
439
480
|
},
|
|
440
|
-
{
|
|
441
|
-
"name": "idx_tags_name_pattern",
|
|
442
|
-
"def": "CREATE INDEX idx_tags_name_pattern ON public.tags USING btree (name text_pattern_ops)",
|
|
443
|
-
"table": "public.tags",
|
|
444
|
-
"columns": [
|
|
445
|
-
"name"
|
|
446
|
-
]
|
|
447
|
-
}
|
|
448
|
-
],
|
|
449
|
-
"constraints": [
|
|
450
|
-
{
|
|
451
|
-
"name": "tags_pkey",
|
|
452
|
-
"type": "PRIMARY KEY",
|
|
453
|
-
"def": "PRIMARY KEY (id)",
|
|
454
|
-
"table": "public.tags",
|
|
455
|
-
"referenced_table": "",
|
|
456
|
-
"columns": [
|
|
457
|
-
"id"
|
|
458
|
-
]
|
|
459
|
-
}
|
|
460
|
-
]
|
|
461
|
-
},
|
|
462
|
-
{
|
|
463
|
-
"name": "public.node_tags",
|
|
464
|
-
"type": "BASE TABLE",
|
|
465
|
-
"comment": "Join table connecting nodes to tags (many-to-many)",
|
|
466
|
-
"columns": [
|
|
467
481
|
{
|
|
468
482
|
"name": "id",
|
|
469
483
|
"type": "bigint",
|
|
470
484
|
"nullable": false,
|
|
471
|
-
"default": "nextval('
|
|
485
|
+
"default": "nextval('robot_nodes_id_seq'::regclass)"
|
|
486
|
+
},
|
|
487
|
+
{
|
|
488
|
+
"name": "last_remembered_at",
|
|
489
|
+
"type": "timestamp with time zone",
|
|
490
|
+
"nullable": true,
|
|
491
|
+
"default": "CURRENT_TIMESTAMP",
|
|
492
|
+
"comment": "When this robot last tried to remember this content"
|
|
472
493
|
},
|
|
473
494
|
{
|
|
474
495
|
"name": "node_id",
|
|
475
496
|
"type": "bigint",
|
|
476
497
|
"nullable": false,
|
|
477
|
-
"comment": "ID of the node being
|
|
498
|
+
"comment": "ID of the node being remembered"
|
|
478
499
|
},
|
|
479
500
|
{
|
|
480
|
-
"name": "
|
|
501
|
+
"name": "remember_count",
|
|
502
|
+
"type": "integer",
|
|
503
|
+
"nullable": false,
|
|
504
|
+
"default": "1",
|
|
505
|
+
"comment": "Number of times this robot has tried to remember this content"
|
|
506
|
+
},
|
|
507
|
+
{
|
|
508
|
+
"name": "robot_id",
|
|
481
509
|
"type": "bigint",
|
|
482
510
|
"nullable": false,
|
|
483
|
-
"comment": "ID of the
|
|
511
|
+
"comment": "ID of the robot that remembered this node"
|
|
484
512
|
},
|
|
485
513
|
{
|
|
486
|
-
"name": "
|
|
514
|
+
"name": "updated_at",
|
|
487
515
|
"type": "timestamp with time zone",
|
|
488
516
|
"nullable": true,
|
|
489
|
-
"default": "CURRENT_TIMESTAMP"
|
|
490
|
-
|
|
517
|
+
"default": "CURRENT_TIMESTAMP"
|
|
518
|
+
},
|
|
519
|
+
{
|
|
520
|
+
"name": "working_memory",
|
|
521
|
+
"type": "boolean",
|
|
522
|
+
"nullable": false,
|
|
523
|
+
"default": "false",
|
|
524
|
+
"comment": "True if this node is currently in the robot working memory"
|
|
491
525
|
}
|
|
492
526
|
],
|
|
493
527
|
"indexes": [
|
|
494
528
|
{
|
|
495
|
-
"name": "
|
|
496
|
-
"def": "CREATE
|
|
497
|
-
"table": "public.
|
|
529
|
+
"name": "idx_robot_nodes_last_remembered_at",
|
|
530
|
+
"def": "CREATE INDEX idx_robot_nodes_last_remembered_at ON public.robot_nodes USING btree (last_remembered_at)",
|
|
531
|
+
"table": "public.robot_nodes",
|
|
498
532
|
"columns": [
|
|
499
|
-
"
|
|
533
|
+
"last_remembered_at"
|
|
500
534
|
]
|
|
501
535
|
},
|
|
502
536
|
{
|
|
503
|
-
"name": "
|
|
504
|
-
"def": "CREATE
|
|
505
|
-
"table": "public.
|
|
537
|
+
"name": "idx_robot_nodes_node_id",
|
|
538
|
+
"def": "CREATE INDEX idx_robot_nodes_node_id ON public.robot_nodes USING btree (node_id)",
|
|
539
|
+
"table": "public.robot_nodes",
|
|
506
540
|
"columns": [
|
|
507
|
-
"node_id"
|
|
508
|
-
"tag_id"
|
|
541
|
+
"node_id"
|
|
509
542
|
]
|
|
510
543
|
},
|
|
511
544
|
{
|
|
512
|
-
"name": "
|
|
513
|
-
"def": "CREATE INDEX
|
|
514
|
-
"table": "public.
|
|
545
|
+
"name": "idx_robot_nodes_robot_id",
|
|
546
|
+
"def": "CREATE INDEX idx_robot_nodes_robot_id ON public.robot_nodes USING btree (robot_id)",
|
|
547
|
+
"table": "public.robot_nodes",
|
|
548
|
+
"columns": [
|
|
549
|
+
"robot_id"
|
|
550
|
+
]
|
|
551
|
+
},
|
|
552
|
+
{
|
|
553
|
+
"name": "idx_robot_nodes_unique",
|
|
554
|
+
"def": "CREATE UNIQUE INDEX idx_robot_nodes_unique ON public.robot_nodes USING btree (robot_id, node_id)",
|
|
555
|
+
"table": "public.robot_nodes",
|
|
515
556
|
"columns": [
|
|
557
|
+
"robot_id",
|
|
516
558
|
"node_id"
|
|
517
559
|
]
|
|
518
560
|
},
|
|
519
561
|
{
|
|
520
|
-
"name": "
|
|
521
|
-
"def": "CREATE INDEX
|
|
522
|
-
"table": "public.
|
|
562
|
+
"name": "idx_robot_nodes_working_memory",
|
|
563
|
+
"def": "CREATE INDEX idx_robot_nodes_working_memory ON public.robot_nodes USING btree (robot_id, working_memory) WHERE (working_memory = true)",
|
|
564
|
+
"table": "public.robot_nodes",
|
|
565
|
+
"columns": [
|
|
566
|
+
"robot_id",
|
|
567
|
+
"working_memory"
|
|
568
|
+
]
|
|
569
|
+
},
|
|
570
|
+
{
|
|
571
|
+
"name": "robot_nodes_pkey",
|
|
572
|
+
"def": "CREATE UNIQUE INDEX robot_nodes_pkey ON public.robot_nodes USING btree (id)",
|
|
573
|
+
"table": "public.robot_nodes",
|
|
523
574
|
"columns": [
|
|
524
|
-
"
|
|
575
|
+
"id"
|
|
525
576
|
]
|
|
526
577
|
}
|
|
527
578
|
],
|
|
528
579
|
"constraints": [
|
|
529
580
|
{
|
|
530
|
-
"name": "
|
|
581
|
+
"name": "fk_rails_9b003078a8",
|
|
531
582
|
"type": "FOREIGN KEY",
|
|
532
|
-
"def": "FOREIGN KEY (
|
|
533
|
-
"table": "public.
|
|
534
|
-
"referenced_table": "
|
|
583
|
+
"def": "FOREIGN KEY (robot_id) REFERENCES robots(id) ON DELETE CASCADE",
|
|
584
|
+
"table": "public.robot_nodes",
|
|
585
|
+
"referenced_table": "robots",
|
|
535
586
|
"columns": [
|
|
536
|
-
"
|
|
587
|
+
"robot_id"
|
|
537
588
|
],
|
|
538
589
|
"referenced_columns": [
|
|
539
590
|
"id"
|
|
540
591
|
]
|
|
541
592
|
},
|
|
542
593
|
{
|
|
543
|
-
"name": "
|
|
594
|
+
"name": "fk_rails_f2fc98d49e",
|
|
544
595
|
"type": "FOREIGN KEY",
|
|
545
|
-
"def": "FOREIGN KEY (
|
|
546
|
-
"table": "public.
|
|
547
|
-
"referenced_table": "
|
|
596
|
+
"def": "FOREIGN KEY (node_id) REFERENCES nodes(id) ON DELETE CASCADE",
|
|
597
|
+
"table": "public.robot_nodes",
|
|
598
|
+
"referenced_table": "nodes",
|
|
548
599
|
"columns": [
|
|
549
|
-
"
|
|
600
|
+
"node_id"
|
|
550
601
|
],
|
|
551
602
|
"referenced_columns": [
|
|
552
603
|
"id"
|
|
553
604
|
]
|
|
554
605
|
},
|
|
555
606
|
{
|
|
556
|
-
"name": "
|
|
607
|
+
"name": "robot_nodes_pkey",
|
|
557
608
|
"type": "PRIMARY KEY",
|
|
558
609
|
"def": "PRIMARY KEY (id)",
|
|
559
|
-
"table": "public.
|
|
610
|
+
"table": "public.robot_nodes",
|
|
560
611
|
"referenced_table": "",
|
|
561
612
|
"columns": [
|
|
562
613
|
"id"
|
|
@@ -565,109 +616,150 @@
|
|
|
565
616
|
]
|
|
566
617
|
},
|
|
567
618
|
{
|
|
568
|
-
"name": "public.
|
|
619
|
+
"name": "public.robots",
|
|
569
620
|
"type": "BASE TABLE",
|
|
570
|
-
"comment": "
|
|
621
|
+
"comment": "Registry of all LLM robots using the HTM system",
|
|
571
622
|
"columns": [
|
|
572
623
|
{
|
|
573
|
-
"name": "
|
|
574
|
-
"type": "
|
|
575
|
-
"nullable":
|
|
576
|
-
"default": "
|
|
577
|
-
|
|
578
|
-
{
|
|
579
|
-
"name": "robot_id",
|
|
580
|
-
"type": "bigint",
|
|
581
|
-
"nullable": false,
|
|
582
|
-
"comment": "Robot whose working memory this belongs to"
|
|
624
|
+
"name": "created_at",
|
|
625
|
+
"type": "timestamp with time zone",
|
|
626
|
+
"nullable": true,
|
|
627
|
+
"default": "CURRENT_TIMESTAMP",
|
|
628
|
+
"comment": "When the robot was first registered"
|
|
583
629
|
},
|
|
584
630
|
{
|
|
585
|
-
"name": "
|
|
631
|
+
"name": "id",
|
|
586
632
|
"type": "bigint",
|
|
587
633
|
"nullable": false,
|
|
588
|
-
"
|
|
634
|
+
"default": "nextval('robots_id_seq'::regclass)"
|
|
589
635
|
},
|
|
590
636
|
{
|
|
591
|
-
"name": "
|
|
637
|
+
"name": "last_active",
|
|
592
638
|
"type": "timestamp with time zone",
|
|
593
639
|
"nullable": true,
|
|
594
640
|
"default": "CURRENT_TIMESTAMP",
|
|
595
|
-
"comment": "
|
|
641
|
+
"comment": "Last time the robot accessed the system"
|
|
596
642
|
},
|
|
597
643
|
{
|
|
598
|
-
"name": "
|
|
599
|
-
"type": "
|
|
644
|
+
"name": "name",
|
|
645
|
+
"type": "text",
|
|
600
646
|
"nullable": true,
|
|
601
|
-
"comment": "
|
|
647
|
+
"comment": "Human-readable name for the robot"
|
|
602
648
|
}
|
|
603
649
|
],
|
|
604
650
|
"indexes": [
|
|
605
651
|
{
|
|
606
|
-
"name": "
|
|
607
|
-
"def": "CREATE UNIQUE INDEX
|
|
608
|
-
"table": "public.
|
|
652
|
+
"name": "robots_pkey",
|
|
653
|
+
"def": "CREATE UNIQUE INDEX robots_pkey ON public.robots USING btree (id)",
|
|
654
|
+
"table": "public.robots",
|
|
609
655
|
"columns": [
|
|
610
656
|
"id"
|
|
611
657
|
]
|
|
612
|
-
}
|
|
658
|
+
}
|
|
659
|
+
],
|
|
660
|
+
"constraints": [
|
|
613
661
|
{
|
|
614
|
-
"name": "
|
|
615
|
-
"
|
|
616
|
-
"
|
|
662
|
+
"name": "robots_pkey",
|
|
663
|
+
"type": "PRIMARY KEY",
|
|
664
|
+
"def": "PRIMARY KEY (id)",
|
|
665
|
+
"table": "public.robots",
|
|
666
|
+
"referenced_table": "",
|
|
617
667
|
"columns": [
|
|
618
|
-
"
|
|
668
|
+
"id"
|
|
619
669
|
]
|
|
620
|
-
}
|
|
670
|
+
}
|
|
671
|
+
]
|
|
672
|
+
},
|
|
673
|
+
{
|
|
674
|
+
"name": "public.schema_migrations",
|
|
675
|
+
"type": "BASE TABLE",
|
|
676
|
+
"columns": [
|
|
677
|
+
{
|
|
678
|
+
"name": "version",
|
|
679
|
+
"type": "varchar",
|
|
680
|
+
"nullable": false
|
|
681
|
+
}
|
|
682
|
+
],
|
|
683
|
+
"indexes": [
|
|
621
684
|
{
|
|
622
|
-
"name": "
|
|
623
|
-
"def": "CREATE INDEX
|
|
624
|
-
"table": "public.
|
|
685
|
+
"name": "schema_migrations_pkey",
|
|
686
|
+
"def": "CREATE UNIQUE INDEX schema_migrations_pkey ON public.schema_migrations USING btree (version)",
|
|
687
|
+
"table": "public.schema_migrations",
|
|
625
688
|
"columns": [
|
|
626
|
-
"
|
|
689
|
+
"version"
|
|
627
690
|
]
|
|
628
|
-
}
|
|
691
|
+
}
|
|
692
|
+
],
|
|
693
|
+
"constraints": [
|
|
629
694
|
{
|
|
630
|
-
"name": "
|
|
631
|
-
"
|
|
632
|
-
"
|
|
695
|
+
"name": "schema_migrations_pkey",
|
|
696
|
+
"type": "PRIMARY KEY",
|
|
697
|
+
"def": "PRIMARY KEY (version)",
|
|
698
|
+
"table": "public.schema_migrations",
|
|
699
|
+
"referenced_table": "",
|
|
633
700
|
"columns": [
|
|
634
|
-
"
|
|
635
|
-
"node_id"
|
|
701
|
+
"version"
|
|
636
702
|
]
|
|
637
703
|
}
|
|
704
|
+
]
|
|
705
|
+
},
|
|
706
|
+
{
|
|
707
|
+
"name": "public.tags",
|
|
708
|
+
"type": "BASE TABLE",
|
|
709
|
+
"comment": "Unique tag names for categorization",
|
|
710
|
+
"columns": [
|
|
711
|
+
{
|
|
712
|
+
"name": "created_at",
|
|
713
|
+
"type": "timestamp with time zone",
|
|
714
|
+
"nullable": true,
|
|
715
|
+
"default": "CURRENT_TIMESTAMP",
|
|
716
|
+
"comment": "When this tag was created"
|
|
717
|
+
},
|
|
718
|
+
{
|
|
719
|
+
"name": "id",
|
|
720
|
+
"type": "bigint",
|
|
721
|
+
"nullable": false,
|
|
722
|
+
"default": "nextval('tags_id_seq'::regclass)"
|
|
723
|
+
},
|
|
724
|
+
{
|
|
725
|
+
"name": "name",
|
|
726
|
+
"type": "text",
|
|
727
|
+
"nullable": false,
|
|
728
|
+
"comment": "Hierarchical tag in format: root:level1:level2 (e.g., database:postgresql:timescaledb)"
|
|
729
|
+
}
|
|
638
730
|
],
|
|
639
|
-
"
|
|
731
|
+
"indexes": [
|
|
640
732
|
{
|
|
641
|
-
"name": "
|
|
642
|
-
"
|
|
643
|
-
"
|
|
644
|
-
"table": "public.working_memories",
|
|
645
|
-
"referenced_table": "robots",
|
|
733
|
+
"name": "idx_tags_name_pattern",
|
|
734
|
+
"def": "CREATE INDEX idx_tags_name_pattern ON public.tags USING btree (name text_pattern_ops)",
|
|
735
|
+
"table": "public.tags",
|
|
646
736
|
"columns": [
|
|
647
|
-
"
|
|
648
|
-
],
|
|
649
|
-
"referenced_columns": [
|
|
650
|
-
"id"
|
|
737
|
+
"name"
|
|
651
738
|
]
|
|
652
739
|
},
|
|
653
740
|
{
|
|
654
|
-
"name": "
|
|
655
|
-
"
|
|
656
|
-
"
|
|
657
|
-
"table": "public.working_memories",
|
|
658
|
-
"referenced_table": "nodes",
|
|
741
|
+
"name": "idx_tags_name_unique",
|
|
742
|
+
"def": "CREATE UNIQUE INDEX idx_tags_name_unique ON public.tags USING btree (name)",
|
|
743
|
+
"table": "public.tags",
|
|
659
744
|
"columns": [
|
|
660
|
-
"
|
|
661
|
-
],
|
|
662
|
-
"referenced_columns": [
|
|
663
|
-
"id"
|
|
745
|
+
"name"
|
|
664
746
|
]
|
|
665
747
|
},
|
|
666
748
|
{
|
|
667
|
-
"name": "
|
|
749
|
+
"name": "tags_pkey",
|
|
750
|
+
"def": "CREATE UNIQUE INDEX tags_pkey ON public.tags USING btree (id)",
|
|
751
|
+
"table": "public.tags",
|
|
752
|
+
"columns": [
|
|
753
|
+
"id"
|
|
754
|
+
]
|
|
755
|
+
}
|
|
756
|
+
],
|
|
757
|
+
"constraints": [
|
|
758
|
+
{
|
|
759
|
+
"name": "tags_pkey",
|
|
668
760
|
"type": "PRIMARY KEY",
|
|
669
761
|
"def": "PRIMARY KEY (id)",
|
|
670
|
-
"table": "public.
|
|
762
|
+
"table": "public.tags",
|
|
671
763
|
"referenced_table": "",
|
|
672
764
|
"columns": [
|
|
673
765
|
"id"
|
|
@@ -678,20 +770,7 @@
|
|
|
678
770
|
],
|
|
679
771
|
"relations": [
|
|
680
772
|
{
|
|
681
|
-
"table": "public.
|
|
682
|
-
"columns": [
|
|
683
|
-
"robot_id"
|
|
684
|
-
],
|
|
685
|
-
"cardinality": "zero_or_more",
|
|
686
|
-
"parent_table": "public.robots",
|
|
687
|
-
"parent_columns": [
|
|
688
|
-
"id"
|
|
689
|
-
],
|
|
690
|
-
"parent_cardinality": "exactly_one",
|
|
691
|
-
"def": "FOREIGN KEY (robot_id) REFERENCES robots(id) ON DELETE CASCADE"
|
|
692
|
-
},
|
|
693
|
-
{
|
|
694
|
-
"table": "public.robot_nodes",
|
|
773
|
+
"table": "public.node_tags",
|
|
695
774
|
"columns": [
|
|
696
775
|
"node_id"
|
|
697
776
|
],
|
|
@@ -706,31 +785,31 @@
|
|
|
706
785
|
{
|
|
707
786
|
"table": "public.node_tags",
|
|
708
787
|
"columns": [
|
|
709
|
-
"
|
|
788
|
+
"tag_id"
|
|
710
789
|
],
|
|
711
790
|
"cardinality": "zero_or_more",
|
|
712
|
-
"parent_table": "public.
|
|
791
|
+
"parent_table": "public.tags",
|
|
713
792
|
"parent_columns": [
|
|
714
793
|
"id"
|
|
715
794
|
],
|
|
716
795
|
"parent_cardinality": "exactly_one",
|
|
717
|
-
"def": "FOREIGN KEY (
|
|
796
|
+
"def": "FOREIGN KEY (tag_id) REFERENCES tags(id) ON DELETE CASCADE"
|
|
718
797
|
},
|
|
719
798
|
{
|
|
720
|
-
"table": "public.
|
|
799
|
+
"table": "public.nodes",
|
|
721
800
|
"columns": [
|
|
722
|
-
"
|
|
801
|
+
"source_id"
|
|
723
802
|
],
|
|
724
803
|
"cardinality": "zero_or_more",
|
|
725
|
-
"parent_table": "public.
|
|
804
|
+
"parent_table": "public.file_sources",
|
|
726
805
|
"parent_columns": [
|
|
727
806
|
"id"
|
|
728
807
|
],
|
|
729
|
-
"parent_cardinality": "
|
|
730
|
-
"def": "FOREIGN KEY (
|
|
808
|
+
"parent_cardinality": "zero_or_one",
|
|
809
|
+
"def": "FOREIGN KEY (source_id) REFERENCES file_sources(id) ON DELETE SET NULL"
|
|
731
810
|
},
|
|
732
811
|
{
|
|
733
|
-
"table": "public.
|
|
812
|
+
"table": "public.robot_nodes",
|
|
734
813
|
"columns": [
|
|
735
814
|
"robot_id"
|
|
736
815
|
],
|
|
@@ -743,7 +822,7 @@
|
|
|
743
822
|
"def": "FOREIGN KEY (robot_id) REFERENCES robots(id) ON DELETE CASCADE"
|
|
744
823
|
},
|
|
745
824
|
{
|
|
746
|
-
"table": "public.
|
|
825
|
+
"table": "public.robot_nodes",
|
|
747
826
|
"columns": [
|
|
748
827
|
"node_id"
|
|
749
828
|
],
|
|
@@ -758,75 +837,93 @@
|
|
|
758
837
|
],
|
|
759
838
|
"functions": [
|
|
760
839
|
{
|
|
761
|
-
"name": "public.
|
|
762
|
-
"return_type": "
|
|
763
|
-
"arguments": "
|
|
840
|
+
"name": "public.array_to_halfvec",
|
|
841
|
+
"return_type": "halfvec",
|
|
842
|
+
"arguments": "double precision[], integer, boolean",
|
|
764
843
|
"type": "FUNCTION"
|
|
765
844
|
},
|
|
766
845
|
{
|
|
767
|
-
"name": "public.
|
|
768
|
-
"return_type": "
|
|
769
|
-
"arguments": "
|
|
846
|
+
"name": "public.array_to_halfvec",
|
|
847
|
+
"return_type": "halfvec",
|
|
848
|
+
"arguments": "integer[], integer, boolean",
|
|
770
849
|
"type": "FUNCTION"
|
|
771
850
|
},
|
|
772
851
|
{
|
|
773
|
-
"name": "public.
|
|
774
|
-
"return_type": "
|
|
775
|
-
"arguments": "
|
|
852
|
+
"name": "public.array_to_halfvec",
|
|
853
|
+
"return_type": "halfvec",
|
|
854
|
+
"arguments": "numeric[], integer, boolean",
|
|
776
855
|
"type": "FUNCTION"
|
|
777
856
|
},
|
|
778
857
|
{
|
|
779
|
-
"name": "public.
|
|
780
|
-
"return_type": "
|
|
781
|
-
"arguments": "
|
|
858
|
+
"name": "public.array_to_halfvec",
|
|
859
|
+
"return_type": "halfvec",
|
|
860
|
+
"arguments": "real[], integer, boolean",
|
|
782
861
|
"type": "FUNCTION"
|
|
783
862
|
},
|
|
784
863
|
{
|
|
785
|
-
"name": "public.
|
|
786
|
-
"return_type": "
|
|
787
|
-
"arguments": "
|
|
864
|
+
"name": "public.array_to_sparsevec",
|
|
865
|
+
"return_type": "sparsevec",
|
|
866
|
+
"arguments": "double precision[], integer, boolean",
|
|
788
867
|
"type": "FUNCTION"
|
|
789
868
|
},
|
|
790
869
|
{
|
|
791
|
-
"name": "public.
|
|
792
|
-
"return_type": "
|
|
793
|
-
"arguments": "
|
|
870
|
+
"name": "public.array_to_sparsevec",
|
|
871
|
+
"return_type": "sparsevec",
|
|
872
|
+
"arguments": "integer[], integer, boolean",
|
|
794
873
|
"type": "FUNCTION"
|
|
795
874
|
},
|
|
796
875
|
{
|
|
797
|
-
"name": "public.
|
|
798
|
-
"return_type": "
|
|
799
|
-
"arguments": "
|
|
876
|
+
"name": "public.array_to_sparsevec",
|
|
877
|
+
"return_type": "sparsevec",
|
|
878
|
+
"arguments": "numeric[], integer, boolean",
|
|
800
879
|
"type": "FUNCTION"
|
|
801
880
|
},
|
|
802
881
|
{
|
|
803
|
-
"name": "public.
|
|
804
|
-
"return_type": "
|
|
805
|
-
"arguments": "
|
|
882
|
+
"name": "public.array_to_sparsevec",
|
|
883
|
+
"return_type": "sparsevec",
|
|
884
|
+
"arguments": "real[], integer, boolean",
|
|
806
885
|
"type": "FUNCTION"
|
|
807
886
|
},
|
|
808
887
|
{
|
|
809
|
-
"name": "public.
|
|
810
|
-
"return_type": "
|
|
811
|
-
"arguments": "
|
|
888
|
+
"name": "public.array_to_vector",
|
|
889
|
+
"return_type": "vector",
|
|
890
|
+
"arguments": "double precision[], integer, boolean",
|
|
891
|
+
"type": "FUNCTION"
|
|
892
|
+
},
|
|
893
|
+
{
|
|
894
|
+
"name": "public.array_to_vector",
|
|
895
|
+
"return_type": "vector",
|
|
896
|
+
"arguments": "integer[], integer, boolean",
|
|
897
|
+
"type": "FUNCTION"
|
|
898
|
+
},
|
|
899
|
+
{
|
|
900
|
+
"name": "public.array_to_vector",
|
|
901
|
+
"return_type": "vector",
|
|
902
|
+
"arguments": "numeric[], integer, boolean",
|
|
812
903
|
"type": "FUNCTION"
|
|
813
904
|
},
|
|
814
905
|
{
|
|
815
|
-
"name": "public.
|
|
816
|
-
"return_type": "
|
|
817
|
-
"arguments": "
|
|
906
|
+
"name": "public.array_to_vector",
|
|
907
|
+
"return_type": "vector",
|
|
908
|
+
"arguments": "real[], integer, boolean",
|
|
818
909
|
"type": "FUNCTION"
|
|
819
910
|
},
|
|
820
911
|
{
|
|
821
|
-
"name": "public.
|
|
822
|
-
"return_type": "
|
|
823
|
-
"arguments": "
|
|
824
|
-
"type": "
|
|
912
|
+
"name": "public.avg",
|
|
913
|
+
"return_type": "halfvec",
|
|
914
|
+
"arguments": "halfvec",
|
|
915
|
+
"type": "a"
|
|
825
916
|
},
|
|
826
917
|
{
|
|
827
|
-
"name": "public.
|
|
918
|
+
"name": "public.avg",
|
|
828
919
|
"return_type": "vector",
|
|
829
920
|
"arguments": "vector",
|
|
921
|
+
"type": "a"
|
|
922
|
+
},
|
|
923
|
+
{
|
|
924
|
+
"name": "public.binary_quantize",
|
|
925
|
+
"return_type": "bit",
|
|
926
|
+
"arguments": "halfvec",
|
|
830
927
|
"type": "FUNCTION"
|
|
831
928
|
},
|
|
832
929
|
{
|
|
@@ -836,219 +933,219 @@
|
|
|
836
933
|
"type": "FUNCTION"
|
|
837
934
|
},
|
|
838
935
|
{
|
|
839
|
-
"name": "public.
|
|
840
|
-
"return_type": "
|
|
841
|
-
"arguments": "
|
|
936
|
+
"name": "public.cosine_distance",
|
|
937
|
+
"return_type": "float8",
|
|
938
|
+
"arguments": "halfvec, halfvec",
|
|
842
939
|
"type": "FUNCTION"
|
|
843
940
|
},
|
|
844
941
|
{
|
|
845
|
-
"name": "public.
|
|
846
|
-
"return_type": "
|
|
847
|
-
"arguments": "
|
|
942
|
+
"name": "public.cosine_distance",
|
|
943
|
+
"return_type": "float8",
|
|
944
|
+
"arguments": "sparsevec, sparsevec",
|
|
848
945
|
"type": "FUNCTION"
|
|
849
946
|
},
|
|
850
947
|
{
|
|
851
|
-
"name": "public.
|
|
852
|
-
"return_type": "
|
|
948
|
+
"name": "public.cosine_distance",
|
|
949
|
+
"return_type": "float8",
|
|
853
950
|
"arguments": "vector, vector",
|
|
854
951
|
"type": "FUNCTION"
|
|
855
952
|
},
|
|
856
953
|
{
|
|
857
|
-
"name": "public.
|
|
858
|
-
"return_type": "
|
|
859
|
-
"arguments": "
|
|
954
|
+
"name": "public.gin_extract_query_trgm",
|
|
955
|
+
"return_type": "internal",
|
|
956
|
+
"arguments": "text, internal, smallint, internal, internal, internal, internal",
|
|
860
957
|
"type": "FUNCTION"
|
|
861
958
|
},
|
|
862
959
|
{
|
|
863
|
-
"name": "public.
|
|
864
|
-
"return_type": "
|
|
865
|
-
"arguments": "
|
|
960
|
+
"name": "public.gin_extract_value_trgm",
|
|
961
|
+
"return_type": "internal",
|
|
962
|
+
"arguments": "text, internal",
|
|
866
963
|
"type": "FUNCTION"
|
|
867
964
|
},
|
|
868
965
|
{
|
|
869
|
-
"name": "public.
|
|
966
|
+
"name": "public.gin_trgm_consistent",
|
|
870
967
|
"return_type": "bool",
|
|
871
|
-
"arguments": "
|
|
968
|
+
"arguments": "internal, smallint, text, integer, internal, internal, internal, internal",
|
|
872
969
|
"type": "FUNCTION"
|
|
873
970
|
},
|
|
874
971
|
{
|
|
875
|
-
"name": "public.
|
|
876
|
-
"return_type": "
|
|
877
|
-
"arguments": "
|
|
972
|
+
"name": "public.gin_trgm_triconsistent",
|
|
973
|
+
"return_type": "char",
|
|
974
|
+
"arguments": "internal, smallint, text, integer, internal, internal, internal",
|
|
878
975
|
"type": "FUNCTION"
|
|
879
976
|
},
|
|
880
977
|
{
|
|
881
|
-
"name": "public.
|
|
882
|
-
"return_type": "
|
|
883
|
-
"arguments": "
|
|
978
|
+
"name": "public.gtrgm_compress",
|
|
979
|
+
"return_type": "internal",
|
|
980
|
+
"arguments": "internal",
|
|
884
981
|
"type": "FUNCTION"
|
|
885
982
|
},
|
|
886
983
|
{
|
|
887
|
-
"name": "public.
|
|
984
|
+
"name": "public.gtrgm_consistent",
|
|
888
985
|
"return_type": "bool",
|
|
889
|
-
"arguments": "
|
|
986
|
+
"arguments": "internal, text, smallint, oid, internal",
|
|
890
987
|
"type": "FUNCTION"
|
|
891
988
|
},
|
|
892
989
|
{
|
|
893
|
-
"name": "public.
|
|
894
|
-
"return_type": "
|
|
895
|
-
"arguments": "
|
|
990
|
+
"name": "public.gtrgm_decompress",
|
|
991
|
+
"return_type": "internal",
|
|
992
|
+
"arguments": "internal",
|
|
896
993
|
"type": "FUNCTION"
|
|
897
994
|
},
|
|
898
995
|
{
|
|
899
|
-
"name": "public.
|
|
900
|
-
"return_type": "
|
|
901
|
-
"arguments": "
|
|
996
|
+
"name": "public.gtrgm_distance",
|
|
997
|
+
"return_type": "float8",
|
|
998
|
+
"arguments": "internal, text, smallint, oid, internal",
|
|
902
999
|
"type": "FUNCTION"
|
|
903
1000
|
},
|
|
904
1001
|
{
|
|
905
|
-
"name": "public.
|
|
906
|
-
"return_type": "
|
|
907
|
-
"arguments": "
|
|
1002
|
+
"name": "public.gtrgm_in",
|
|
1003
|
+
"return_type": "gtrgm",
|
|
1004
|
+
"arguments": "cstring",
|
|
908
1005
|
"type": "FUNCTION"
|
|
909
1006
|
},
|
|
910
1007
|
{
|
|
911
|
-
"name": "public.
|
|
912
|
-
"return_type": "
|
|
913
|
-
"arguments": "
|
|
1008
|
+
"name": "public.gtrgm_options",
|
|
1009
|
+
"return_type": "void",
|
|
1010
|
+
"arguments": "internal",
|
|
914
1011
|
"type": "FUNCTION"
|
|
915
1012
|
},
|
|
916
1013
|
{
|
|
917
|
-
"name": "public.
|
|
918
|
-
"return_type": "
|
|
919
|
-
"arguments": "
|
|
1014
|
+
"name": "public.gtrgm_out",
|
|
1015
|
+
"return_type": "cstring",
|
|
1016
|
+
"arguments": "gtrgm",
|
|
920
1017
|
"type": "FUNCTION"
|
|
921
1018
|
},
|
|
922
1019
|
{
|
|
923
|
-
"name": "public.
|
|
924
|
-
"return_type": "
|
|
925
|
-
"arguments": "
|
|
1020
|
+
"name": "public.gtrgm_penalty",
|
|
1021
|
+
"return_type": "internal",
|
|
1022
|
+
"arguments": "internal, internal, internal",
|
|
926
1023
|
"type": "FUNCTION"
|
|
927
1024
|
},
|
|
928
1025
|
{
|
|
929
|
-
"name": "public.
|
|
930
|
-
"return_type": "
|
|
931
|
-
"arguments": "
|
|
1026
|
+
"name": "public.gtrgm_picksplit",
|
|
1027
|
+
"return_type": "internal",
|
|
1028
|
+
"arguments": "internal, internal",
|
|
932
1029
|
"type": "FUNCTION"
|
|
933
1030
|
},
|
|
934
1031
|
{
|
|
935
|
-
"name": "public.
|
|
936
|
-
"return_type": "
|
|
937
|
-
"arguments": "
|
|
1032
|
+
"name": "public.gtrgm_same",
|
|
1033
|
+
"return_type": "internal",
|
|
1034
|
+
"arguments": "gtrgm, gtrgm, internal",
|
|
938
1035
|
"type": "FUNCTION"
|
|
939
1036
|
},
|
|
940
1037
|
{
|
|
941
|
-
"name": "public.
|
|
942
|
-
"return_type": "
|
|
943
|
-
"arguments": "
|
|
1038
|
+
"name": "public.gtrgm_union",
|
|
1039
|
+
"return_type": "gtrgm",
|
|
1040
|
+
"arguments": "internal, internal",
|
|
944
1041
|
"type": "FUNCTION"
|
|
945
1042
|
},
|
|
946
1043
|
{
|
|
947
|
-
"name": "public.
|
|
948
|
-
"return_type": "
|
|
949
|
-
"arguments": "
|
|
950
|
-
"type": "
|
|
1044
|
+
"name": "public.halfvec",
|
|
1045
|
+
"return_type": "halfvec",
|
|
1046
|
+
"arguments": "halfvec, integer, boolean",
|
|
1047
|
+
"type": "FUNCTION"
|
|
951
1048
|
},
|
|
952
1049
|
{
|
|
953
|
-
"name": "public.
|
|
954
|
-
"return_type": "
|
|
955
|
-
"arguments": "
|
|
956
|
-
"type": "
|
|
1050
|
+
"name": "public.halfvec_accum",
|
|
1051
|
+
"return_type": "_float8",
|
|
1052
|
+
"arguments": "double precision[], halfvec",
|
|
1053
|
+
"type": "FUNCTION"
|
|
957
1054
|
},
|
|
958
1055
|
{
|
|
959
|
-
"name": "public.
|
|
960
|
-
"return_type": "
|
|
961
|
-
"arguments": "
|
|
1056
|
+
"name": "public.halfvec_add",
|
|
1057
|
+
"return_type": "halfvec",
|
|
1058
|
+
"arguments": "halfvec, halfvec",
|
|
962
1059
|
"type": "FUNCTION"
|
|
963
1060
|
},
|
|
964
1061
|
{
|
|
965
|
-
"name": "public.
|
|
966
|
-
"return_type": "
|
|
967
|
-
"arguments": "
|
|
1062
|
+
"name": "public.halfvec_avg",
|
|
1063
|
+
"return_type": "halfvec",
|
|
1064
|
+
"arguments": "double precision[]",
|
|
968
1065
|
"type": "FUNCTION"
|
|
969
1066
|
},
|
|
970
1067
|
{
|
|
971
|
-
"name": "public.
|
|
972
|
-
"return_type": "
|
|
973
|
-
"arguments": "
|
|
1068
|
+
"name": "public.halfvec_cmp",
|
|
1069
|
+
"return_type": "int4",
|
|
1070
|
+
"arguments": "halfvec, halfvec",
|
|
974
1071
|
"type": "FUNCTION"
|
|
975
1072
|
},
|
|
976
1073
|
{
|
|
977
|
-
"name": "public.
|
|
978
|
-
"return_type": "
|
|
979
|
-
"arguments": "double precision[],
|
|
1074
|
+
"name": "public.halfvec_combine",
|
|
1075
|
+
"return_type": "_float8",
|
|
1076
|
+
"arguments": "double precision[], double precision[]",
|
|
980
1077
|
"type": "FUNCTION"
|
|
981
1078
|
},
|
|
982
1079
|
{
|
|
983
|
-
"name": "public.
|
|
984
|
-
"return_type": "
|
|
985
|
-
"arguments": "
|
|
1080
|
+
"name": "public.halfvec_concat",
|
|
1081
|
+
"return_type": "halfvec",
|
|
1082
|
+
"arguments": "halfvec, halfvec",
|
|
986
1083
|
"type": "FUNCTION"
|
|
987
1084
|
},
|
|
988
1085
|
{
|
|
989
|
-
"name": "public.
|
|
990
|
-
"return_type": "
|
|
991
|
-
"arguments": "
|
|
1086
|
+
"name": "public.halfvec_eq",
|
|
1087
|
+
"return_type": "bool",
|
|
1088
|
+
"arguments": "halfvec, halfvec",
|
|
992
1089
|
"type": "FUNCTION"
|
|
993
1090
|
},
|
|
994
1091
|
{
|
|
995
|
-
"name": "public.
|
|
996
|
-
"return_type": "
|
|
997
|
-
"arguments": "
|
|
1092
|
+
"name": "public.halfvec_ge",
|
|
1093
|
+
"return_type": "bool",
|
|
1094
|
+
"arguments": "halfvec, halfvec",
|
|
998
1095
|
"type": "FUNCTION"
|
|
999
1096
|
},
|
|
1000
1097
|
{
|
|
1001
|
-
"name": "public.
|
|
1002
|
-
"return_type": "
|
|
1003
|
-
"arguments": "
|
|
1098
|
+
"name": "public.halfvec_gt",
|
|
1099
|
+
"return_type": "bool",
|
|
1100
|
+
"arguments": "halfvec, halfvec",
|
|
1004
1101
|
"type": "FUNCTION"
|
|
1005
1102
|
},
|
|
1006
1103
|
{
|
|
1007
|
-
"name": "public.
|
|
1008
|
-
"return_type": "
|
|
1009
|
-
"arguments": "
|
|
1104
|
+
"name": "public.halfvec_in",
|
|
1105
|
+
"return_type": "halfvec",
|
|
1106
|
+
"arguments": "cstring, oid, integer",
|
|
1010
1107
|
"type": "FUNCTION"
|
|
1011
1108
|
},
|
|
1012
1109
|
{
|
|
1013
|
-
"name": "public.
|
|
1014
|
-
"return_type": "
|
|
1015
|
-
"arguments": "
|
|
1110
|
+
"name": "public.halfvec_l2_squared_distance",
|
|
1111
|
+
"return_type": "float8",
|
|
1112
|
+
"arguments": "halfvec, halfvec",
|
|
1016
1113
|
"type": "FUNCTION"
|
|
1017
1114
|
},
|
|
1018
1115
|
{
|
|
1019
|
-
"name": "public.
|
|
1020
|
-
"return_type": "
|
|
1021
|
-
"arguments": "
|
|
1116
|
+
"name": "public.halfvec_le",
|
|
1117
|
+
"return_type": "bool",
|
|
1118
|
+
"arguments": "halfvec, halfvec",
|
|
1022
1119
|
"type": "FUNCTION"
|
|
1023
1120
|
},
|
|
1024
1121
|
{
|
|
1025
|
-
"name": "public.
|
|
1026
|
-
"return_type": "
|
|
1027
|
-
"arguments": "
|
|
1122
|
+
"name": "public.halfvec_lt",
|
|
1123
|
+
"return_type": "bool",
|
|
1124
|
+
"arguments": "halfvec, halfvec",
|
|
1028
1125
|
"type": "FUNCTION"
|
|
1029
1126
|
},
|
|
1030
1127
|
{
|
|
1031
|
-
"name": "public.
|
|
1032
|
-
"return_type": "
|
|
1033
|
-
"arguments": "
|
|
1128
|
+
"name": "public.halfvec_mul",
|
|
1129
|
+
"return_type": "halfvec",
|
|
1130
|
+
"arguments": "halfvec, halfvec",
|
|
1034
1131
|
"type": "FUNCTION"
|
|
1035
1132
|
},
|
|
1036
1133
|
{
|
|
1037
|
-
"name": "public.
|
|
1038
|
-
"return_type": "
|
|
1039
|
-
"arguments": "
|
|
1134
|
+
"name": "public.halfvec_ne",
|
|
1135
|
+
"return_type": "bool",
|
|
1136
|
+
"arguments": "halfvec, halfvec",
|
|
1040
1137
|
"type": "FUNCTION"
|
|
1041
1138
|
},
|
|
1042
1139
|
{
|
|
1043
|
-
"name": "public.
|
|
1044
|
-
"return_type": "
|
|
1045
|
-
"arguments": "halfvec",
|
|
1140
|
+
"name": "public.halfvec_negative_inner_product",
|
|
1141
|
+
"return_type": "float8",
|
|
1142
|
+
"arguments": "halfvec, halfvec",
|
|
1046
1143
|
"type": "FUNCTION"
|
|
1047
1144
|
},
|
|
1048
1145
|
{
|
|
1049
|
-
"name": "public.
|
|
1050
|
-
"return_type": "
|
|
1051
|
-
"arguments": "
|
|
1146
|
+
"name": "public.halfvec_out",
|
|
1147
|
+
"return_type": "cstring",
|
|
1148
|
+
"arguments": "halfvec",
|
|
1052
1149
|
"type": "FUNCTION"
|
|
1053
1150
|
},
|
|
1054
1151
|
{
|
|
@@ -1064,591 +1161,573 @@
|
|
|
1064
1161
|
"type": "FUNCTION"
|
|
1065
1162
|
},
|
|
1066
1163
|
{
|
|
1067
|
-
"name": "public.
|
|
1068
|
-
"return_type": "float8",
|
|
1069
|
-
"arguments": "halfvec, halfvec",
|
|
1070
|
-
"type": "FUNCTION"
|
|
1071
|
-
},
|
|
1072
|
-
{
|
|
1073
|
-
"name": "public.inner_product",
|
|
1164
|
+
"name": "public.halfvec_spherical_distance",
|
|
1074
1165
|
"return_type": "float8",
|
|
1075
1166
|
"arguments": "halfvec, halfvec",
|
|
1076
1167
|
"type": "FUNCTION"
|
|
1077
1168
|
},
|
|
1078
1169
|
{
|
|
1079
|
-
"name": "public.
|
|
1080
|
-
"return_type": "
|
|
1170
|
+
"name": "public.halfvec_sub",
|
|
1171
|
+
"return_type": "halfvec",
|
|
1081
1172
|
"arguments": "halfvec, halfvec",
|
|
1082
1173
|
"type": "FUNCTION"
|
|
1083
1174
|
},
|
|
1084
1175
|
{
|
|
1085
|
-
"name": "public.
|
|
1086
|
-
"return_type": "
|
|
1087
|
-
"arguments": "halfvec,
|
|
1176
|
+
"name": "public.halfvec_to_float4",
|
|
1177
|
+
"return_type": "_float4",
|
|
1178
|
+
"arguments": "halfvec, integer, boolean",
|
|
1088
1179
|
"type": "FUNCTION"
|
|
1089
1180
|
},
|
|
1090
1181
|
{
|
|
1091
|
-
"name": "public.
|
|
1092
|
-
"return_type": "
|
|
1093
|
-
"arguments": "halfvec",
|
|
1182
|
+
"name": "public.halfvec_to_sparsevec",
|
|
1183
|
+
"return_type": "sparsevec",
|
|
1184
|
+
"arguments": "halfvec, integer, boolean",
|
|
1094
1185
|
"type": "FUNCTION"
|
|
1095
1186
|
},
|
|
1096
1187
|
{
|
|
1097
|
-
"name": "public.
|
|
1098
|
-
"return_type": "
|
|
1099
|
-
"arguments": "halfvec",
|
|
1188
|
+
"name": "public.halfvec_to_vector",
|
|
1189
|
+
"return_type": "vector",
|
|
1190
|
+
"arguments": "halfvec, integer, boolean",
|
|
1100
1191
|
"type": "FUNCTION"
|
|
1101
1192
|
},
|
|
1102
1193
|
{
|
|
1103
|
-
"name": "public.
|
|
1104
|
-
"return_type": "
|
|
1105
|
-
"arguments": "
|
|
1194
|
+
"name": "public.halfvec_typmod_in",
|
|
1195
|
+
"return_type": "int4",
|
|
1196
|
+
"arguments": "cstring[]",
|
|
1106
1197
|
"type": "FUNCTION"
|
|
1107
1198
|
},
|
|
1108
1199
|
{
|
|
1109
|
-
"name": "public.
|
|
1110
|
-
"return_type": "
|
|
1111
|
-
"arguments": "
|
|
1200
|
+
"name": "public.hamming_distance",
|
|
1201
|
+
"return_type": "float8",
|
|
1202
|
+
"arguments": "bit, bit",
|
|
1112
1203
|
"type": "FUNCTION"
|
|
1113
1204
|
},
|
|
1114
1205
|
{
|
|
1115
|
-
"name": "public.
|
|
1116
|
-
"return_type": "
|
|
1117
|
-
"arguments": "
|
|
1206
|
+
"name": "public.hnsw_bit_support",
|
|
1207
|
+
"return_type": "internal",
|
|
1208
|
+
"arguments": "internal",
|
|
1118
1209
|
"type": "FUNCTION"
|
|
1119
1210
|
},
|
|
1120
1211
|
{
|
|
1121
|
-
"name": "public.
|
|
1122
|
-
"return_type": "
|
|
1123
|
-
"arguments": "
|
|
1212
|
+
"name": "public.hnsw_halfvec_support",
|
|
1213
|
+
"return_type": "internal",
|
|
1214
|
+
"arguments": "internal",
|
|
1124
1215
|
"type": "FUNCTION"
|
|
1125
1216
|
},
|
|
1126
1217
|
{
|
|
1127
|
-
"name": "public.
|
|
1128
|
-
"return_type": "
|
|
1129
|
-
"arguments": "
|
|
1218
|
+
"name": "public.hnsw_sparsevec_support",
|
|
1219
|
+
"return_type": "internal",
|
|
1220
|
+
"arguments": "internal",
|
|
1130
1221
|
"type": "FUNCTION"
|
|
1131
1222
|
},
|
|
1132
1223
|
{
|
|
1133
|
-
"name": "public.
|
|
1134
|
-
"return_type": "
|
|
1135
|
-
"arguments": "
|
|
1224
|
+
"name": "public.hnswhandler",
|
|
1225
|
+
"return_type": "index_am_handler",
|
|
1226
|
+
"arguments": "internal",
|
|
1136
1227
|
"type": "FUNCTION"
|
|
1137
1228
|
},
|
|
1138
1229
|
{
|
|
1139
|
-
"name": "public.
|
|
1140
|
-
"return_type": "
|
|
1230
|
+
"name": "public.inner_product",
|
|
1231
|
+
"return_type": "float8",
|
|
1141
1232
|
"arguments": "halfvec, halfvec",
|
|
1142
1233
|
"type": "FUNCTION"
|
|
1143
1234
|
},
|
|
1144
1235
|
{
|
|
1145
|
-
"name": "public.
|
|
1146
|
-
"return_type": "
|
|
1147
|
-
"arguments": "
|
|
1236
|
+
"name": "public.inner_product",
|
|
1237
|
+
"return_type": "float8",
|
|
1238
|
+
"arguments": "sparsevec, sparsevec",
|
|
1148
1239
|
"type": "FUNCTION"
|
|
1149
1240
|
},
|
|
1150
1241
|
{
|
|
1151
|
-
"name": "public.
|
|
1152
|
-
"return_type": "
|
|
1153
|
-
"arguments": "
|
|
1242
|
+
"name": "public.inner_product",
|
|
1243
|
+
"return_type": "float8",
|
|
1244
|
+
"arguments": "vector, vector",
|
|
1154
1245
|
"type": "FUNCTION"
|
|
1155
1246
|
},
|
|
1156
1247
|
{
|
|
1157
|
-
"name": "public.
|
|
1158
|
-
"return_type": "
|
|
1159
|
-
"arguments": "
|
|
1248
|
+
"name": "public.ivfflat_bit_support",
|
|
1249
|
+
"return_type": "internal",
|
|
1250
|
+
"arguments": "internal",
|
|
1160
1251
|
"type": "FUNCTION"
|
|
1161
1252
|
},
|
|
1162
1253
|
{
|
|
1163
|
-
"name": "public.
|
|
1164
|
-
"return_type": "
|
|
1165
|
-
"arguments": "
|
|
1254
|
+
"name": "public.ivfflat_halfvec_support",
|
|
1255
|
+
"return_type": "internal",
|
|
1256
|
+
"arguments": "internal",
|
|
1166
1257
|
"type": "FUNCTION"
|
|
1167
1258
|
},
|
|
1168
1259
|
{
|
|
1169
|
-
"name": "public.
|
|
1170
|
-
"return_type": "
|
|
1171
|
-
"arguments": "
|
|
1260
|
+
"name": "public.ivfflathandler",
|
|
1261
|
+
"return_type": "index_am_handler",
|
|
1262
|
+
"arguments": "internal",
|
|
1172
1263
|
"type": "FUNCTION"
|
|
1173
1264
|
},
|
|
1174
1265
|
{
|
|
1175
|
-
"name": "public.
|
|
1176
|
-
"return_type": "
|
|
1177
|
-
"arguments": "
|
|
1266
|
+
"name": "public.jaccard_distance",
|
|
1267
|
+
"return_type": "float8",
|
|
1268
|
+
"arguments": "bit, bit",
|
|
1178
1269
|
"type": "FUNCTION"
|
|
1179
1270
|
},
|
|
1180
1271
|
{
|
|
1181
|
-
"name": "public.
|
|
1182
|
-
"return_type": "
|
|
1272
|
+
"name": "public.l1_distance",
|
|
1273
|
+
"return_type": "float8",
|
|
1183
1274
|
"arguments": "halfvec, halfvec",
|
|
1184
1275
|
"type": "FUNCTION"
|
|
1185
1276
|
},
|
|
1186
1277
|
{
|
|
1187
|
-
"name": "public.
|
|
1278
|
+
"name": "public.l1_distance",
|
|
1188
1279
|
"return_type": "float8",
|
|
1189
|
-
"arguments": "
|
|
1280
|
+
"arguments": "sparsevec, sparsevec",
|
|
1190
1281
|
"type": "FUNCTION"
|
|
1191
1282
|
},
|
|
1192
1283
|
{
|
|
1193
|
-
"name": "public.
|
|
1284
|
+
"name": "public.l1_distance",
|
|
1194
1285
|
"return_type": "float8",
|
|
1195
|
-
"arguments": "
|
|
1286
|
+
"arguments": "vector, vector",
|
|
1196
1287
|
"type": "FUNCTION"
|
|
1197
1288
|
},
|
|
1198
1289
|
{
|
|
1199
|
-
"name": "public.
|
|
1290
|
+
"name": "public.l2_distance",
|
|
1200
1291
|
"return_type": "float8",
|
|
1201
1292
|
"arguments": "halfvec, halfvec",
|
|
1202
1293
|
"type": "FUNCTION"
|
|
1203
1294
|
},
|
|
1204
1295
|
{
|
|
1205
|
-
"name": "public.
|
|
1206
|
-
"return_type": "
|
|
1207
|
-
"arguments": "
|
|
1296
|
+
"name": "public.l2_distance",
|
|
1297
|
+
"return_type": "float8",
|
|
1298
|
+
"arguments": "sparsevec, sparsevec",
|
|
1208
1299
|
"type": "FUNCTION"
|
|
1209
1300
|
},
|
|
1210
1301
|
{
|
|
1211
|
-
"name": "public.
|
|
1212
|
-
"return_type": "
|
|
1213
|
-
"arguments": "
|
|
1302
|
+
"name": "public.l2_distance",
|
|
1303
|
+
"return_type": "float8",
|
|
1304
|
+
"arguments": "vector, vector",
|
|
1214
1305
|
"type": "FUNCTION"
|
|
1215
1306
|
},
|
|
1216
1307
|
{
|
|
1217
|
-
"name": "public.
|
|
1218
|
-
"return_type": "
|
|
1219
|
-
"arguments": "
|
|
1308
|
+
"name": "public.l2_norm",
|
|
1309
|
+
"return_type": "float8",
|
|
1310
|
+
"arguments": "halfvec",
|
|
1220
1311
|
"type": "FUNCTION"
|
|
1221
1312
|
},
|
|
1222
1313
|
{
|
|
1223
|
-
"name": "public.
|
|
1224
|
-
"return_type": "
|
|
1225
|
-
"arguments": "
|
|
1226
|
-
"type": "
|
|
1314
|
+
"name": "public.l2_norm",
|
|
1315
|
+
"return_type": "float8",
|
|
1316
|
+
"arguments": "sparsevec",
|
|
1317
|
+
"type": "FUNCTION"
|
|
1227
1318
|
},
|
|
1228
1319
|
{
|
|
1229
|
-
"name": "public.
|
|
1320
|
+
"name": "public.l2_normalize",
|
|
1230
1321
|
"return_type": "halfvec",
|
|
1231
1322
|
"arguments": "halfvec",
|
|
1232
|
-
"type": "
|
|
1323
|
+
"type": "FUNCTION"
|
|
1233
1324
|
},
|
|
1234
1325
|
{
|
|
1235
|
-
"name": "public.
|
|
1236
|
-
"return_type": "
|
|
1237
|
-
"arguments": "
|
|
1326
|
+
"name": "public.l2_normalize",
|
|
1327
|
+
"return_type": "sparsevec",
|
|
1328
|
+
"arguments": "sparsevec",
|
|
1238
1329
|
"type": "FUNCTION"
|
|
1239
1330
|
},
|
|
1240
1331
|
{
|
|
1241
|
-
"name": "public.
|
|
1332
|
+
"name": "public.l2_normalize",
|
|
1242
1333
|
"return_type": "vector",
|
|
1243
|
-
"arguments": "
|
|
1334
|
+
"arguments": "vector",
|
|
1244
1335
|
"type": "FUNCTION"
|
|
1245
1336
|
},
|
|
1246
1337
|
{
|
|
1247
|
-
"name": "public.
|
|
1248
|
-
"return_type": "
|
|
1249
|
-
"arguments": "
|
|
1338
|
+
"name": "public.set_limit",
|
|
1339
|
+
"return_type": "float4",
|
|
1340
|
+
"arguments": "real",
|
|
1250
1341
|
"type": "FUNCTION"
|
|
1251
1342
|
},
|
|
1252
1343
|
{
|
|
1253
|
-
"name": "public.
|
|
1254
|
-
"return_type": "
|
|
1255
|
-
"arguments": "
|
|
1344
|
+
"name": "public.show_limit",
|
|
1345
|
+
"return_type": "float4",
|
|
1346
|
+
"arguments": "",
|
|
1256
1347
|
"type": "FUNCTION"
|
|
1257
1348
|
},
|
|
1258
1349
|
{
|
|
1259
|
-
"name": "public.
|
|
1260
|
-
"return_type": "
|
|
1261
|
-
"arguments": "
|
|
1350
|
+
"name": "public.show_trgm",
|
|
1351
|
+
"return_type": "_text",
|
|
1352
|
+
"arguments": "text",
|
|
1262
1353
|
"type": "FUNCTION"
|
|
1263
1354
|
},
|
|
1264
1355
|
{
|
|
1265
|
-
"name": "public.
|
|
1266
|
-
"return_type": "
|
|
1267
|
-
"arguments": "
|
|
1356
|
+
"name": "public.similarity",
|
|
1357
|
+
"return_type": "float4",
|
|
1358
|
+
"arguments": "text, text",
|
|
1268
1359
|
"type": "FUNCTION"
|
|
1269
1360
|
},
|
|
1270
1361
|
{
|
|
1271
|
-
"name": "public.
|
|
1272
|
-
"return_type": "
|
|
1273
|
-
"arguments": "
|
|
1362
|
+
"name": "public.similarity_dist",
|
|
1363
|
+
"return_type": "float4",
|
|
1364
|
+
"arguments": "text, text",
|
|
1274
1365
|
"type": "FUNCTION"
|
|
1275
1366
|
},
|
|
1276
1367
|
{
|
|
1277
|
-
"name": "public.
|
|
1278
|
-
"return_type": "
|
|
1279
|
-
"arguments": "
|
|
1368
|
+
"name": "public.similarity_op",
|
|
1369
|
+
"return_type": "bool",
|
|
1370
|
+
"arguments": "text, text",
|
|
1280
1371
|
"type": "FUNCTION"
|
|
1281
1372
|
},
|
|
1282
1373
|
{
|
|
1283
|
-
"name": "public.
|
|
1284
|
-
"return_type": "
|
|
1285
|
-
"arguments": "
|
|
1374
|
+
"name": "public.sparsevec",
|
|
1375
|
+
"return_type": "sparsevec",
|
|
1376
|
+
"arguments": "sparsevec, integer, boolean",
|
|
1286
1377
|
"type": "FUNCTION"
|
|
1287
1378
|
},
|
|
1288
1379
|
{
|
|
1289
|
-
"name": "public.
|
|
1290
|
-
"return_type": "
|
|
1291
|
-
"arguments": "
|
|
1380
|
+
"name": "public.sparsevec_cmp",
|
|
1381
|
+
"return_type": "int4",
|
|
1382
|
+
"arguments": "sparsevec, sparsevec",
|
|
1292
1383
|
"type": "FUNCTION"
|
|
1293
1384
|
},
|
|
1294
1385
|
{
|
|
1295
|
-
"name": "public.
|
|
1296
|
-
"return_type": "
|
|
1297
|
-
"arguments": "
|
|
1386
|
+
"name": "public.sparsevec_eq",
|
|
1387
|
+
"return_type": "bool",
|
|
1388
|
+
"arguments": "sparsevec, sparsevec",
|
|
1298
1389
|
"type": "FUNCTION"
|
|
1299
1390
|
},
|
|
1300
1391
|
{
|
|
1301
|
-
"name": "public.
|
|
1302
|
-
"return_type": "
|
|
1303
|
-
"arguments": "sparsevec",
|
|
1392
|
+
"name": "public.sparsevec_ge",
|
|
1393
|
+
"return_type": "bool",
|
|
1394
|
+
"arguments": "sparsevec, sparsevec",
|
|
1304
1395
|
"type": "FUNCTION"
|
|
1305
1396
|
},
|
|
1306
1397
|
{
|
|
1307
|
-
"name": "public.
|
|
1308
|
-
"return_type": "
|
|
1309
|
-
"arguments": "
|
|
1398
|
+
"name": "public.sparsevec_gt",
|
|
1399
|
+
"return_type": "bool",
|
|
1400
|
+
"arguments": "sparsevec, sparsevec",
|
|
1310
1401
|
"type": "FUNCTION"
|
|
1311
1402
|
},
|
|
1312
1403
|
{
|
|
1313
|
-
"name": "public.
|
|
1404
|
+
"name": "public.sparsevec_in",
|
|
1314
1405
|
"return_type": "sparsevec",
|
|
1315
|
-
"arguments": "
|
|
1316
|
-
"type": "FUNCTION"
|
|
1317
|
-
},
|
|
1318
|
-
{
|
|
1319
|
-
"name": "public.sparsevec_send",
|
|
1320
|
-
"return_type": "bytea",
|
|
1321
|
-
"arguments": "sparsevec",
|
|
1406
|
+
"arguments": "cstring, oid, integer",
|
|
1322
1407
|
"type": "FUNCTION"
|
|
1323
1408
|
},
|
|
1324
1409
|
{
|
|
1325
|
-
"name": "public.
|
|
1410
|
+
"name": "public.sparsevec_l2_squared_distance",
|
|
1326
1411
|
"return_type": "float8",
|
|
1327
1412
|
"arguments": "sparsevec, sparsevec",
|
|
1328
1413
|
"type": "FUNCTION"
|
|
1329
1414
|
},
|
|
1330
1415
|
{
|
|
1331
|
-
"name": "public.
|
|
1332
|
-
"return_type": "
|
|
1416
|
+
"name": "public.sparsevec_le",
|
|
1417
|
+
"return_type": "bool",
|
|
1333
1418
|
"arguments": "sparsevec, sparsevec",
|
|
1334
1419
|
"type": "FUNCTION"
|
|
1335
1420
|
},
|
|
1336
1421
|
{
|
|
1337
|
-
"name": "public.
|
|
1338
|
-
"return_type": "
|
|
1422
|
+
"name": "public.sparsevec_lt",
|
|
1423
|
+
"return_type": "bool",
|
|
1339
1424
|
"arguments": "sparsevec, sparsevec",
|
|
1340
1425
|
"type": "FUNCTION"
|
|
1341
1426
|
},
|
|
1342
1427
|
{
|
|
1343
|
-
"name": "public.
|
|
1344
|
-
"return_type": "
|
|
1428
|
+
"name": "public.sparsevec_ne",
|
|
1429
|
+
"return_type": "bool",
|
|
1345
1430
|
"arguments": "sparsevec, sparsevec",
|
|
1346
1431
|
"type": "FUNCTION"
|
|
1347
1432
|
},
|
|
1348
1433
|
{
|
|
1349
|
-
"name": "public.
|
|
1434
|
+
"name": "public.sparsevec_negative_inner_product",
|
|
1350
1435
|
"return_type": "float8",
|
|
1351
|
-
"arguments": "sparsevec",
|
|
1436
|
+
"arguments": "sparsevec, sparsevec",
|
|
1352
1437
|
"type": "FUNCTION"
|
|
1353
1438
|
},
|
|
1354
1439
|
{
|
|
1355
|
-
"name": "public.
|
|
1356
|
-
"return_type": "
|
|
1440
|
+
"name": "public.sparsevec_out",
|
|
1441
|
+
"return_type": "cstring",
|
|
1357
1442
|
"arguments": "sparsevec",
|
|
1358
1443
|
"type": "FUNCTION"
|
|
1359
1444
|
},
|
|
1360
1445
|
{
|
|
1361
|
-
"name": "public.
|
|
1362
|
-
"return_type": "
|
|
1363
|
-
"arguments": "
|
|
1446
|
+
"name": "public.sparsevec_recv",
|
|
1447
|
+
"return_type": "sparsevec",
|
|
1448
|
+
"arguments": "internal, oid, integer",
|
|
1364
1449
|
"type": "FUNCTION"
|
|
1365
1450
|
},
|
|
1366
1451
|
{
|
|
1367
|
-
"name": "public.
|
|
1368
|
-
"return_type": "
|
|
1369
|
-
"arguments": "sparsevec
|
|
1452
|
+
"name": "public.sparsevec_send",
|
|
1453
|
+
"return_type": "bytea",
|
|
1454
|
+
"arguments": "sparsevec",
|
|
1370
1455
|
"type": "FUNCTION"
|
|
1371
1456
|
},
|
|
1372
1457
|
{
|
|
1373
|
-
"name": "public.
|
|
1374
|
-
"return_type": "
|
|
1375
|
-
"arguments": "sparsevec,
|
|
1458
|
+
"name": "public.sparsevec_to_halfvec",
|
|
1459
|
+
"return_type": "halfvec",
|
|
1460
|
+
"arguments": "sparsevec, integer, boolean",
|
|
1376
1461
|
"type": "FUNCTION"
|
|
1377
1462
|
},
|
|
1378
1463
|
{
|
|
1379
|
-
"name": "public.
|
|
1380
|
-
"return_type": "
|
|
1381
|
-
"arguments": "sparsevec,
|
|
1464
|
+
"name": "public.sparsevec_to_vector",
|
|
1465
|
+
"return_type": "vector",
|
|
1466
|
+
"arguments": "sparsevec, integer, boolean",
|
|
1382
1467
|
"type": "FUNCTION"
|
|
1383
1468
|
},
|
|
1384
1469
|
{
|
|
1385
|
-
"name": "public.
|
|
1386
|
-
"return_type": "
|
|
1387
|
-
"arguments": "
|
|
1470
|
+
"name": "public.sparsevec_typmod_in",
|
|
1471
|
+
"return_type": "int4",
|
|
1472
|
+
"arguments": "cstring[]",
|
|
1388
1473
|
"type": "FUNCTION"
|
|
1389
1474
|
},
|
|
1390
1475
|
{
|
|
1391
|
-
"name": "public.
|
|
1392
|
-
"return_type": "
|
|
1393
|
-
"arguments": "
|
|
1476
|
+
"name": "public.strict_word_similarity",
|
|
1477
|
+
"return_type": "float4",
|
|
1478
|
+
"arguments": "text, text",
|
|
1394
1479
|
"type": "FUNCTION"
|
|
1395
1480
|
},
|
|
1396
1481
|
{
|
|
1397
|
-
"name": "public.
|
|
1398
|
-
"return_type": "
|
|
1399
|
-
"arguments": "
|
|
1482
|
+
"name": "public.strict_word_similarity_commutator_op",
|
|
1483
|
+
"return_type": "bool",
|
|
1484
|
+
"arguments": "text, text",
|
|
1400
1485
|
"type": "FUNCTION"
|
|
1401
1486
|
},
|
|
1402
1487
|
{
|
|
1403
|
-
"name": "public.
|
|
1404
|
-
"return_type": "
|
|
1405
|
-
"arguments": "
|
|
1488
|
+
"name": "public.strict_word_similarity_dist_commutator_op",
|
|
1489
|
+
"return_type": "float4",
|
|
1490
|
+
"arguments": "text, text",
|
|
1406
1491
|
"type": "FUNCTION"
|
|
1407
1492
|
},
|
|
1408
1493
|
{
|
|
1409
|
-
"name": "public.
|
|
1410
|
-
"return_type": "
|
|
1411
|
-
"arguments": "
|
|
1494
|
+
"name": "public.strict_word_similarity_dist_op",
|
|
1495
|
+
"return_type": "float4",
|
|
1496
|
+
"arguments": "text, text",
|
|
1412
1497
|
"type": "FUNCTION"
|
|
1413
1498
|
},
|
|
1414
1499
|
{
|
|
1415
|
-
"name": "public.
|
|
1416
|
-
"return_type": "
|
|
1417
|
-
"arguments": "
|
|
1500
|
+
"name": "public.strict_word_similarity_op",
|
|
1501
|
+
"return_type": "bool",
|
|
1502
|
+
"arguments": "text, text",
|
|
1418
1503
|
"type": "FUNCTION"
|
|
1419
1504
|
},
|
|
1420
1505
|
{
|
|
1421
|
-
"name": "public.
|
|
1422
|
-
"return_type": "
|
|
1423
|
-
"arguments": "
|
|
1506
|
+
"name": "public.subvector",
|
|
1507
|
+
"return_type": "halfvec",
|
|
1508
|
+
"arguments": "halfvec, integer, integer",
|
|
1424
1509
|
"type": "FUNCTION"
|
|
1425
1510
|
},
|
|
1426
1511
|
{
|
|
1427
|
-
"name": "public.
|
|
1512
|
+
"name": "public.subvector",
|
|
1428
1513
|
"return_type": "vector",
|
|
1429
|
-
"arguments": "
|
|
1514
|
+
"arguments": "vector, integer, integer",
|
|
1430
1515
|
"type": "FUNCTION"
|
|
1431
1516
|
},
|
|
1432
1517
|
{
|
|
1433
|
-
"name": "public.
|
|
1434
|
-
"return_type": "
|
|
1435
|
-
"arguments": "halfvec
|
|
1436
|
-
"type": "
|
|
1518
|
+
"name": "public.sum",
|
|
1519
|
+
"return_type": "halfvec",
|
|
1520
|
+
"arguments": "halfvec",
|
|
1521
|
+
"type": "a"
|
|
1437
1522
|
},
|
|
1438
1523
|
{
|
|
1439
|
-
"name": "public.
|
|
1440
|
-
"return_type": "
|
|
1441
|
-
"arguments": "
|
|
1442
|
-
"type": "
|
|
1524
|
+
"name": "public.sum",
|
|
1525
|
+
"return_type": "vector",
|
|
1526
|
+
"arguments": "vector",
|
|
1527
|
+
"type": "a"
|
|
1443
1528
|
},
|
|
1444
1529
|
{
|
|
1445
|
-
"name": "public.
|
|
1446
|
-
"return_type": "
|
|
1447
|
-
"arguments": "
|
|
1530
|
+
"name": "public.vector",
|
|
1531
|
+
"return_type": "vector",
|
|
1532
|
+
"arguments": "vector, integer, boolean",
|
|
1448
1533
|
"type": "FUNCTION"
|
|
1449
1534
|
},
|
|
1450
1535
|
{
|
|
1451
|
-
"name": "public.
|
|
1452
|
-
"return_type": "
|
|
1453
|
-
"arguments": "
|
|
1536
|
+
"name": "public.vector_accum",
|
|
1537
|
+
"return_type": "_float8",
|
|
1538
|
+
"arguments": "double precision[], vector",
|
|
1454
1539
|
"type": "FUNCTION"
|
|
1455
1540
|
},
|
|
1456
1541
|
{
|
|
1457
|
-
"name": "public.
|
|
1458
|
-
"return_type": "
|
|
1459
|
-
"arguments": "
|
|
1542
|
+
"name": "public.vector_add",
|
|
1543
|
+
"return_type": "vector",
|
|
1544
|
+
"arguments": "vector, vector",
|
|
1460
1545
|
"type": "FUNCTION"
|
|
1461
1546
|
},
|
|
1462
1547
|
{
|
|
1463
|
-
"name": "public.
|
|
1464
|
-
"return_type": "
|
|
1465
|
-
"arguments": "
|
|
1548
|
+
"name": "public.vector_avg",
|
|
1549
|
+
"return_type": "vector",
|
|
1550
|
+
"arguments": "double precision[]",
|
|
1466
1551
|
"type": "FUNCTION"
|
|
1467
1552
|
},
|
|
1468
1553
|
{
|
|
1469
|
-
"name": "public.
|
|
1470
|
-
"return_type": "
|
|
1471
|
-
"arguments": "
|
|
1554
|
+
"name": "public.vector_cmp",
|
|
1555
|
+
"return_type": "int4",
|
|
1556
|
+
"arguments": "vector, vector",
|
|
1472
1557
|
"type": "FUNCTION"
|
|
1473
1558
|
},
|
|
1474
1559
|
{
|
|
1475
|
-
"name": "public.
|
|
1476
|
-
"return_type": "
|
|
1477
|
-
"arguments": "",
|
|
1560
|
+
"name": "public.vector_combine",
|
|
1561
|
+
"return_type": "_float8",
|
|
1562
|
+
"arguments": "double precision[], double precision[]",
|
|
1478
1563
|
"type": "FUNCTION"
|
|
1479
1564
|
},
|
|
1480
1565
|
{
|
|
1481
|
-
"name": "public.
|
|
1482
|
-
"return_type": "
|
|
1483
|
-
"arguments": "
|
|
1566
|
+
"name": "public.vector_concat",
|
|
1567
|
+
"return_type": "vector",
|
|
1568
|
+
"arguments": "vector, vector",
|
|
1484
1569
|
"type": "FUNCTION"
|
|
1485
1570
|
},
|
|
1486
1571
|
{
|
|
1487
|
-
"name": "public.
|
|
1488
|
-
"return_type": "
|
|
1489
|
-
"arguments": "
|
|
1572
|
+
"name": "public.vector_dims",
|
|
1573
|
+
"return_type": "int4",
|
|
1574
|
+
"arguments": "halfvec",
|
|
1490
1575
|
"type": "FUNCTION"
|
|
1491
1576
|
},
|
|
1492
1577
|
{
|
|
1493
|
-
"name": "public.
|
|
1494
|
-
"return_type": "
|
|
1495
|
-
"arguments": "
|
|
1578
|
+
"name": "public.vector_dims",
|
|
1579
|
+
"return_type": "int4",
|
|
1580
|
+
"arguments": "vector",
|
|
1496
1581
|
"type": "FUNCTION"
|
|
1497
1582
|
},
|
|
1498
1583
|
{
|
|
1499
|
-
"name": "public.
|
|
1500
|
-
"return_type": "
|
|
1501
|
-
"arguments": "
|
|
1584
|
+
"name": "public.vector_eq",
|
|
1585
|
+
"return_type": "bool",
|
|
1586
|
+
"arguments": "vector, vector",
|
|
1502
1587
|
"type": "FUNCTION"
|
|
1503
1588
|
},
|
|
1504
1589
|
{
|
|
1505
|
-
"name": "public.
|
|
1590
|
+
"name": "public.vector_ge",
|
|
1506
1591
|
"return_type": "bool",
|
|
1507
|
-
"arguments": "
|
|
1592
|
+
"arguments": "vector, vector",
|
|
1508
1593
|
"type": "FUNCTION"
|
|
1509
1594
|
},
|
|
1510
1595
|
{
|
|
1511
|
-
"name": "public.
|
|
1596
|
+
"name": "public.vector_gt",
|
|
1512
1597
|
"return_type": "bool",
|
|
1513
|
-
"arguments": "
|
|
1598
|
+
"arguments": "vector, vector",
|
|
1514
1599
|
"type": "FUNCTION"
|
|
1515
1600
|
},
|
|
1516
1601
|
{
|
|
1517
|
-
"name": "public.
|
|
1518
|
-
"return_type": "
|
|
1519
|
-
"arguments": "
|
|
1602
|
+
"name": "public.vector_in",
|
|
1603
|
+
"return_type": "vector",
|
|
1604
|
+
"arguments": "cstring, oid, integer",
|
|
1520
1605
|
"type": "FUNCTION"
|
|
1521
1606
|
},
|
|
1522
1607
|
{
|
|
1523
|
-
"name": "public.
|
|
1524
|
-
"return_type": "
|
|
1525
|
-
"arguments": "
|
|
1608
|
+
"name": "public.vector_l2_squared_distance",
|
|
1609
|
+
"return_type": "float8",
|
|
1610
|
+
"arguments": "vector, vector",
|
|
1526
1611
|
"type": "FUNCTION"
|
|
1527
1612
|
},
|
|
1528
1613
|
{
|
|
1529
|
-
"name": "public.
|
|
1530
|
-
"return_type": "
|
|
1531
|
-
"arguments": "
|
|
1614
|
+
"name": "public.vector_le",
|
|
1615
|
+
"return_type": "bool",
|
|
1616
|
+
"arguments": "vector, vector",
|
|
1532
1617
|
"type": "FUNCTION"
|
|
1533
1618
|
},
|
|
1534
1619
|
{
|
|
1535
|
-
"name": "public.
|
|
1536
|
-
"return_type": "
|
|
1537
|
-
"arguments": "
|
|
1620
|
+
"name": "public.vector_lt",
|
|
1621
|
+
"return_type": "bool",
|
|
1622
|
+
"arguments": "vector, vector",
|
|
1538
1623
|
"type": "FUNCTION"
|
|
1539
1624
|
},
|
|
1540
1625
|
{
|
|
1541
|
-
"name": "public.
|
|
1542
|
-
"return_type": "
|
|
1543
|
-
"arguments": "
|
|
1626
|
+
"name": "public.vector_mul",
|
|
1627
|
+
"return_type": "vector",
|
|
1628
|
+
"arguments": "vector, vector",
|
|
1544
1629
|
"type": "FUNCTION"
|
|
1545
1630
|
},
|
|
1546
1631
|
{
|
|
1547
|
-
"name": "public.
|
|
1632
|
+
"name": "public.vector_ne",
|
|
1548
1633
|
"return_type": "bool",
|
|
1549
|
-
"arguments": "
|
|
1634
|
+
"arguments": "vector, vector",
|
|
1550
1635
|
"type": "FUNCTION"
|
|
1551
1636
|
},
|
|
1552
1637
|
{
|
|
1553
|
-
"name": "public.
|
|
1638
|
+
"name": "public.vector_negative_inner_product",
|
|
1554
1639
|
"return_type": "float8",
|
|
1555
|
-
"arguments": "
|
|
1640
|
+
"arguments": "vector, vector",
|
|
1556
1641
|
"type": "FUNCTION"
|
|
1557
1642
|
},
|
|
1558
1643
|
{
|
|
1559
|
-
"name": "public.
|
|
1560
|
-
"return_type": "
|
|
1561
|
-
"arguments": "
|
|
1644
|
+
"name": "public.vector_norm",
|
|
1645
|
+
"return_type": "float8",
|
|
1646
|
+
"arguments": "vector",
|
|
1562
1647
|
"type": "FUNCTION"
|
|
1563
1648
|
},
|
|
1564
1649
|
{
|
|
1565
|
-
"name": "public.
|
|
1566
|
-
"return_type": "
|
|
1567
|
-
"arguments": "
|
|
1650
|
+
"name": "public.vector_out",
|
|
1651
|
+
"return_type": "cstring",
|
|
1652
|
+
"arguments": "vector",
|
|
1568
1653
|
"type": "FUNCTION"
|
|
1569
1654
|
},
|
|
1570
1655
|
{
|
|
1571
|
-
"name": "public.
|
|
1572
|
-
"return_type": "
|
|
1573
|
-
"arguments": "internal,
|
|
1656
|
+
"name": "public.vector_recv",
|
|
1657
|
+
"return_type": "vector",
|
|
1658
|
+
"arguments": "internal, oid, integer",
|
|
1574
1659
|
"type": "FUNCTION"
|
|
1575
1660
|
},
|
|
1576
1661
|
{
|
|
1577
|
-
"name": "public.
|
|
1578
|
-
"return_type": "
|
|
1579
|
-
"arguments": "
|
|
1662
|
+
"name": "public.vector_send",
|
|
1663
|
+
"return_type": "bytea",
|
|
1664
|
+
"arguments": "vector",
|
|
1580
1665
|
"type": "FUNCTION"
|
|
1581
1666
|
},
|
|
1582
1667
|
{
|
|
1583
|
-
"name": "public.
|
|
1584
|
-
"return_type": "
|
|
1585
|
-
"arguments": "
|
|
1668
|
+
"name": "public.vector_spherical_distance",
|
|
1669
|
+
"return_type": "float8",
|
|
1670
|
+
"arguments": "vector, vector",
|
|
1586
1671
|
"type": "FUNCTION"
|
|
1587
1672
|
},
|
|
1588
1673
|
{
|
|
1589
|
-
"name": "public.
|
|
1590
|
-
"return_type": "
|
|
1591
|
-
"arguments": "
|
|
1674
|
+
"name": "public.vector_sub",
|
|
1675
|
+
"return_type": "vector",
|
|
1676
|
+
"arguments": "vector, vector",
|
|
1592
1677
|
"type": "FUNCTION"
|
|
1593
1678
|
},
|
|
1594
1679
|
{
|
|
1595
|
-
"name": "public.
|
|
1596
|
-
"return_type": "
|
|
1597
|
-
"arguments": "
|
|
1680
|
+
"name": "public.vector_to_float4",
|
|
1681
|
+
"return_type": "_float4",
|
|
1682
|
+
"arguments": "vector, integer, boolean",
|
|
1598
1683
|
"type": "FUNCTION"
|
|
1599
1684
|
},
|
|
1600
1685
|
{
|
|
1601
|
-
"name": "public.
|
|
1602
|
-
"return_type": "
|
|
1603
|
-
"arguments": "
|
|
1686
|
+
"name": "public.vector_to_halfvec",
|
|
1687
|
+
"return_type": "halfvec",
|
|
1688
|
+
"arguments": "vector, integer, boolean",
|
|
1604
1689
|
"type": "FUNCTION"
|
|
1605
1690
|
},
|
|
1606
1691
|
{
|
|
1607
|
-
"name": "public.
|
|
1608
|
-
"return_type": "
|
|
1609
|
-
"arguments": "
|
|
1692
|
+
"name": "public.vector_to_sparsevec",
|
|
1693
|
+
"return_type": "sparsevec",
|
|
1694
|
+
"arguments": "vector, integer, boolean",
|
|
1610
1695
|
"type": "FUNCTION"
|
|
1611
1696
|
},
|
|
1612
1697
|
{
|
|
1613
|
-
"name": "public.
|
|
1614
|
-
"return_type": "
|
|
1615
|
-
"arguments": "
|
|
1698
|
+
"name": "public.vector_typmod_in",
|
|
1699
|
+
"return_type": "int4",
|
|
1700
|
+
"arguments": "cstring[]",
|
|
1616
1701
|
"type": "FUNCTION"
|
|
1617
1702
|
},
|
|
1618
1703
|
{
|
|
1619
|
-
"name": "public.
|
|
1704
|
+
"name": "public.word_similarity",
|
|
1620
1705
|
"return_type": "float4",
|
|
1621
1706
|
"arguments": "text, text",
|
|
1622
1707
|
"type": "FUNCTION"
|
|
1623
1708
|
},
|
|
1624
1709
|
{
|
|
1625
|
-
"name": "public.
|
|
1626
|
-
"return_type": "bool",
|
|
1627
|
-
"arguments": "text, text",
|
|
1628
|
-
"type": "FUNCTION"
|
|
1629
|
-
},
|
|
1630
|
-
{
|
|
1631
|
-
"name": "public.strict_word_similarity_commutator_op",
|
|
1710
|
+
"name": "public.word_similarity_commutator_op",
|
|
1632
1711
|
"return_type": "bool",
|
|
1633
1712
|
"arguments": "text, text",
|
|
1634
1713
|
"type": "FUNCTION"
|
|
1635
1714
|
},
|
|
1636
1715
|
{
|
|
1637
|
-
"name": "public.
|
|
1716
|
+
"name": "public.word_similarity_dist_commutator_op",
|
|
1638
1717
|
"return_type": "float4",
|
|
1639
1718
|
"arguments": "text, text",
|
|
1640
1719
|
"type": "FUNCTION"
|
|
1641
1720
|
},
|
|
1642
1721
|
{
|
|
1643
|
-
"name": "public.
|
|
1722
|
+
"name": "public.word_similarity_dist_op",
|
|
1644
1723
|
"return_type": "float4",
|
|
1645
1724
|
"arguments": "text, text",
|
|
1646
1725
|
"type": "FUNCTION"
|
|
1647
1726
|
},
|
|
1648
1727
|
{
|
|
1649
|
-
"name": "public.
|
|
1650
|
-
"return_type": "
|
|
1651
|
-
"arguments": "
|
|
1728
|
+
"name": "public.word_similarity_op",
|
|
1729
|
+
"return_type": "bool",
|
|
1730
|
+
"arguments": "text, text",
|
|
1652
1731
|
"type": "FUNCTION"
|
|
1653
1732
|
}
|
|
1654
1733
|
],
|