@listen-fire/handbook 0.12.6 → 0.12.8

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.
@@ -71,7 +71,7 @@ write crm-[:Companies]-> {
71
71
  Values that come from the run itself rather than from any record wear an \`@\` prefix and read like any other value, anywhere an expression can appear. There are eight, in three groups:
72
72
 
73
73
  - \`@current_date\` (\`"2026-03-12"\`) and \`@current_timestamp\`, the moment the run fires, in UTC — \`Deadline: Date.addDays(@current_date, 14)\`. Every clock reading in a run gives that same moment, however long the run takes. For the date somewhere in particular, reach for \`Date.today(zone)\`.
74
- - \`@user_email\`, \`@user_name\`, \`@user_id\` — the identity the host resolves for the run: the person it acts *on behalf of*. The platform resolves it through its workspace members, \`lf\` through the project. Forwarders are followed back to the real person: a message forwarded in by a teammate still names the original sender, the person whose work this is.
74
+ - \`@user_email\`, \`@user_name\`, \`@user_id\` — the identity the host resolves for the run: the person it acts *on behalf of*. The platform resolves it through its workspace members, \`listen-fire\` through the project. Forwarders are followed back to the real person: a message forwarded in by a teammate still names the original sender, the person whose work this is.
75
75
  - \`@actor_email\`, \`@actor_name\`, \`@actor_id\` — whoever literally triggered the event in the source system, exactly as it reported them, member or not.
76
76
 
77
77
  The two agree until a forward, relay, or service account sits between the originator and the responsible person. A meta-field the run can't resolve — an event the host maps to no identity, a source that reports no sender — is simply empty, never an error.
@@ -37,8 +37,8 @@ and refuses any other by name:
37
37
  - a pin of an older key is refused; validate the text under the current release,
38
38
  then upgrade it
39
39
 
40
- An \`lf\` project pins in \`lf.yaml\`'s \`engine:\` (\`lf init\` writes the current
41
- release; \`lf upgrade\` moves it). An embedder pins with the run input's
40
+ A \`listen-fire\` project pins in \`lf.yaml\`'s \`engine:\` (\`listen-fire init\` writes the current
41
+ release; \`listen-fire upgrade\` moves it). An embedder pins with the run input's
42
42
  \`languageVersion\`; absent means the engine's own release.
43
43
 
44
44
  A warning on an automation says something keeps it on an older release: the
@@ -6,7 +6,7 @@ exports.runs = {
6
6
  title: 'Runs — reading what an automation did',
7
7
  content: `## Runs — reading what an automation did
8
8
 
9
- Every firing of an automation — a live event arriving, a "run now" backfill, a dry-run rehearsal — is recorded by the engine as a **run**: one record holding what the automation wrote, where, and why — the record for verifying it does what the text says, and for tracing any written value back to its source. Wherever you read runs (\`lf runs show\` in a project, or the platform's run history), you are reading this same record.
9
+ Every firing of an automation — a live event arriving, a "run now" backfill, a dry-run rehearsal — is recorded by the engine as a **run**: one record holding what the automation wrote, where, and why — the record for verifying it does what the text says, and for tracing any written value back to its source. Wherever you read runs (\`listen-fire runs show\` in a project, or the platform's run history), you are reading this same record.
10
10
 
11
11
  ### run-history
12
12
 
@@ -28,8 +28,8 @@ export declare function exampleText(example: FrontExample): string;
28
28
  export declare const TS_EXCEPT: readonly FrontEntry[];
29
29
  /** The ideas with no TypeScript analogue — a few lines each, then search. */
30
30
  export declare const CONCEPTS: readonly FrontEntry[];
31
- /** Agent-facing, so it names the tools: the `lf` commands first, then the platform's spelling of each. */
32
- export declare const BUILD_LOOP = "### build-loop\n\n`lf check`, `lf run`, `lf runs show`; on the platform: getStarted, saveAutomation (checks first; saves nothing with errors), runAutomation, checkRun. No chapters: searchLanguage answers lookups, describeConnection details one system. Batch calls.";
31
+ /** Agent-facing, so it names the tools: the `listen-fire` commands first, then the platform's spelling of each. */
32
+ export declare const BUILD_LOOP = "### build-loop\n\n`listen-fire check`, `listen-fire run`, `listen-fire runs show`; on the platform: getStarted, saveAutomation (checks first; saves nothing with errors), runAutomation, checkRun. No chapters: searchLanguage answers lookups, describeConnection details one system. Batch calls.";
33
33
  /** The front page, as the automations connector serves it. */
34
34
  export declare function renderFrontPage(): string;
35
35
  /** Every anchor the page answers to, entry by entry. */
@@ -144,10 +144,10 @@ exports.CONCEPTS = [
144
144
  },
145
145
  },
146
146
  ];
147
- /** Agent-facing, so it names the tools: the `lf` commands first, then the platform's spelling of each. */
147
+ /** Agent-facing, so it names the tools: the `listen-fire` commands first, then the platform's spelling of each. */
148
148
  exports.BUILD_LOOP = `### build-loop
149
149
 
150
- \`lf check\`, \`lf run\`, \`lf runs show\`; on the platform: getStarted, saveAutomation (checks first; saves nothing with errors), runAutomation, checkRun. No chapters: searchLanguage answers lookups, describeConnection details one system. Batch calls.`;
150
+ \`listen-fire check\`, \`listen-fire run\`, \`listen-fire runs show\`; on the platform: getStarted, saveAutomation (checks first; saves nothing with errors), runAutomation, checkRun. No chapters: searchLanguage answers lookups, describeConnection details one system. Batch calls.`;
151
151
  function renderExample(example) {
152
152
  return `\n\`\`\`\n${exampleText(example)}\n\`\`\``;
153
153
  }
package/dist/index.js CHANGED
@@ -83,7 +83,7 @@ exports.INTENT_INDEX = [
83
83
  { intent: "Slack's message field, files, taps, Block Kit", chapter: 'system:slack' },
84
84
  { intent: "Telegram's message field, opening a chat, taps", chapter: 'system:telegram' },
85
85
  { intent: "WhatsApp's message field, files, taps", chapter: 'system:whatsapp' },
86
- { intent: 'A mailbox: run on arriving mail, search, send, reply', chapter: 'system:gmail' },
86
+ { intent: 'A mailbox: run on arriving or labelled mail, search, send, reply, draft', chapter: 'system:gmail' },
87
87
  { intent: 'Create a record with several parents', chapter: 'writes', section: 'multi-parent-writes' },
88
88
  { intent: 'Write a nested object or list', chapter: 'writes', section: 'structured-values' },
89
89
  { intent: 'Connect a record to one that already exists', chapter: 'writes', section: 'link' },
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@listen-fire/handbook",
3
3
  "license": "Apache-2.0",
4
- "version": "0.12.6",
4
+ "version": "0.12.8",
5
5
  "description": "The movement language's handbook: the hand-written chapters, the front page, the routes into them and the language search over them. A host adds its own systems' and plugins' sections on top (the platform assembles system:* and plugin:* chapters). `testing` is the catalog every shown example is checked against, for a host's tests of its own sections.",
6
6
  "engines": {
7
7
  "node": ">=22.23.4 <23"