queries are what someone would type to find this memory rather than a
description of what it holds, so several phrasings are worth giving. An entry
needs at least one query and at least one insight.
All three fields take any Iterable, and a generator is safe: each is copied
into an array before being validated and sent, so nothing is walked twice and
silently emptied.
Validation is per call rather than per batch, and that is the thing to know
before importing anything large. A batch above
Limits.maxImportMemories goes out as several calls, and each group is
checked only as its own call is built — so a blank field in a late entry
throws after the earlier groups have already been written, and no operation
id exists to undo them with. Check a long batch yourself before submitting
it.
One memory being imported.
queriesare what someone would type to find this memory rather than a description of what it holds, so several phrasings are worth giving. An entry needs at least one query and at least one insight.All three fields take any
Iterable, and a generator is safe: each is copied into an array before being validated and sent, so nothing is walked twice and silently emptied.Validation is per call rather than per batch, and that is the thing to know before importing anything large. A batch above Limits.maxImportMemories goes out as several calls, and each group is checked only as its own call is built — so a blank field in a late entry throws after the earlier groups have already been written, and no operation id exists to undo them with. Check a long batch yourself before submitting it.
tagsalone is optional, and the two caps on it differ: Limits.maxImportTagsPerMemory refuses, as the per-entry caps on queries and insights do, while DomainEntry.maxTagsPerQuery trims.See
MemoryOperations.createMemory — the call for knowledge learned during a task, which mints an operation id you can undo with.