@pinecall/dot 0.0.0-stage → 0.11.22
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 +202 -0
- package/README.md +316 -2
- package/dist/agent/index.d.ts +4 -0
- package/dist/agent/index.d.ts.map +1 -0
- package/dist/agent/index.js +3 -0
- package/dist/agent/index.js.map +1 -0
- package/dist/agent/tutor.d.ts +67 -0
- package/dist/agent/tutor.d.ts.map +1 -0
- package/dist/agent/tutor.js +351 -0
- package/dist/agent/tutor.js.map +1 -0
- package/dist/face/draw.d.ts +43 -0
- package/dist/face/draw.d.ts.map +1 -0
- package/dist/face/draw.js +74 -0
- package/dist/face/draw.js.map +1 -0
- package/dist/face/ear.d.ts +23 -0
- package/dist/face/ear.d.ts.map +1 -0
- package/dist/face/ear.js +111 -0
- package/dist/face/ear.js.map +1 -0
- package/dist/face/index.d.ts +23 -0
- package/dist/face/index.d.ts.map +1 -0
- package/dist/face/index.js +138 -0
- package/dist/face/index.js.map +1 -0
- package/dist/face/motion.d.ts +25 -0
- package/dist/face/motion.d.ts.map +1 -0
- package/dist/face/motion.js +58 -0
- package/dist/face/motion.js.map +1 -0
- package/dist/face/mouth.d.ts +45 -0
- package/dist/face/mouth.d.ts.map +1 -0
- package/dist/face/mouth.js +61 -0
- package/dist/face/mouth.js.map +1 -0
- package/dist/face/shape.d.ts +15 -0
- package/dist/face/shape.d.ts.map +1 -0
- package/dist/face/shape.js +50 -0
- package/dist/face/shape.js.map +1 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -0
- package/dist/page/page.d.ts +34 -0
- package/dist/page/page.d.ts.map +1 -0
- package/dist/page/page.js +218 -0
- package/dist/page/page.js.map +1 -0
- package/dist/page/roles.d.ts +10 -0
- package/dist/page/roles.d.ts.map +1 -0
- package/dist/page/roles.js +87 -0
- package/dist/page/roles.js.map +1 -0
- package/dist/pointer/card.d.ts +13 -0
- package/dist/pointer/card.d.ts.map +1 -0
- package/dist/pointer/card.js +75 -0
- package/dist/pointer/card.js.map +1 -0
- package/dist/pointer/code.d.ts +21 -0
- package/dist/pointer/code.d.ts.map +1 -0
- package/dist/pointer/code.js +147 -0
- package/dist/pointer/code.js.map +1 -0
- package/dist/pointer/flight.d.ts +30 -0
- package/dist/pointer/flight.d.ts.map +1 -0
- package/dist/pointer/flight.js +92 -0
- package/dist/pointer/flight.js.map +1 -0
- package/dist/pointer/hover.d.ts +20 -0
- package/dist/pointer/hover.d.ts.map +1 -0
- package/dist/pointer/hover.js +96 -0
- package/dist/pointer/hover.js.map +1 -0
- package/dist/pointer/menu.d.ts +48 -0
- package/dist/pointer/menu.d.ts.map +1 -0
- package/dist/pointer/menu.js +252 -0
- package/dist/pointer/menu.js.map +1 -0
- package/dist/pointer/person.d.ts +91 -0
- package/dist/pointer/person.d.ts.map +1 -0
- package/dist/pointer/person.js +345 -0
- package/dist/pointer/person.js.map +1 -0
- package/dist/pointer/sections.d.ts +24 -0
- package/dist/pointer/sections.d.ts.map +1 -0
- package/dist/pointer/sections.js +64 -0
- package/dist/pointer/sections.js.map +1 -0
- package/dist/pointer/syntax.d.ts +10 -0
- package/dist/pointer/syntax.d.ts.map +1 -0
- package/dist/pointer/syntax.js +61 -0
- package/dist/pointer/syntax.js.map +1 -0
- package/dist/pointer/typing.d.ts +6 -0
- package/dist/pointer/typing.d.ts.map +1 -0
- package/dist/pointer/typing.js +62 -0
- package/dist/pointer/typing.js.map +1 -0
- package/dist/tutor/captions.d.ts +22 -0
- package/dist/tutor/captions.d.ts.map +1 -0
- package/dist/tutor/captions.js +62 -0
- package/dist/tutor/captions.js.map +1 -0
- package/dist/tutor/macro.d.ts +19 -0
- package/dist/tutor/macro.d.ts.map +1 -0
- package/dist/tutor/macro.js +67 -0
- package/dist/tutor/macro.js.map +1 -0
- package/dist/tutor/options.d.ts +42 -0
- package/dist/tutor/options.d.ts.map +1 -0
- package/dist/tutor/options.js +3 -0
- package/dist/tutor/options.js.map +1 -0
- package/dist/tutor/tutor.d.ts +14 -0
- package/dist/tutor/tutor.d.ts.map +1 -0
- package/dist/tutor/tutor.js +389 -0
- package/dist/tutor/tutor.js.map +1 -0
- package/dist/tutor/views.d.ts +27 -0
- package/dist/tutor/views.d.ts.map +1 -0
- package/dist/tutor/views.js +63 -0
- package/dist/tutor/views.js.map +1 -0
- package/dist/tutor/walking.d.ts +44 -0
- package/dist/tutor/walking.d.ts.map +1 -0
- package/dist/tutor/walking.js +142 -0
- package/dist/tutor/walking.js.map +1 -0
- package/dist/tutor/walks.d.ts +46 -0
- package/dist/tutor/walks.d.ts.map +1 -0
- package/dist/tutor/walks.js +112 -0
- package/dist/tutor/walks.js.map +1 -0
- package/dist/wire/index.d.ts +133 -0
- package/dist/wire/index.d.ts.map +1 -0
- package/dist/wire/index.js +204 -0
- package/dist/wire/index.js.map +1 -0
- package/package.json +53 -3
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
/** What a tutored page and its agent say to each other: the page's events, and the cursor and macro messages it takes. */
|
|
2
|
+
//
|
|
3
|
+
// Both ride what a call already has. The page's facts go up as events (`call.event(name, data)`,
|
|
4
|
+
// the agent's `onEvent`); the agent's moves come down on `pinecall.ui`, beside its cards and
|
|
5
|
+
// choices, told apart by `type`.
|
|
6
|
+
/** The topic the agent sends on, and the page's `onUi` hears. */
|
|
7
|
+
export const UI = "pinecall.ui";
|
|
8
|
+
/**
|
|
9
|
+
* The page as the visitor sees it now: `{ text, why, lines }`, sent when it changed; after a move onto an
|
|
10
|
+
* element ended, `why` is `moved` and `at` the ref it moved to, when there was one. `lines` are what the
|
|
11
|
+
* site wrote for the agent to say, beside the element each is about.
|
|
12
|
+
*/
|
|
13
|
+
export const SEEN = "page.seen";
|
|
14
|
+
/** The `why` of the `page.seen` that answers a move onto an element. */
|
|
15
|
+
export const MOVED = "moved";
|
|
16
|
+
/** The visitor clicked something: `{ role, name }`. */
|
|
17
|
+
export const CLICKED = "page.clicked";
|
|
18
|
+
/** A target the agent named is not on the page: `{ target }`. A fresh `page.seen` follows. */
|
|
19
|
+
export const MISSING = "page.missing";
|
|
20
|
+
/** The visitor asked to hear an element's line, with its ▶: `{ at }`, the element's ref. */
|
|
21
|
+
export const EXPLAIN = "page.explain";
|
|
22
|
+
/** The visitor played one of the agent's walks with no call: `{ walk, step, of, done }`, sent as the next call opens. */
|
|
23
|
+
export const WALKED = "page.walked";
|
|
24
|
+
/** The name the agent publishes its recorded walks under, which the page reads with no key. */
|
|
25
|
+
export const WALKS = "walks";
|
|
26
|
+
/**
|
|
27
|
+
* What the pointer can do. `type` fills a field with what the visitor said: it never submits a form,
|
|
28
|
+
* clicks, or leaves the page for them, and never touches a password or a card.
|
|
29
|
+
*/
|
|
30
|
+
export const ACTIONS = ["point", "highlight", "unhighlight", "scroll_to", "here", "home", "type"];
|
|
31
|
+
/** A target that is a ref of the snapshot rather than a name. */
|
|
32
|
+
export const A_REF = /^e\d+$/;
|
|
33
|
+
/** What a step shows, checked; null for one that is not: a window with no title or text, lines out of order. */
|
|
34
|
+
export function shownOf(fields) {
|
|
35
|
+
const { code, lines } = fields;
|
|
36
|
+
const shown = {};
|
|
37
|
+
if (code === null)
|
|
38
|
+
shown.code = null;
|
|
39
|
+
else if (code !== undefined) {
|
|
40
|
+
if (typeof code !== "object")
|
|
41
|
+
return null;
|
|
42
|
+
const window = { ...code };
|
|
43
|
+
if (typeof window["title"] !== "string" || typeof window["text"] !== "string" || window["text"] === "")
|
|
44
|
+
return null;
|
|
45
|
+
shown.code = { title: window["title"], text: window["text"] };
|
|
46
|
+
}
|
|
47
|
+
if (lines !== undefined) {
|
|
48
|
+
if (!Array.isArray(lines) || lines.length !== 2)
|
|
49
|
+
return null;
|
|
50
|
+
const [from, to] = lines;
|
|
51
|
+
if (typeof from !== "number" || typeof to !== "number" || !Number.isInteger(from) || !Number.isInteger(to) || from < 1 || to < from)
|
|
52
|
+
return null;
|
|
53
|
+
shown.lines = [from, to];
|
|
54
|
+
}
|
|
55
|
+
return shown;
|
|
56
|
+
}
|
|
57
|
+
const isAction = (value) => typeof value === "string" && ACTIONS.some((one) => one === value);
|
|
58
|
+
const optionalText = (value) => value === undefined || typeof value === "string";
|
|
59
|
+
function isBeat(value) {
|
|
60
|
+
if (typeof value !== "object" || value === null)
|
|
61
|
+
return false;
|
|
62
|
+
const beat = { ...value };
|
|
63
|
+
const find = beat["find"];
|
|
64
|
+
const found = find === undefined || (Array.isArray(find) && find.length === 2 && find.every((part) => typeof part === "string"));
|
|
65
|
+
const nth = beat["nth"];
|
|
66
|
+
// A beat has no words to type: a macro shows, and the agent fills a field only with what the visitor said.
|
|
67
|
+
const move = beat["do"];
|
|
68
|
+
return typeof beat["word"] === "string" && isAction(move) && move !== "type" && found && (nth === undefined || (typeof nth === "number" && nth >= 1));
|
|
69
|
+
}
|
|
70
|
+
/** A message on `pinecall.ui` the tutor carries out, or null for one that is not its own (a card, choices). */
|
|
71
|
+
export function tutoring(data) {
|
|
72
|
+
if (typeof data !== "object" || data === null)
|
|
73
|
+
return null;
|
|
74
|
+
const message = { ...data };
|
|
75
|
+
if (message["type"] === "look")
|
|
76
|
+
return { type: "look" };
|
|
77
|
+
if (message["type"] === "macro.done" && typeof message["macro"] === "string")
|
|
78
|
+
return { type: "macro.done", macro: message["macro"] };
|
|
79
|
+
const action = message["action"];
|
|
80
|
+
if (message["type"] === "cursor" && isAction(action) && optionalText(message["target"]) && optionalText(message["text"])) {
|
|
81
|
+
if (action === "type" && (message["target"] === undefined || message["text"] === undefined))
|
|
82
|
+
return null;
|
|
83
|
+
return { type: "cursor", action, target: message["target"], text: message["text"] };
|
|
84
|
+
}
|
|
85
|
+
const beats = message["beats"];
|
|
86
|
+
if (message["type"] === "macro.step" &&
|
|
87
|
+
typeof message["macro"] === "string" &&
|
|
88
|
+
typeof message["step"] === "number" &&
|
|
89
|
+
typeof message["say"] === "string" &&
|
|
90
|
+
Array.isArray(beats) &&
|
|
91
|
+
beats.every(isBeat)) {
|
|
92
|
+
const shown = shownOf(message);
|
|
93
|
+
if (shown === null)
|
|
94
|
+
return null;
|
|
95
|
+
return { type: "macro.step", macro: message["macro"], step: message["step"], say: message["say"], beats, ...shown };
|
|
96
|
+
}
|
|
97
|
+
return null;
|
|
98
|
+
}
|
|
99
|
+
/** The lines a `page.seen` carries, each checked; anything else in it is left out. */
|
|
100
|
+
export function linesOf(value) {
|
|
101
|
+
if (!Array.isArray(value))
|
|
102
|
+
return [];
|
|
103
|
+
return value.flatMap((item) => {
|
|
104
|
+
if (typeof item !== "object" || item === null)
|
|
105
|
+
return [];
|
|
106
|
+
const line = { ...item };
|
|
107
|
+
const { at, say } = line;
|
|
108
|
+
const move = line["do"];
|
|
109
|
+
if (typeof at !== "string" || !A_REF.test(at) || typeof say !== "string" || say.trim() === "")
|
|
110
|
+
return [];
|
|
111
|
+
if (move !== "point" && move !== "highlight" && move !== "scroll_to")
|
|
112
|
+
return [];
|
|
113
|
+
return [{ at, say, do: move }];
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
const isWord = (value) => {
|
|
117
|
+
if (typeof value !== "object" || value === null)
|
|
118
|
+
return false;
|
|
119
|
+
const word = { ...value };
|
|
120
|
+
return typeof word["text"] === "string" && typeof word["startMs"] === "number" && typeof word["endMs"] === "number";
|
|
121
|
+
};
|
|
122
|
+
function stepOf(value) {
|
|
123
|
+
if (typeof value !== "object" || value === null)
|
|
124
|
+
return null;
|
|
125
|
+
const step = { ...value };
|
|
126
|
+
const { say, audio, durationMs, words, beats } = step;
|
|
127
|
+
if (typeof say !== "string" || typeof audio !== "string" || !/^https?:\/\//.test(audio) || typeof durationMs !== "number")
|
|
128
|
+
return null;
|
|
129
|
+
if (!Array.isArray(words) || !words.every(isWord) || !Array.isArray(beats) || !beats.every(isBeat))
|
|
130
|
+
return null;
|
|
131
|
+
const shown = shownOf(step);
|
|
132
|
+
return shown === null ? null : { say, audio, durationMs, words, beats, ...shown };
|
|
133
|
+
}
|
|
134
|
+
/** The walks a published document holds, each checked: a walk with any step that is not one is left out. */
|
|
135
|
+
export function walksOf(value) {
|
|
136
|
+
if (typeof value !== "object" || value === null)
|
|
137
|
+
return [];
|
|
138
|
+
const document = { ...value };
|
|
139
|
+
const listed = document["walks"];
|
|
140
|
+
if (!Array.isArray(listed))
|
|
141
|
+
return [];
|
|
142
|
+
return listed.flatMap((item) => {
|
|
143
|
+
if (typeof item !== "object" || item === null)
|
|
144
|
+
return [];
|
|
145
|
+
const walk = { ...item };
|
|
146
|
+
const { name, title, when, steps } = walk;
|
|
147
|
+
if (typeof name !== "string" || typeof title !== "string" || !Array.isArray(steps) || steps.length === 0)
|
|
148
|
+
return [];
|
|
149
|
+
const checked = steps.map(stepOf);
|
|
150
|
+
if (checked.some((step) => step === null))
|
|
151
|
+
return [];
|
|
152
|
+
return [{ name, title, when: typeof when === "string" ? when : undefined, steps: checked.filter((step) => step !== null) }];
|
|
153
|
+
});
|
|
154
|
+
}
|
|
155
|
+
/** A macro as its JSON file says it, checked; it throws naming what is wrong, at the class's load. */
|
|
156
|
+
export function macroOf(name, value) {
|
|
157
|
+
if (typeof value !== "object" || value === null)
|
|
158
|
+
throw new Error(`macro ${name}: not a JSON object`);
|
|
159
|
+
const macro = { ...value };
|
|
160
|
+
const steps = macro["steps"];
|
|
161
|
+
if (!Array.isArray(steps) || steps.length === 0)
|
|
162
|
+
throw new Error(`macro ${name}: no steps`);
|
|
163
|
+
const checked = steps.map((step, at) => {
|
|
164
|
+
if (typeof step !== "object" || step === null)
|
|
165
|
+
throw new Error(`macro ${name}: step ${at + 1} is not an object`);
|
|
166
|
+
const fields = { ...step };
|
|
167
|
+
const say = fields["say"];
|
|
168
|
+
const beats = fields["beats"] ?? [];
|
|
169
|
+
if (typeof say !== "string" || say.trim() === "")
|
|
170
|
+
throw new Error(`macro ${name}: step ${at + 1} says nothing`);
|
|
171
|
+
if (!Array.isArray(beats) || !beats.every(isBeat))
|
|
172
|
+
throw new Error(`macro ${name}: step ${at + 1} has a beat that is not {word, do, find?, nth?}`);
|
|
173
|
+
for (const beat of beats) {
|
|
174
|
+
if (!wordsOf(say).some((word) => word === normal(beat.word)))
|
|
175
|
+
throw new Error(`macro ${name}: step ${at + 1} never says "${beat.word}"`);
|
|
176
|
+
}
|
|
177
|
+
const shown = shownOf(fields);
|
|
178
|
+
if (shown === null)
|
|
179
|
+
throw new Error(`macro ${name}: step ${at + 1} shows code that is not {code: {title, text} or null, lines: [from, to]}`);
|
|
180
|
+
return { say, beats, ...shown };
|
|
181
|
+
});
|
|
182
|
+
const when = macro["when"];
|
|
183
|
+
const title = macro["title"];
|
|
184
|
+
return {
|
|
185
|
+
name: typeof macro["name"] === "string" ? macro["name"] : name,
|
|
186
|
+
title: typeof title === "string" ? title : undefined,
|
|
187
|
+
when: typeof when === "string" ? when : undefined,
|
|
188
|
+
steps: checked,
|
|
189
|
+
};
|
|
190
|
+
}
|
|
191
|
+
/** A length in ms as a clock says it: `0:38`. */
|
|
192
|
+
export function clock(ms) {
|
|
193
|
+
const seconds = Math.round(ms / 1000);
|
|
194
|
+
return `${Math.floor(seconds / 60)}:${String(seconds % 60).padStart(2, "0")}`;
|
|
195
|
+
}
|
|
196
|
+
/** A word as two texts are compared: lower case, letters and digits alone. */
|
|
197
|
+
export function normal(word) {
|
|
198
|
+
return word.toLowerCase().replace(/[^\p{L}\p{N}]+/gu, "");
|
|
199
|
+
}
|
|
200
|
+
/** A sentence's words, normalised, the empty ones left out. */
|
|
201
|
+
export function wordsOf(text) {
|
|
202
|
+
return text.split(/\s+/).map(normal).filter((word) => word !== "");
|
|
203
|
+
}
|
|
204
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/wire/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,56 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pinecall/dot",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"
|
|
5
|
-
"
|
|
3
|
+
"version": "0.11.22",
|
|
4
|
+
"description": "The talking dot: a face that speaks with the agent's voice, and a tutor that walks the page with a pointer of its own",
|
|
5
|
+
"license": "Apache-2.0",
|
|
6
|
+
"author": "Pinecall <hello@pinecall.io>",
|
|
7
|
+
"repository": {
|
|
8
|
+
"type": "git",
|
|
9
|
+
"url": "git+https://github.com/pinecall/pinecall.git",
|
|
10
|
+
"directory": "packages/dot"
|
|
11
|
+
},
|
|
12
|
+
"type": "module",
|
|
13
|
+
"sideEffects": false,
|
|
14
|
+
"main": "./dist/index.js",
|
|
15
|
+
"types": "./dist/index.d.ts",
|
|
16
|
+
"exports": {
|
|
17
|
+
".": {
|
|
18
|
+
"types": "./dist/index.d.ts",
|
|
19
|
+
"import": "./dist/index.js"
|
|
20
|
+
},
|
|
21
|
+
"./agent": {
|
|
22
|
+
"types": "./dist/agent/index.d.ts",
|
|
23
|
+
"import": "./dist/agent/index.js"
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
"files": [
|
|
27
|
+
"dist"
|
|
28
|
+
],
|
|
29
|
+
"dependencies": {
|
|
30
|
+
"@pinecall/room": "^0.11.22"
|
|
31
|
+
},
|
|
32
|
+
"peerDependencies": {
|
|
33
|
+
"@pinecall/agents": "^0.11.22"
|
|
34
|
+
},
|
|
35
|
+
"peerDependenciesMeta": {
|
|
36
|
+
"@pinecall/agents": {
|
|
37
|
+
"optional": true
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
"devDependencies": {
|
|
41
|
+
"@types/node": "^26.4.1",
|
|
42
|
+
"happy-dom": "^20.14.5",
|
|
43
|
+
"livekit-client": "^2.22.3",
|
|
44
|
+
"typescript": "7.0.2",
|
|
45
|
+
"vitest": "^5.0.0",
|
|
46
|
+
"@pinecall/agents": "^0.11.22"
|
|
47
|
+
},
|
|
48
|
+
"engines": {
|
|
49
|
+
"node": ">=24"
|
|
50
|
+
},
|
|
51
|
+
"scripts": {
|
|
52
|
+
"build": "scripts/build",
|
|
53
|
+
"lint": "tsc -p tsconfig.lint.json",
|
|
54
|
+
"test": "vitest run"
|
|
55
|
+
}
|
|
6
56
|
}
|