@tloncorp/openclaw 0.4.3 → 0.6.1

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.
Files changed (112) hide show
  1. package/README.md +130 -141
  2. package/dist/index.js +703 -152
  3. package/dist/index.js.map +1 -1
  4. package/dist/setup-api.js +2 -2
  5. package/dist/setup-entry.js +2 -2
  6. package/dist/setup-entry.js.map +1 -1
  7. package/dist/src/account-fields.js +7 -3
  8. package/dist/src/account-fields.js.map +1 -1
  9. package/dist/src/actions.js +73 -52
  10. package/dist/src/actions.js.map +1 -1
  11. package/dist/src/channel.js +63 -39
  12. package/dist/src/channel.js.map +1 -1
  13. package/dist/src/channel.runtime.js +61 -32
  14. package/dist/src/channel.runtime.js.map +1 -1
  15. package/dist/src/config-schema.js +24 -4
  16. package/dist/src/config-schema.js.map +1 -1
  17. package/dist/src/diagnostic-subscriptions.js +49 -0
  18. package/dist/src/diagnostic-subscriptions.js.map +1 -0
  19. package/dist/src/effective-owner.js.map +1 -1
  20. package/dist/src/gateway-status.js +55 -7
  21. package/dist/src/gateway-status.js.map +1 -1
  22. package/dist/src/monitor/approval.js +71 -62
  23. package/dist/src/monitor/approval.js.map +1 -1
  24. package/dist/src/monitor/command-auth.js +7 -7
  25. package/dist/src/monitor/command-auth.js.map +1 -1
  26. package/dist/src/monitor/command-bridge.js +3 -2
  27. package/dist/src/monitor/command-bridge.js.map +1 -1
  28. package/dist/src/monitor/computing-presence.js +76 -12
  29. package/dist/src/monitor/computing-presence.js.map +1 -1
  30. package/dist/src/monitor/discovery.js +16 -9
  31. package/dist/src/monitor/discovery.js.map +1 -1
  32. package/dist/src/monitor/history.js +58 -26
  33. package/dist/src/monitor/history.js.map +1 -1
  34. package/dist/src/monitor/index.js +3018 -2496
  35. package/dist/src/monitor/index.js.map +1 -1
  36. package/dist/src/monitor/media.js +106 -78
  37. package/dist/src/monitor/media.js.map +1 -1
  38. package/dist/src/monitor/nudge-runner.js +36 -27
  39. package/dist/src/monitor/nudge-runner.js.map +1 -1
  40. package/dist/src/monitor/nudge-state.js +7 -11
  41. package/dist/src/monitor/nudge-state.js.map +1 -1
  42. package/dist/src/monitor/owner-reply-persistence.js +27 -26
  43. package/dist/src/monitor/owner-reply-persistence.js.map +1 -1
  44. package/dist/src/monitor/processed-messages.js.map +1 -1
  45. package/dist/src/monitor/session-routing.js +261 -0
  46. package/dist/src/monitor/session-routing.js.map +1 -0
  47. package/dist/src/monitor/settings-sync.js +1 -8
  48. package/dist/src/monitor/settings-sync.js.map +1 -1
  49. package/dist/src/monitor/utils.js +77 -71
  50. package/dist/src/monitor/utils.js.map +1 -1
  51. package/dist/src/nudge-decision.js +40 -43
  52. package/dist/src/nudge-decision.js.map +1 -1
  53. package/dist/src/nudge-messages.js +9 -9
  54. package/dist/src/nudge-scheduler.js.map +1 -1
  55. package/dist/src/owner-listen-command.js +38 -28
  56. package/dist/src/owner-listen-command.js.map +1 -1
  57. package/dist/src/pending-nudge.js.map +1 -1
  58. package/dist/src/runtime.js +10 -6
  59. package/dist/src/runtime.js.map +1 -1
  60. package/dist/src/session-roles.js +2 -1
  61. package/dist/src/session-roles.js.map +1 -1
  62. package/dist/src/session-route.js +44 -0
  63. package/dist/src/session-route.js.map +1 -0
  64. package/dist/src/settings.js +233 -102
  65. package/dist/src/settings.js.map +1 -1
  66. package/dist/src/setup-core.js +32 -32
  67. package/dist/src/setup-core.js.map +1 -1
  68. package/dist/src/setup-surface.js +19 -19
  69. package/dist/src/setup-surface.js.map +1 -1
  70. package/dist/src/shared-state.js +46 -0
  71. package/dist/src/shared-state.js.map +1 -0
  72. package/dist/src/targets.js +17 -10
  73. package/dist/src/targets.js.map +1 -1
  74. package/dist/src/telemetry.js +764 -34
  75. package/dist/src/telemetry.js.map +1 -1
  76. package/dist/src/tlon-binary.js +20 -12
  77. package/dist/src/tlon-binary.js.map +1 -1
  78. package/dist/src/tlon-tool-guard.js +5 -5
  79. package/dist/src/tool-trace.js +17 -13
  80. package/dist/src/tool-trace.js.map +1 -1
  81. package/dist/src/types.js +30 -12
  82. package/dist/src/types.js.map +1 -1
  83. package/dist/src/urbit/api-client.js +16 -12
  84. package/dist/src/urbit/api-client.js.map +1 -1
  85. package/dist/src/urbit/auth.js +9 -9
  86. package/dist/src/urbit/auth.js.map +1 -1
  87. package/dist/src/urbit/base-url.js +11 -11
  88. package/dist/src/urbit/base-url.js.map +1 -1
  89. package/dist/src/urbit/channel-ops.js +25 -19
  90. package/dist/src/urbit/channel-ops.js.map +1 -1
  91. package/dist/src/urbit/context.js +8 -8
  92. package/dist/src/urbit/context.js.map +1 -1
  93. package/dist/src/urbit/errors.js +33 -7
  94. package/dist/src/urbit/errors.js.map +1 -1
  95. package/dist/src/urbit/fetch.js +3 -3
  96. package/dist/src/urbit/fetch.js.map +1 -1
  97. package/dist/src/urbit/http-poke.js +10 -10
  98. package/dist/src/urbit/http-poke.js.map +1 -1
  99. package/dist/src/urbit/send.js +27 -23
  100. package/dist/src/urbit/send.js.map +1 -1
  101. package/dist/src/urbit/sse-client.js +45 -41
  102. package/dist/src/urbit/sse-client.js.map +1 -1
  103. package/dist/src/urbit/story.js +31 -30
  104. package/dist/src/urbit/story.js.map +1 -1
  105. package/dist/src/urbit/upload.js +8 -8
  106. package/dist/src/urbit/upload.js.map +1 -1
  107. package/dist/src/version.generated.js +2 -1
  108. package/dist/src/version.generated.js.map +1 -1
  109. package/dist/src/version.js +134 -0
  110. package/dist/src/version.js.map +1 -0
  111. package/openclaw.plugin.json +37 -0
  112. package/package.json +9 -15
@@ -0,0 +1,134 @@
1
+ import { createHash } from 'node:crypto';
2
+ import { existsSync, readFileSync, readdirSync } from 'node:fs';
3
+ import { basename, dirname, isAbsolute, join, relative } from 'node:path';
4
+ import { fileURLToPath } from 'node:url';
5
+ import { sharedSlot } from './shared-state.js';
6
+ import { PLUGIN_COMMIT, PLUGIN_VERSION } from './version.generated.js';
7
+ const HARNESS = 'openclaw';
8
+ const FINGERPRINT_RULE = 'fp1';
9
+ const FINGERPRINT_HEX_CHARS = 12;
10
+ const moduleDir = dirname(fileURLToPath(import.meta.url));
11
+ const tlonSkillVersionResolverSlot = sharedSlot('version.tlonSkillVersionResolver');
12
+ const tlonSkillVersionSlot = sharedSlot('version.tlonSkillVersion');
13
+ function findPackageRoot(startDir = moduleDir) {
14
+ let dir = startDir;
15
+ for (let i = 0; i < 6; i += 1) {
16
+ if (existsSync(join(dir, 'package.json'))) {
17
+ return dir;
18
+ }
19
+ const parent = dirname(dir);
20
+ if (parent === dir) {
21
+ break;
22
+ }
23
+ dir = parent;
24
+ }
25
+ return startDir;
26
+ }
27
+ function walkFiles(dir, predicate) {
28
+ if (!existsSync(dir)) {
29
+ return [];
30
+ }
31
+ const files = [];
32
+ for (const entry of readdirSync(dir, { withFileTypes: true })) {
33
+ const fullPath = join(dir, entry.name);
34
+ if (entry.isDirectory()) {
35
+ files.push(...walkFiles(fullPath, predicate));
36
+ }
37
+ else if (entry.isFile() && predicate(fullPath)) {
38
+ files.push(fullPath);
39
+ }
40
+ }
41
+ return files;
42
+ }
43
+ function sourceRuntimeFiles(packageRoot) {
44
+ const roots = ['index.ts', 'setup-entry.ts', 'setup-api.ts']
45
+ .map((name) => join(packageRoot, name))
46
+ .filter(existsSync);
47
+ const srcFiles = walkFiles(join(packageRoot, 'src'), (path) => path.endsWith('.ts') &&
48
+ !path.endsWith('.test.ts') &&
49
+ basename(path) !== 'version.generated.ts');
50
+ return [...roots, ...srcFiles].sort();
51
+ }
52
+ function distRuntimeFiles(packageRoot) {
53
+ return walkFiles(join(packageRoot, 'dist'), (path) => path.endsWith('.js') && basename(path) !== 'version.generated.js').sort();
54
+ }
55
+ function isWithin(parent, child) {
56
+ const rel = relative(parent, child);
57
+ return rel === '' || (!rel.startsWith('..') && !isAbsolute(rel));
58
+ }
59
+ function runtimeFiles(packageRoot, currentModuleDir = moduleDir) {
60
+ const distFiles = distRuntimeFiles(packageRoot);
61
+ if (distFiles.length > 0 &&
62
+ isWithin(join(packageRoot, 'dist'), currentModuleDir)) {
63
+ return distFiles;
64
+ }
65
+ const sourceFiles = sourceRuntimeFiles(packageRoot);
66
+ return sourceFiles.length > 0 ? sourceFiles : distFiles;
67
+ }
68
+ function contentFingerprint(packageRoot = findPackageRoot()) {
69
+ const digest = createHash('sha256');
70
+ const files = runtimeFiles(packageRoot);
71
+ for (const file of files) {
72
+ digest.update(relative(packageRoot, file).replaceAll('\\', '/'));
73
+ digest.update('\0');
74
+ try {
75
+ digest.update(readFileSync(file));
76
+ }
77
+ catch {
78
+ digest.update('<unreadable>');
79
+ }
80
+ digest.update('\0');
81
+ }
82
+ return `${FINGERPRINT_RULE}:${digest.digest('hex').slice(0, FINGERPRINT_HEX_CHARS)}`;
83
+ }
84
+ const pluginFingerprint = contentFingerprint();
85
+ const VERSION_IDENTITY = {
86
+ harness: HARNESS,
87
+ pluginVersion: PLUGIN_VERSION || 'unknown',
88
+ pluginCommit: PLUGIN_COMMIT || 'unknown',
89
+ pluginFingerprint,
90
+ // Hermes uses adapter* names. Keep the same fields on OpenClaw events so
91
+ // shared PostHog charts can group both harnesses without special casing.
92
+ adapterVersion: PLUGIN_VERSION || 'unknown',
93
+ adapterFingerprint: pluginFingerprint,
94
+ };
95
+ export function getTlonVersionIdentity() {
96
+ return VERSION_IDENTITY;
97
+ }
98
+ export function setTlonSkillVersionResolver(resolver) {
99
+ tlonSkillVersionResolverSlot.set(resolver);
100
+ tlonSkillVersionSlot.set(null);
101
+ }
102
+ export function getKnownTlonSkillVersion() {
103
+ return tlonSkillVersionSlot.get() ?? 'unknown';
104
+ }
105
+ export async function resolveTlonSkillVersion() {
106
+ const cached = tlonSkillVersionSlot.get();
107
+ if (cached) {
108
+ return cached;
109
+ }
110
+ const resolver = tlonSkillVersionResolverSlot.get();
111
+ if (!resolver) {
112
+ return 'unknown';
113
+ }
114
+ const version = await resolver();
115
+ tlonSkillVersionSlot.set(version || 'unknown');
116
+ return tlonSkillVersionSlot.get() ?? 'unknown';
117
+ }
118
+ export function formatTlonVersionIdentity(options) {
119
+ const markdown = options?.markdown ?? true;
120
+ const identity = getTlonVersionIdentity();
121
+ const tlonSkillVersion = options?.tlonSkillVersion?.trim() || getKnownTlonSkillVersion();
122
+ const source = identity.pluginCommit === 'unknown'
123
+ ? 'no git checkout'
124
+ : identity.pluginCommit;
125
+ const row = (label, value) => markdown ? `*${label}*: **${value}**` : `${label}: ${value}`;
126
+ return [
127
+ row('Harness', 'OpenClaw'),
128
+ row('Adapter Version', identity.pluginVersion),
129
+ row('Tlon Skill', tlonSkillVersion),
130
+ row('Fingerprint', identity.pluginFingerprint),
131
+ row('Source', source),
132
+ ].join('\n');
133
+ }
134
+ //# sourceMappingURL=version.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,11 @@
3
3
  "channels": [
4
4
  "tlon"
5
5
  ],
6
+ "contracts": {
7
+ "tools": [
8
+ "tlon"
9
+ ]
10
+ },
6
11
  "skills": [
7
12
  "node_modules/@tloncorp/tlon-skill"
8
13
  ],
@@ -33,6 +38,15 @@
33
38
  "code": {
34
39
  "type": "string"
35
40
  },
41
+ "network": {
42
+ "type": "object",
43
+ "properties": {
44
+ "dangerouslyAllowPrivateNetwork": {
45
+ "type": "boolean"
46
+ }
47
+ },
48
+ "additionalProperties": false
49
+ },
36
50
  "allowPrivateNetwork": {
37
51
  "type": "boolean"
38
52
  },
@@ -50,6 +64,13 @@
50
64
  "minLength": 1
51
65
  }
52
66
  },
67
+ "groupInviteAllowlist": {
68
+ "type": "array",
69
+ "items": {
70
+ "type": "string",
71
+ "minLength": 1
72
+ }
73
+ },
53
74
  "autoDiscoverChannels": {
54
75
  "type": "boolean"
55
76
  },
@@ -119,6 +140,15 @@
119
140
  "code": {
120
141
  "type": "string"
121
142
  },
143
+ "network": {
144
+ "type": "object",
145
+ "properties": {
146
+ "dangerouslyAllowPrivateNetwork": {
147
+ "type": "boolean"
148
+ }
149
+ },
150
+ "additionalProperties": false
151
+ },
122
152
  "allowPrivateNetwork": {
123
153
  "type": "boolean"
124
154
  },
@@ -136,6 +166,13 @@
136
166
  "minLength": 1
137
167
  }
138
168
  },
169
+ "groupInviteAllowlist": {
170
+ "type": "array",
171
+ "items": {
172
+ "type": "string",
173
+ "minLength": 1
174
+ }
175
+ },
139
176
  "autoDiscoverChannels": {
140
177
  "type": "boolean"
141
178
  },
package/package.json CHANGED
@@ -1,11 +1,12 @@
1
1
  {
2
2
  "name": "@tloncorp/openclaw",
3
- "version": "0.4.3",
3
+ "version": "0.6.1",
4
4
  "description": "OpenClaw Tlon/Urbit channel plugin",
5
5
  "license": "MIT",
6
6
  "repository": {
7
7
  "type": "git",
8
- "url": "https://github.com/tloncorp/openclaw-tlon.git"
8
+ "url": "https://github.com/tloncorp/tlon-apps.git",
9
+ "directory": "packages/openclaw"
9
10
  },
10
11
  "files": [
11
12
  "dist/",
@@ -31,24 +32,17 @@
31
32
  "publish:clean": "npm run prepare:publish && npm publish .publish --access public"
32
33
  },
33
34
  "dependencies": {
34
- "@tloncorp/api": "presence",
35
- "@tloncorp/tlon-skill": "^0.3.6",
35
+ "@tloncorp/api": "^0.0.8",
36
+ "@tloncorp/tlon-skill": "^0.4.1",
36
37
  "@urbit/aura": "^3.0.0",
37
38
  "posthog-node": "^5.28.9",
38
39
  "zod": "^4.4.1"
39
40
  },
40
41
  "peerDependencies": {
41
- "openclaw": ">=2026.3.22"
42
+ "openclaw": ">=2026.4.27"
42
43
  },
43
- "pnpm": {
44
- "onlyBuiltDependencies": [
45
- "@matrix-org/matrix-sdk-crypto-nodejs",
46
- "@tloncorp/tlon-skill",
47
- "koffi",
48
- "openclaw",
49
- "protobufjs",
50
- "sharp"
51
- ]
44
+ "publishConfig": {
45
+ "access": "public"
52
46
  },
53
47
  "openclaw": {
54
48
  "extensions": [
@@ -66,7 +60,7 @@
66
60
  "quickstartAllowFrom": true
67
61
  },
68
62
  "install": {
69
- "minHostVersion": ">=2026.3.22",
63
+ "minHostVersion": ">=2026.4.27",
70
64
  "npmSpec": "@tloncorp/openclaw",
71
65
  "localPath": "extensions/tlon",
72
66
  "defaultChoice": "npm"