@chronicle.app/schema 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/LICENSE ADDED
@@ -0,0 +1,24 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Andrew Louis
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
22
+
23
+ This license covers the ontology (chronicle.ttl), generator, generated TypeScript
24
+ and Zod schemas, and associated documentation.
package/README.md ADDED
@@ -0,0 +1,103 @@
1
+ # @chronicle.app/schema
2
+
3
+ A deliberately small extraction vocabulary with generated TypeScript interfaces
4
+ and Zod validators. The canonical file is [chronicle.ttl](chronicle.ttl); edit it and run
5
+ `npm run schema:generate` from the repository root. This generates both the
6
+ TypeScript/Zod schemas and [the HTML reference](docs/schema.html).
7
+ `npm run schema:check` verifies that both committed outputs match the ontology
8
+ without rewriting them.
9
+
10
+ Open `docs/schema.html` directly in a browser; its styles are embedded and it
11
+ requires no server or network access. It includes hierarchy navigation, linked
12
+ `:term` references, inherited properties, ranges, cardinality, and term URIs.
13
+ Use `npm run generate:docs -w @chronicle.app/schema` to regenerate just the HTML.
14
+ The package also exports the page as `@chronicle.app/schema/schema.html`.
15
+
16
+ ## Vocabulary
17
+
18
+ - `Base`: an identity-bearing node; carries `sourceId`.
19
+ - `Entity`: a thing described by a source; adds `name` and `url`.
20
+ - `Action`: an occurrence; adds a single entity-valued `object`.
21
+
22
+ Plugins extend these roots only where their outputs require it: Things adds task
23
+ lifecycle actions and collections/tags; shell adds commands, people, and machine
24
+ realms; iMessage adds messages and attachment media; Claude Code adds threads,
25
+ software agents, and model instruments. Shared properties cover source identity,
26
+ event time, agents, membership, authors, and recipients.
27
+
28
+ `Text`, `URL`, and `DateTime` are literal datatypes. Properties remain optional;
29
+ `chronicle.ttl` defines whether each is single-valued or a list. Records carry `@type` and at least one of `@key` (a nonempty list of
30
+ identity fields or computed key entries) or `@id` (an existing identity).
31
+ Identity validation checks that declaration, not the existence or hash of the
32
+ referenced fields. Source-specific extraction owns the values; never invent IDs
33
+ to make a record pass validation.
34
+
35
+ ```js
36
+ import { ActionSchema, EntitySchema } from '@chronicle.app/schema';
37
+
38
+ // Synthetic example data.
39
+ const entity = EntitySchema.parse({
40
+ '@type': 'Entity',
41
+ '@key': ['sourceId'],
42
+ sourceId: 'example-record-1',
43
+ name: 'Example record',
44
+ url: 'https://example.com/record/1',
45
+ });
46
+
47
+ const action = ActionSchema.parse({
48
+ '@type': 'Action',
49
+ '@key': ['sourceId'],
50
+ sourceId: 'example-action-1',
51
+ object: entity,
52
+ });
53
+ ```
54
+
55
+ Each type has a `TypeSchema` validator and a `TypeAndChildrenSchema` validator
56
+ that also accepts its descendants. `BaseAndChildrenSchema` accepts all declared
57
+ record types. Validation checks nested identities, property types, URL syntax,
58
+ and cardinality. Unknown object fields are stripped by Zod; undeclared record
59
+ types are rejected. Import interfaces such as `Entity` and `Action` for static
60
+ typing; use validators at runtime to enforce identity requirements.
61
+
62
+ ## Generation and compatibility
63
+
64
+ The generator turns N3/Turtle into TypeScript types and Zod validators. It handles
65
+ inheritance, domain/range, and OWL cardinality and fails for cyclic inheritance or
66
+ undeclared referenced classes. The package has no persistence metadata, derived
67
+ effects, or runtime filesystem parser.
68
+ Generated runtime code depends only on Zod; the TTL is also included in the package.
69
+
70
+ ## Schema versions
71
+
72
+ The npm package follows Chronicle’s shared software version in `package.json`.
73
+ The ontology has an independent version declared with `owl:versionInfo` in
74
+ `chronicle.ttl`, exported as the generated `SCHEMA_VERSION` constant. Software
75
+ releases can advance without changing the vocabulary version.
76
+ `chronicle.ttl` is the only editable ontology; historical versions are preserved
77
+ by immutable software Git tags named `v<package-version>` and versioned npm packages.
78
+ Release notes map software versions to vocabulary versions.
79
+ The package exports `@chronicle.app/schema/chronicle.ttl`; the former
80
+ `@chronicle.app/schema/schema.ttl` export remains an alias for compatibility.
81
+
82
+ Use patch releases for description corrections that preserve meaning, minor
83
+ releases for compatible vocabulary additions, and major releases for removed
84
+ terms, changed meanings, or incompatible constraints. These compatibility rules
85
+ also apply during `0.x`. Keep term identifiers such as
86
+ `https://schema.chronicle.app/Task` stable; introduce a new term and deprecate the
87
+ old one when its concept changes fundamentally.
88
+
89
+ Snapshot paths use the vocabulary version, not the npm package version.
90
+ The publication convention is
91
+ `https://schema.chronicle.app/releases/<version>/chronicle.ttl`, with matching
92
+ documentation under the same release path. Published snapshots must never be
93
+ overwritten or removed by later deployments. The unversioned `/chronicle.ttl`
94
+ and term pages should serve the latest released version, rather than unreleased
95
+ changes on `main`. Website hosting is not configured yet; see
96
+ [Preparing a release](../../RELEASING.md) for the release procedure.
97
+
98
+ The vocabulary is intentionally small. Add terms only when a plugin needs them,
99
+ keeping existing term identifiers and meanings stable; regenerate and add
100
+ focused tests alongside each addition.
101
+
102
+ Node.js 22.13+. MIT covers the ontology, generator, generated code, and docs;
103
+ see [LICENSE](LICENSE).
package/chronicle.ttl ADDED
@@ -0,0 +1,198 @@
1
+ # Chronicle's minimal extraction vocabulary. This is the canonical source.
2
+ @prefix : <https://schema.chronicle.app/> .
3
+ @prefix owl: <http://www.w3.org/2002/07/owl#> .
4
+ @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
5
+ @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
6
+
7
+ : a owl:Ontology;
8
+ owl:versionInfo "0.1.0" .
9
+
10
+ :Base a rdfs:Class;
11
+ rdfs:comment "The common base for entities and actions described by a source. Each node carries an identity, expressed as @key or @id, so it can be referenced across records." .
12
+ :Entity a rdfs:Class;
13
+ rdfs:subClassOf :Base;
14
+ rdfs:comment "A thing described by a source, such as a person, place, document, or web page. An entity represents the thing itself; actions record what happened to or with it." .
15
+ :Action a rdfs:Class;
16
+ rdfs:subClassOf :Base;
17
+ rdfs:comment "An occurrence recorded by a source, such as reading an article, sending a message, or visiting a place. Its :object identifies the entity the action was carried out on." .
18
+ :Text a rdfs:Class;
19
+ rdfs:comment "A literal string, used for values such as names and source identifiers. Text is carried directly as a property value and has no node identity of its own." .
20
+ :URL a rdfs:Class;
21
+ rdfs:comment "A Uniform Resource Locator expressed as an absolute URL string, such as https://example.com/article. Used for properties that locate a resource." .
22
+
23
+ :sourceId a rdf:Property;
24
+ rdfs:comment "The identifier assigned by the source to an entity or action, such as a record ID or message ID. Represented as text and scoped to the source's own namespace; it need not be globally unique.";
25
+ owl:maxCardinality 1;
26
+ :domainIncludes :Base;
27
+ :rangeIncludes :Text .
28
+ :name a rdf:Property;
29
+ rdfs:comment "The human-readable name or title of an entity, such as a person's display name, a document title, or a place name.";
30
+ owl:maxCardinality 1;
31
+ :domainIncludes :Entity;
32
+ :rangeIncludes :Text .
33
+ :url a rdf:Property;
34
+ rdfs:comment "A URL at which the entity can be found, such as a web page's address or a link to a source record.";
35
+ owl:maxCardinality 1;
36
+ :domainIncludes :Entity;
37
+ :rangeIncludes :URL .
38
+ :object a rdf:Property;
39
+ rdfs:comment "The entity an action is carried out on, such as the article being read, the message being sent, or the place being visited. For movement, the :object identifies where the movement began.";
40
+ owl:maxCardinality 1;
41
+ :domainIncludes :Action;
42
+ :rangeIncludes :Entity .
43
+
44
+ :DateTime a rdfs:Class;
45
+ rdfs:comment "An instant anchored in time, including a date and time of day. Represented as a JavaScript Date in extracted records; use only when the source provides enough information to identify an instant." .
46
+ :Agent a rdfs:Class;
47
+ rdfs:subClassOf :Entity;
48
+ rdfs:comment "An entity capable of performing an action, such as a person, organization, or software agent. An action's :agent identifies its doer when known." .
49
+ :Task a rdfs:Class;
50
+ rdfs:subClassOf :Entity;
51
+ rdfs:comment "A unit of work to be done, such as a to-do item. The task carries its :name and :description; actions record its planning, updates, completion, or cancellation." .
52
+ :Collection a rdfs:Class;
53
+ rdfs:subClassOf :Entity;
54
+ rdfs:comment "A grouping of entities declared by a source, such as a list, an area of responsibility, or a section within a project. Members link to the collection through :isPartOf." .
55
+ :Project a rdfs:Class;
56
+ rdfs:subClassOf :Collection;
57
+ rdfs:comment "An organized undertaking that groups related work toward an outcome. Tasks and other constituent entities link to the project through :isPartOf." .
58
+ :Tag a rdfs:Class;
59
+ rdfs:subClassOf :Entity;
60
+ rdfs:comment "A label used by a source to categorize or describe entities. Represented as an entity with its own identity so the same tag can be referenced by multiple records." .
61
+ :PlanAction a rdfs:Class;
62
+ rdfs:subClassOf :Action;
63
+ rdfs:comment "The act of establishing an intention to do something, such as creating a to-do item. The :object identifies the planned work; the :timestamp records when the plan was made." .
64
+ :UpdateAction a rdfs:Class;
65
+ rdfs:subClassOf :Action;
66
+ rdfs:comment "A change to an existing entity, such as editing a task's title or notes. The :object identifies the entity that was changed." .
67
+ :CompleteAction a rdfs:Class;
68
+ rdfs:subClassOf :Action;
69
+ rdfs:comment "The completion of an activity or piece of work, such as finishing a task or a book. The :object identifies what was completed." .
70
+ :CancelAction a rdfs:Class;
71
+ rdfs:subClassOf :Action;
72
+ rdfs:comment "The withdrawal of a plan or intended activity, such as cancelling a task. The :object identifies what was cancelled." .
73
+ :DeleteAction a rdfs:Class;
74
+ rdfs:subClassOf :Action;
75
+ rdfs:comment "The removal of an entity from its source, including moving an item to the trash. The :object identifies what was removed." .
76
+ :source a rdf:Property;
77
+ rdfs:comment "The source system that describes the entity or action, such as things-todo. Provides the source namespace in which identifiers such as :sourceId are interpreted.";
78
+ owl:maxCardinality 1;
79
+ :domainIncludes :Base;
80
+ :rangeIncludes :Text .
81
+ :timestamp a rdf:Property;
82
+ rdfs:comment "The instant when the action occurred, as reported by the source. Records occurrence time, not the time Chronicle extracted the record.";
83
+ owl:maxCardinality 1;
84
+ :domainIncludes :Action;
85
+ :rangeIncludes :DateTime .
86
+ :agent a rdf:Property;
87
+ rdfs:comment "The doer of the action, when identified by the source. Omit when no doer is known; an occurrence can be recorded without an agent.";
88
+ owl:maxCardinality 1;
89
+ :domainIncludes :Action;
90
+ :rangeIncludes :Agent .
91
+ :sameAs a rdf:Property;
92
+ rdfs:comment "Another reference to the same entity, expressed as an entity node or a textual identity reference such as @me. Asserts shared identity, rather than similarity or association.";
93
+ :domainIncludes :Entity;
94
+ :rangeIncludes :Entity, :Text .
95
+ :description a rdf:Property;
96
+ rdfs:comment "Descriptive text supplied by the source about an entity, such as a task's notes or a project's summary.";
97
+ owl:maxCardinality 1;
98
+ :domainIncludes :Entity;
99
+ :rangeIncludes :Text .
100
+ :handle a rdf:Property;
101
+ rdfs:comment "A contextual identifier for an entity within its namespace, such as a username, channel slug, or tag label. Its meaning depends on the source or context in which it is used.";
102
+ owl:maxCardinality 1;
103
+ :domainIncludes :Entity;
104
+ :rangeIncludes :Text .
105
+ :isPartOf a rdf:Property;
106
+ rdfs:comment "An entity that this entity forms part of, such as a task's project or collection, or the page containing an excerpt. Each value identifies a containing whole.";
107
+ :domainIncludes :Entity;
108
+ :rangeIncludes :Entity .
109
+ :about a rdf:Property;
110
+ rdfs:comment "An entity representing the subject matter of this entity, such as a topic or tag describing what a task concerns.";
111
+ :domainIncludes :Entity;
112
+ :rangeIncludes :Entity .
113
+
114
+ :Command a rdfs:Class;
115
+ rdfs:subClassOf :Entity;
116
+ rdfs:comment "An instruction issued to a computer, such as a shell command. Its :body carries the command text; an :ExecuteAction records an execution of it." .
117
+ :Person a rdfs:Class;
118
+ rdfs:subClassOf :Agent;
119
+ rdfs:comment "A human individual represented by a source, such as a message participant or computer user." .
120
+ :Realm a rdfs:Class;
121
+ rdfs:subClassOf :Entity;
122
+ rdfs:comment "A bounded account or computing domain, such as a workspace, computer system, or email domain. Agents belong to it through :memberOf; entities located within it use :inRealm." .
123
+ :ExecuteAction a rdfs:Class;
124
+ rdfs:subClassOf :Action;
125
+ rdfs:comment "The execution of a command or software resource. The :object identifies what was executed; :agent identifies the doer when known." .
126
+ :body a rdf:Property;
127
+ rdfs:comment "The textual content of an entity, such as a shell command or message, as supplied by the source.";
128
+ owl:maxCardinality 1;
129
+ :domainIncludes :Entity;
130
+ :rangeIncludes :Text .
131
+ :memberOf a rdf:Property;
132
+ rdfs:comment "An entity the agent belongs to, such as a realm representing the computer system in which a user account exists.";
133
+ :domainIncludes :Agent;
134
+ :rangeIncludes :Entity .
135
+
136
+ :Message a rdfs:Class;
137
+ rdfs:subClassOf :Entity;
138
+ rdfs:comment "A communicated item, such as a text message or chat reply. Its :body carries text, :contains links attachments, and :recipient identifies the intended receivers." .
139
+ :MessageAction a rdfs:Class;
140
+ rdfs:subClassOf :Action;
141
+ rdfs:comment "The sending of a message. The :object identifies the message and :agent identifies the sender when known." .
142
+ :MediaObject a rdfs:Class;
143
+ rdfs:subClassOf :Entity;
144
+ rdfs:comment "A media artifact, such as an image, audio recording, video, or document. Its :contentPath or :url locates the content, and :mimeType describes its format." .
145
+ :ImageObject a rdfs:Class;
146
+ rdfs:subClassOf :MediaObject;
147
+ rdfs:comment "An image artifact, such as a photograph, screenshot, or image attachment." .
148
+ :AudioObject a rdfs:Class;
149
+ rdfs:subClassOf :MediaObject;
150
+ rdfs:comment "An audio artifact, such as a voice message, music file, or sound recording." .
151
+ :VideoObject a rdfs:Class;
152
+ rdfs:subClassOf :MediaObject;
153
+ rdfs:comment "A video artifact, such as a recorded clip or video attachment, which may include audio." .
154
+ :DocumentObject a rdfs:Class;
155
+ rdfs:subClassOf :MediaObject;
156
+ rdfs:comment "A document artifact, such as a PDF, text file, or document attachment." .
157
+ :recipient a rdf:Property;
158
+ rdfs:comment "An agent the message was directed to. A message can have multiple recipients, such as the other participants in a group conversation.";
159
+ :domainIncludes :Message;
160
+ :rangeIncludes :Agent .
161
+ :contains a rdf:Property;
162
+ rdfs:comment "A media artifact carried by a message, such as an attached image, voice recording, video, or document.";
163
+ :domainIncludes :Message;
164
+ :rangeIncludes :MediaObject .
165
+ :contentPath a rdf:Property;
166
+ rdfs:comment "An absolute filesystem path to the local file containing the media bytes. Describes where the extracted content is available on the source machine.";
167
+ owl:maxCardinality 1;
168
+ :domainIncludes :MediaObject;
169
+ :rangeIncludes :Text .
170
+ :mimeType a rdf:Property;
171
+ rdfs:comment "The MIME type of the media content, such as image/jpeg, audio/mp4, or application/pdf.";
172
+ owl:maxCardinality 1;
173
+ :domainIncludes :MediaObject;
174
+ :rangeIncludes :Text .
175
+
176
+ :SoftwareAgent a rdfs:Class;
177
+ rdfs:subClassOf :Agent;
178
+ rdfs:comment "Running software acting as a participant, such as an assistant, bot, or automation. It can be the :agent of an action or the :author of a message." .
179
+ :SoftwareApplication a rdfs:Class;
180
+ rdfs:subClassOf :Entity;
181
+ rdfs:comment "A software application or model used to perform work. An action can identify it through :instrument, using the source-provided application or model identifier." .
182
+ :Thread a rdfs:Class;
183
+ rdfs:subClassOf :Collection;
184
+ rdfs:comment "A conversation explicitly grouped by its source, such as an email thread or assistant chat. Messages link to it through :isPartOf; its :name can carry the conversation title." .
185
+ :instrument a rdf:Property;
186
+ rdfs:comment "The tool, device, application, or model used to perform an action. The :agent identifies who acted; :instrument identifies what they used.";
187
+ owl:maxCardinality 1;
188
+ :domainIncludes :Action;
189
+ :rangeIncludes :Entity .
190
+ :author a rdf:Property;
191
+ rdfs:comment "An agent that authored the message content, such as a person or software assistant.";
192
+ :domainIncludes :Message;
193
+ :rangeIncludes :Agent .
194
+ :inRealm a rdf:Property;
195
+ rdfs:comment "The realm in which an entity resides, such as the computer system hosting a conversation or file. Provides context for identifiers that are local to that realm.";
196
+ owl:maxCardinality 1;
197
+ :domainIncludes :Entity;
198
+ :rangeIncludes :Realm .
@@ -0,0 +1,2 @@
1
+ export * from './schema.js';
2
+ //# sourceMappingURL=index.d.ts.map
package/dist/index.js ADDED
@@ -0,0 +1 @@
1
+ export * from './schema.js';
@@ -0,0 +1,192 @@
1
+ export declare const SCHEMA_VERSION: "0.1.0";
2
+ import { z } from 'zod';
3
+ export type KeyField = string | {
4
+ key: string;
5
+ value: string;
6
+ };
7
+ export interface Base {
8
+ '@type': 'Base';
9
+ source?: string;
10
+ sourceId?: string;
11
+ '@key'?: KeyField[];
12
+ '@id'?: string;
13
+ }
14
+ export type BaseAndChildren = Base | ActionAndChildren | EntityAndChildren;
15
+ export declare const BaseSchema: z.ZodType<Base>;
16
+ export interface Action extends Omit<Base, '@type'> {
17
+ '@type': 'Action';
18
+ agent?: AgentAndChildren;
19
+ instrument?: EntityAndChildren;
20
+ object?: EntityAndChildren;
21
+ timestamp?: Date;
22
+ }
23
+ export type ActionAndChildren = Action | CancelActionAndChildren | CompleteActionAndChildren | DeleteActionAndChildren | ExecuteActionAndChildren | MessageActionAndChildren | PlanActionAndChildren | UpdateActionAndChildren;
24
+ export declare const ActionSchema: z.ZodType<Action>;
25
+ export interface Entity extends Omit<Base, '@type'> {
26
+ '@type': 'Entity';
27
+ about?: EntityAndChildren[];
28
+ body?: string;
29
+ description?: string;
30
+ handle?: string;
31
+ inRealm?: RealmAndChildren;
32
+ isPartOf?: EntityAndChildren[];
33
+ name?: string;
34
+ sameAs?: (EntityAndChildren | string)[];
35
+ url?: string;
36
+ }
37
+ export type EntityAndChildren = Entity | AgentAndChildren | CollectionAndChildren | CommandAndChildren | MediaObjectAndChildren | MessageAndChildren | RealmAndChildren | SoftwareApplicationAndChildren | TagAndChildren | TaskAndChildren;
38
+ export declare const EntitySchema: z.ZodType<Entity>;
39
+ export interface Agent extends Omit<Entity, '@type'> {
40
+ '@type': 'Agent';
41
+ memberOf?: EntityAndChildren[];
42
+ }
43
+ export type AgentAndChildren = Agent | PersonAndChildren | SoftwareAgentAndChildren;
44
+ export declare const AgentSchema: z.ZodType<Agent>;
45
+ export interface MediaObject extends Omit<Entity, '@type'> {
46
+ '@type': 'MediaObject';
47
+ contentPath?: string;
48
+ mimeType?: string;
49
+ }
50
+ export type MediaObjectAndChildren = MediaObject | AudioObjectAndChildren | DocumentObjectAndChildren | ImageObjectAndChildren | VideoObjectAndChildren;
51
+ export declare const MediaObjectSchema: z.ZodType<MediaObject>;
52
+ export interface AudioObject extends Omit<MediaObject, '@type'> {
53
+ '@type': 'AudioObject';
54
+ }
55
+ export type AudioObjectAndChildren = AudioObject;
56
+ export declare const AudioObjectSchema: z.ZodType<AudioObject>;
57
+ export interface CancelAction extends Omit<Action, '@type'> {
58
+ '@type': 'CancelAction';
59
+ }
60
+ export type CancelActionAndChildren = CancelAction;
61
+ export declare const CancelActionSchema: z.ZodType<CancelAction>;
62
+ export interface Collection extends Omit<Entity, '@type'> {
63
+ '@type': 'Collection';
64
+ }
65
+ export type CollectionAndChildren = Collection | ProjectAndChildren | ThreadAndChildren;
66
+ export declare const CollectionSchema: z.ZodType<Collection>;
67
+ export interface Command extends Omit<Entity, '@type'> {
68
+ '@type': 'Command';
69
+ }
70
+ export type CommandAndChildren = Command;
71
+ export declare const CommandSchema: z.ZodType<Command>;
72
+ export interface CompleteAction extends Omit<Action, '@type'> {
73
+ '@type': 'CompleteAction';
74
+ }
75
+ export type CompleteActionAndChildren = CompleteAction;
76
+ export declare const CompleteActionSchema: z.ZodType<CompleteAction>;
77
+ export interface DeleteAction extends Omit<Action, '@type'> {
78
+ '@type': 'DeleteAction';
79
+ }
80
+ export type DeleteActionAndChildren = DeleteAction;
81
+ export declare const DeleteActionSchema: z.ZodType<DeleteAction>;
82
+ export interface DocumentObject extends Omit<MediaObject, '@type'> {
83
+ '@type': 'DocumentObject';
84
+ }
85
+ export type DocumentObjectAndChildren = DocumentObject;
86
+ export declare const DocumentObjectSchema: z.ZodType<DocumentObject>;
87
+ export interface ExecuteAction extends Omit<Action, '@type'> {
88
+ '@type': 'ExecuteAction';
89
+ }
90
+ export type ExecuteActionAndChildren = ExecuteAction;
91
+ export declare const ExecuteActionSchema: z.ZodType<ExecuteAction>;
92
+ export interface ImageObject extends Omit<MediaObject, '@type'> {
93
+ '@type': 'ImageObject';
94
+ }
95
+ export type ImageObjectAndChildren = ImageObject;
96
+ export declare const ImageObjectSchema: z.ZodType<ImageObject>;
97
+ export interface Message extends Omit<Entity, '@type'> {
98
+ '@type': 'Message';
99
+ author?: AgentAndChildren[];
100
+ contains?: MediaObjectAndChildren[];
101
+ recipient?: AgentAndChildren[];
102
+ }
103
+ export type MessageAndChildren = Message;
104
+ export declare const MessageSchema: z.ZodType<Message>;
105
+ export interface MessageAction extends Omit<Action, '@type'> {
106
+ '@type': 'MessageAction';
107
+ }
108
+ export type MessageActionAndChildren = MessageAction;
109
+ export declare const MessageActionSchema: z.ZodType<MessageAction>;
110
+ export interface Person extends Omit<Agent, '@type'> {
111
+ '@type': 'Person';
112
+ }
113
+ export type PersonAndChildren = Person;
114
+ export declare const PersonSchema: z.ZodType<Person>;
115
+ export interface PlanAction extends Omit<Action, '@type'> {
116
+ '@type': 'PlanAction';
117
+ }
118
+ export type PlanActionAndChildren = PlanAction;
119
+ export declare const PlanActionSchema: z.ZodType<PlanAction>;
120
+ export interface Project extends Omit<Collection, '@type'> {
121
+ '@type': 'Project';
122
+ }
123
+ export type ProjectAndChildren = Project;
124
+ export declare const ProjectSchema: z.ZodType<Project>;
125
+ export interface Realm extends Omit<Entity, '@type'> {
126
+ '@type': 'Realm';
127
+ }
128
+ export type RealmAndChildren = Realm;
129
+ export declare const RealmSchema: z.ZodType<Realm>;
130
+ export interface SoftwareAgent extends Omit<Agent, '@type'> {
131
+ '@type': 'SoftwareAgent';
132
+ }
133
+ export type SoftwareAgentAndChildren = SoftwareAgent;
134
+ export declare const SoftwareAgentSchema: z.ZodType<SoftwareAgent>;
135
+ export interface SoftwareApplication extends Omit<Entity, '@type'> {
136
+ '@type': 'SoftwareApplication';
137
+ }
138
+ export type SoftwareApplicationAndChildren = SoftwareApplication;
139
+ export declare const SoftwareApplicationSchema: z.ZodType<SoftwareApplication>;
140
+ export interface Tag extends Omit<Entity, '@type'> {
141
+ '@type': 'Tag';
142
+ }
143
+ export type TagAndChildren = Tag;
144
+ export declare const TagSchema: z.ZodType<Tag>;
145
+ export interface Task extends Omit<Entity, '@type'> {
146
+ '@type': 'Task';
147
+ }
148
+ export type TaskAndChildren = Task;
149
+ export declare const TaskSchema: z.ZodType<Task>;
150
+ export interface Thread extends Omit<Collection, '@type'> {
151
+ '@type': 'Thread';
152
+ }
153
+ export type ThreadAndChildren = Thread;
154
+ export declare const ThreadSchema: z.ZodType<Thread>;
155
+ export interface UpdateAction extends Omit<Action, '@type'> {
156
+ '@type': 'UpdateAction';
157
+ }
158
+ export type UpdateActionAndChildren = UpdateAction;
159
+ export declare const UpdateActionSchema: z.ZodType<UpdateAction>;
160
+ export interface VideoObject extends Omit<MediaObject, '@type'> {
161
+ '@type': 'VideoObject';
162
+ }
163
+ export type VideoObjectAndChildren = VideoObject;
164
+ export declare const VideoObjectSchema: z.ZodType<VideoObject>;
165
+ export declare const VideoObjectAndChildrenSchema: z.ZodType<VideoObject, z.ZodTypeDef, VideoObject>;
166
+ export declare const UpdateActionAndChildrenSchema: z.ZodType<UpdateAction, z.ZodTypeDef, UpdateAction>;
167
+ export declare const ThreadAndChildrenSchema: z.ZodType<Thread, z.ZodTypeDef, Thread>;
168
+ export declare const TaskAndChildrenSchema: z.ZodType<Task, z.ZodTypeDef, Task>;
169
+ export declare const TagAndChildrenSchema: z.ZodType<Tag, z.ZodTypeDef, Tag>;
170
+ export declare const SoftwareApplicationAndChildrenSchema: z.ZodType<SoftwareApplication, z.ZodTypeDef, SoftwareApplication>;
171
+ export declare const SoftwareAgentAndChildrenSchema: z.ZodType<SoftwareAgent, z.ZodTypeDef, SoftwareAgent>;
172
+ export declare const RealmAndChildrenSchema: z.ZodType<Realm, z.ZodTypeDef, Realm>;
173
+ export declare const ProjectAndChildrenSchema: z.ZodType<Project, z.ZodTypeDef, Project>;
174
+ export declare const PlanActionAndChildrenSchema: z.ZodType<PlanAction, z.ZodTypeDef, PlanAction>;
175
+ export declare const PersonAndChildrenSchema: z.ZodType<Person, z.ZodTypeDef, Person>;
176
+ export declare const MessageActionAndChildrenSchema: z.ZodType<MessageAction, z.ZodTypeDef, MessageAction>;
177
+ export declare const MessageAndChildrenSchema: z.ZodType<Message, z.ZodTypeDef, Message>;
178
+ export declare const ImageObjectAndChildrenSchema: z.ZodType<ImageObject, z.ZodTypeDef, ImageObject>;
179
+ export declare const ExecuteActionAndChildrenSchema: z.ZodType<ExecuteAction, z.ZodTypeDef, ExecuteAction>;
180
+ export declare const DocumentObjectAndChildrenSchema: z.ZodType<DocumentObject, z.ZodTypeDef, DocumentObject>;
181
+ export declare const DeleteActionAndChildrenSchema: z.ZodType<DeleteAction, z.ZodTypeDef, DeleteAction>;
182
+ export declare const CompleteActionAndChildrenSchema: z.ZodType<CompleteAction, z.ZodTypeDef, CompleteAction>;
183
+ export declare const CommandAndChildrenSchema: z.ZodType<Command, z.ZodTypeDef, Command>;
184
+ export declare const CollectionAndChildrenSchema: z.ZodType<CollectionAndChildren>;
185
+ export declare const CancelActionAndChildrenSchema: z.ZodType<CancelAction, z.ZodTypeDef, CancelAction>;
186
+ export declare const AudioObjectAndChildrenSchema: z.ZodType<AudioObject, z.ZodTypeDef, AudioObject>;
187
+ export declare const MediaObjectAndChildrenSchema: z.ZodType<MediaObjectAndChildren>;
188
+ export declare const AgentAndChildrenSchema: z.ZodType<AgentAndChildren>;
189
+ export declare const EntityAndChildrenSchema: z.ZodType<EntityAndChildren>;
190
+ export declare const ActionAndChildrenSchema: z.ZodType<ActionAndChildren>;
191
+ export declare const BaseAndChildrenSchema: z.ZodType<BaseAndChildren>;
192
+ //# sourceMappingURL=schema.d.ts.map