altalandi 0.6.1 → 0.6.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +35 -12
- package/altalandi.mjs +32 -0
- package/auth.mjs +2 -4
- package/batch.mjs +257 -46
- package/client.d.ts +200 -122
- package/client.mjs +260 -219
- package/package.json +1 -1
- package/report.mjs +75 -13
- package/skill/SKILL.md +35 -19
- package/update.mjs +3 -0
package/skill/SKILL.md
CHANGED
|
@@ -14,7 +14,7 @@ description: >-
|
|
|
14
14
|
|
|
15
15
|
Altalandi rewrites English or stiff Icelandic so it reads as if a native wrote
|
|
16
16
|
it, checks that the meaning held, and lists every change with its reason. Each
|
|
17
|
-
call is paid from the user's free daily
|
|
17
|
+
call is paid from the user's free daily characters or their credit.
|
|
18
18
|
|
|
19
19
|
**Follow this procedure exactly, every time.** The user must always see the same
|
|
20
20
|
thing: the verdict, the text before and after, each change with its reason, what
|
|
@@ -27,7 +27,7 @@ yourself or summarise the result in your own words.
|
|
|
27
27
|
line, below. It waits up to 5 minutes per call and handles long texts.
|
|
28
28
|
- **No shell, only the Altalandi tools** (`refine_icelandic`,
|
|
29
29
|
`proofread_icelandic`, `get_refinement_status`, for example in claude.ai or
|
|
30
|
-
ChatGPT): use the tools, and follow "Long texts
|
|
30
|
+
ChatGPT): use the tools, and follow "Long texts in parts" below. The
|
|
31
31
|
tools cannot wait as long as the command line, so long texts go in parts.
|
|
32
32
|
|
|
33
33
|
How long a call takes: a few seconds for a sentence, 10–30 seconds for a
|
|
@@ -52,7 +52,7 @@ a check is rewritten once more, which can double that.
|
|
|
52
52
|
3. **Paste its stdout into your reply exactly as printed**, as the first thing in
|
|
53
53
|
your reply. It is Markdown: a verdict line, **Fyrir**, **Eftir**,
|
|
54
54
|
**Breytingar** (each change and its reason), **Kostnaður** (cost of this call,
|
|
55
|
-
balance and free
|
|
55
|
+
balance and free characters left) and **Verkið**, the run's own page. Do not
|
|
56
56
|
shorten, reorder, translate or reword it. The run page shows the user the
|
|
57
57
|
text sent, the result and the checks, and lets them approve, reject or edit
|
|
58
58
|
the result there; point them to it when they want to review the work.
|
|
@@ -70,24 +70,33 @@ a check is rewritten once more, which can double that.
|
|
|
70
70
|
of your own.
|
|
71
71
|
|
|
72
72
|
A document of several sections (more than about 3,000 characters) goes better
|
|
73
|
-
through the folder run below: it
|
|
73
|
+
through the folder run below: it refines and checks each passage on its own,
|
|
74
74
|
and a passage that fails keeps its original without holding up the rest. Save
|
|
75
75
|
the text as a `.md` file in an empty temporary folder and run the folder steps.
|
|
76
|
+
To send it in parts instead, follow "Long texts in parts".
|
|
76
77
|
|
|
77
|
-
## Long texts
|
|
78
|
+
## Long texts in parts
|
|
78
79
|
|
|
79
80
|
1. **Split the text into parts** at paragraph breaks, never inside a sentence:
|
|
80
81
|
at most **1,000 characters** a part for English, **1,500** for Icelandic.
|
|
81
82
|
Keep a heading with the paragraph under it. A list or a table stays in one
|
|
82
83
|
part when it fits.
|
|
83
|
-
2. **
|
|
84
|
-
|
|
84
|
+
2. **Command line: make one job id** for the whole text: `j_`, today's date
|
|
85
|
+
(yyyymmdd) and 6 random letters or digits, e.g. `j_20261013k4x9qa`. Run the
|
|
86
|
+
procedure once per part, in order, each with its own in and out files, and
|
|
87
|
+
add `--job <id> --part "Hluti N af M"` every time; on the first part add
|
|
88
|
+
`--job-title "<short name of the document>"` too. All parts are then one
|
|
89
|
+
verk on the site.
|
|
90
|
+
3. **Tools: call the tool once per part,** at most 3 at a time, in order. Give
|
|
91
|
+
every part its own new `operationId` (a fresh UUID). Keep a note of which ID
|
|
85
92
|
belongs to which part.
|
|
86
|
-
|
|
87
|
-
then each part's verdict and changes, as the tool returns
|
|
88
|
-
|
|
93
|
+
4. **Join the results in the original order** and give the user the whole text,
|
|
94
|
+
then each part's verdict and changes, as the command or the tool returns
|
|
95
|
+
them. With a job, end with its link once: `Verkið: <link>`, as the blocks
|
|
96
|
+
print it.
|
|
97
|
+
5. **A part that is refused or unverified keeps its original text.** Say which
|
|
89
98
|
part, and why (the tool says why). Never rewrite it yourself.
|
|
90
|
-
|
|
99
|
+
6. **Terms must match across parts.** If two parts translate the same term
|
|
91
100
|
differently, point it out and ask which to keep; do not quietly change one.
|
|
92
101
|
|
|
93
102
|
## If a call times out
|
|
@@ -120,10 +129,15 @@ charged at https://altalandi.is/stjornbord/notkun. With the tools:
|
|
|
120
129
|
- **Never hand-edit the Icelandic and present it as Altalandi's.** If you think
|
|
121
130
|
something should still change, say so separately under a heading such as
|
|
122
131
|
"Mín tillaga (ekki yfirfarin af Altalandi)", or ask before running it again.
|
|
123
|
-
- **One call per coherent text** (a page section, an email
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
132
|
+
- **One call per coherent text** (a page section, an email). Keep keys,
|
|
133
|
+
placeholders (`{name}`, `%s`), HTML and code out of the text you send. For a
|
|
134
|
+
whole folder, i18n catalog or website, use the folder run below instead.
|
|
135
|
+
- **Many short strings** (UI strings, an i18n catalog, a list of labels or
|
|
136
|
+
messages): **never call Altalandi once per string.** Put them in a JSON file
|
|
137
|
+
(`{"key": "English text", …}`) in an empty temporary folder, or use the
|
|
138
|
+
project's existing catalog folder, and run the folder run below on that folder
|
|
139
|
+
(`--dry-run` first). It sends short strings together in batches, which is
|
|
140
|
+
cheaper and faster, and still checks each string on its own.
|
|
127
141
|
- **Product names and coined words** the meaning check cannot recognise can make
|
|
128
142
|
it refuse a rewrite (exit 3, "ekki tókst að staðfesta"). That is the safe
|
|
129
143
|
result: keep the original and tell the user.
|
|
@@ -132,11 +146,13 @@ charged at https://altalandi.is/stjornbord/notkun. With the tools:
|
|
|
132
146
|
writes `./altalandi-reports/altalandi-<time>-<id>.md`, and the block shows
|
|
133
147
|
its path. Reports contain the text, so write them only when asked.
|
|
134
148
|
- **Don't use `--fast`** for text people will read: it skips the meaning check.
|
|
149
|
+
- **Cost is in characters and krónur,** as the block and the estimate show it.
|
|
150
|
+
Never work out or quote a price per 100 characters.
|
|
135
151
|
- If the user only wants spelling fixed and every other word kept, use the
|
|
136
152
|
`proofread_icelandic` tool where it is available. The command line rewrites:
|
|
137
153
|
tell the user it may rephrase, and go through the changes with them.
|
|
138
154
|
- Every call from a signed-in account is kept in that account's history for
|
|
139
|
-
|
|
155
|
+
as long as they keep it, so the run page can show it; only the account and its team see it,
|
|
140
156
|
and it can be deleted on the page or switched off in Settings. Separately,
|
|
141
157
|
free use is kept, with personal data scrubbed, to improve the service; paid
|
|
142
158
|
use only with consent. Add `--no-store` when the user asks that their text
|
|
@@ -152,7 +168,7 @@ check passed.
|
|
|
152
168
|
|
|
153
169
|
1. **Estimate first:** `npx -y altalandi@latest <folder or URL> --dry-run` (add
|
|
154
170
|
`--site` for a whole site). Show the user the estimate it prints: files,
|
|
155
|
-
passages, characters
|
|
171
|
+
passages, the characters billed and the price if paid from credit.
|
|
156
172
|
2. **Only when the user agrees,** run the same command with `--yes` in place of
|
|
157
173
|
`--dry-run`, with the shell timeout set to 10 minutes or in the background.
|
|
158
174
|
The result goes to `<folder>-is` unless they name a place (`--out <path>`).
|
|
@@ -169,12 +185,12 @@ Only when a call exits with 2 (`Not logged in`):
|
|
|
169
185
|
minutes.
|
|
170
186
|
2. As soon as it prints a link (`https://altalandi.is/tengja?kodi=XXXX-XXXX`) and
|
|
171
187
|
a code, show both to the user. Tell them to sign in or create an account
|
|
172
|
-
(
|
|
188
|
+
(a free daily allowance of characters, and 500 kr. of trial credit once they confirm their email) and
|
|
173
189
|
click **Tengja**.
|
|
174
190
|
3. When it prints `✓ Tengt sem <username>`, run step 2 of the procedure again.
|
|
175
191
|
|
|
176
192
|
Never ask the user for an API key, and do not tell them to set
|
|
177
193
|
`ALTALANDI_API_KEY`. `npx -y altalandi@latest whoami` shows the account, the
|
|
178
|
-
balance and the free
|
|
194
|
+
balance and the free characters left today at any time.
|
|
179
195
|
|
|
180
196
|
Docs for building the API into an app: https://altalandi.is/agents.md
|
package/update.mjs
CHANGED
|
@@ -140,6 +140,9 @@ export const SHIPPED_SKILLS = new Set([
|
|
|
140
140
|
"f7de208557f519a4", // 0.4.0
|
|
141
141
|
"4bd64565d251641e", // 0.5.0
|
|
142
142
|
"aeb88010599539fd", // 0.6.0
|
|
143
|
+
"ebfc4ef17a614973", // 0.6.1
|
|
144
|
+
"9def55ecc6b30785", // 0.6.2
|
|
145
|
+
"2168eaa25a5c561c", // after 0.6.2 (3c73702: stafir and krónur)
|
|
143
146
|
]);
|
|
144
147
|
|
|
145
148
|
export function skillFingerprint(text) {
|