@hanzo/event 0.3.35 → 0.3.36

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hanzo/event",
3
- "version": "0.3.35",
3
+ "version": "0.3.36",
4
4
  "description": "Hanzo Event \u2014 the ONE telemetry client. Emits pageview/event/identify/group to the Hanzo Cloud event stream (POST /v1/event), AND reports errors to Sentry as real Sentry envelopes \u2014 the error plane needs a DSN, without one nothing reaches Sentry. First-touch attribution, beacon-on-unload, auto error capture, client-side secret/PII scrubbing, a shared event + goal vocabulary. Subsumes @sentry.",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/",
package/src/org.test.ts CHANGED
@@ -36,6 +36,22 @@ describe('the org that owns a host', () => {
36
36
  expect(orgOf('id.zoo.network')).toBe('zoo')
37
37
  })
38
38
 
39
+ it('claims every Hanzo site the fleet actually serves', () => {
40
+ // The table is the reason a static export reports at all, so a site that is
41
+ // LIVE and missing from it reports nothing while looking configured. These
42
+ // are the hosts universe serves; each resolves to Hanzo's key or this fails.
43
+ for (const host of [
44
+ 'hanzo.works',
45
+ 'hanzo.codes',
46
+ 'hanzoskills.com',
47
+ 'hanzo.ventures',
48
+ 'hanzo.team',
49
+ ]) {
50
+ expect(orgOf(host)).toBe('hanzo')
51
+ expect(keyFor(host)).toBe(ORG_KEY.hanzo)
52
+ }
53
+ })
54
+
39
55
  it('reads a hostname the way a domain compares', () => {
40
56
  expect(orgOf('LUX.NETWORK')).toBe('lux')
41
57
  expect(orgOf('lux.network:3000')).toBe('lux')
package/src/org.ts CHANGED
@@ -45,7 +45,23 @@ export type Keyring = Readonly<Record<string, string>>
45
45
  * and it is only visible later in someone else's warehouse.
46
46
  */
47
47
  export const ORG_DOMAIN: Readonly<Record<string, readonly string[]>> = Object.freeze({
48
- hanzo: Object.freeze(['hanzo.ai', 'hanzo.app', 'hanzo.chat', 'hanzo.id', 'hanzo.bot', 'hanzo.sh']),
48
+ // A brand's domains are not a pattern — `hanzoskills.com` is Hanzo's and does
49
+ // not end in `hanzo.ai`, while `hanzo.works` is a registrable domain of its own
50
+ // rather than a subdomain of anything here. Each is stated because each is a
51
+ // separate fact, which is the whole reason this is a table.
52
+ hanzo: Object.freeze([
53
+ 'hanzo.ai',
54
+ 'hanzo.app',
55
+ 'hanzo.bot',
56
+ 'hanzo.chat',
57
+ 'hanzo.codes',
58
+ 'hanzo.id',
59
+ 'hanzo.sh',
60
+ 'hanzo.team',
61
+ 'hanzo.ventures',
62
+ 'hanzo.works',
63
+ 'hanzoskills.com',
64
+ ]),
49
65
  lux: Object.freeze([
50
66
  'lux.network',
51
67
  'lux.exchange',
package/src/version.ts CHANGED
@@ -1,4 +1,4 @@
1
1
  // The library version, stamped on every event (`libraryVersion`) and on the
2
2
  // Sentry `sdk` block. It lives alone so `sentry.ts` can read it without importing
3
3
  // `core.ts` — core imports sentry, so the reverse would be an import cycle.
4
- export const VERSION = '0.3.35'
4
+ export const VERSION = '0.3.36'