@shipstatic/types 2.9.0-beta.1 → 2.9.0-beta.2

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/dist/index.d.ts CHANGED
@@ -21,35 +21,66 @@ export type DeploymentStatusType = (typeof DeploymentStatus)[keyof typeof Deploy
21
21
  * outside the set was **silently dropped** by the server, so a typo did not
22
22
  * fail anywhere. It stopped recording where deploys came from and said nothing.
23
23
  *
24
- * **Members name one of two things, and the distinction is worth keeping.**
25
- * Most name a CLIENT that identifies itself the CLI, the SDK, the dashboard,
26
- * the stdio MCP, the GitHub Action, the n8n node, the VS Code extension. The
27
- * rest name a CHANNEL: a marketplace or directory listing, whose users all
28
- * arrive through one hosted-MCP door. A channel cannot identify itself in a
29
- * request the way an installed client can, because every one of them is the
30
- * same server speaking the same protocol so the DOOR carries the identity,
31
- * and the door's path IS the value (`/gpt` → `gpt`, and since 2026-08-15
32
- * `/cld` `cld`, `/crs` `crs`). That is why a listing needs its own member:
33
- * a marketplace entry names exactly one URL, and the URL is the only thing a
34
- * listing's traffic has in common.
35
- *
36
- * Every member is three characters, which is what lets a door path and its
37
- * `via` be spelled the same.
24
+ * **The origin law: origin is declared by whatever we control our code where
25
+ * we ship code, our URL where we ship only a URL.** One rule decides every
26
+ * member here and every future one:
27
+ *
28
+ * - **Where the platform ships CODE, the code declares it.** `web`, `sdk`,
29
+ * `cli`, `git`, `n8n` and `vsc` are surfaces this platform authors, so each
30
+ * names itself in its own source and nothing external is needed to tell them
31
+ * apart.
32
+ * - **Where the platform ships only a URL, the URL declares it.** A
33
+ * marketplace listing runs somebody else's client against a bare endpoint
34
+ * every one of them the same server speaking the same protocol, and
35
+ * indistinguishable in a request. The only thing such a listing's traffic
36
+ * has in common is the URL its users were handed, so the hosted MCP serves
37
+ * one DOOR per listing and the door's path IS the value: `gpt`, `cld`,
38
+ * `crs`.
39
+ *
40
+ * **A member names the most specific surface the platform can honestly
41
+ * claim**, which is what makes the two FALLBACKS fallbacks rather than peers
42
+ * of the named surfaces. `mcp` is any MCP host that was never handed a door of
43
+ * its own; `api` is a call that reached the REST API naming nothing at all.
44
+ * Guessing past either would be inventing attribution rather than recording
45
+ * it, which is the one thing this vocabulary exists to prevent.
46
+ *
47
+ * Every member is three lowercase characters — the property that lets a
48
+ * channel door's path and its attribution be spelled the same. The suite pins
49
+ * both the width and the channel members by name.
38
50
  */
39
51
  export declare const DeploymentVia: {
52
+ /** The web dashboard. */
40
53
  readonly WEB: "web";
54
+ /** A program embedding the SDK directly. */
41
55
  readonly SDK: "sdk";
56
+ /** The `ship` CLI. */
42
57
  readonly CLI: "cli";
58
+ /** Any MCP host with no door of its own — the stdio server included. The family fallback. */
43
59
  readonly MCP: "mcp";
60
+ /** The GitHub Action. */
44
61
  readonly GIT: "git";
62
+ /** The n8n community node. */
45
63
  readonly N8N: "n8n";
46
- /** Channel: the ChatGPT App listing, served at `mcp.<domain>/gpt`. */
64
+ /** Channel: the ChatGPT App listing `mcp.<domain>/gpt`. */
47
65
  readonly GPT: "gpt";
66
+ /** The VS Code extension. */
48
67
  readonly VSC: "vsc";
49
- /** Channel: the Claude connectors directory listing, served at `mcp.<domain>/cld`. */
68
+ /** Channel: the Claude connectors directory listing `mcp.<domain>/cld`. */
50
69
  readonly CLD: "cld";
51
- /** Channel: the Cursor marketplace listing, served at `mcp.<domain>/crs`. */
70
+ /** Channel: the Cursor marketplace listing `mcp.<domain>/crs`. */
52
71
  readonly CRS: "crs";
72
+ /**
73
+ * A deploy that reached the REST API naming no origin at all — the
74
+ * platform-wide fallback, one altitude below `mcp`'s family fallback.
75
+ *
76
+ * **Declared ahead of its emitter, deliberately.** Nothing sends it yet and
77
+ * the server still records an unattributed deploy as `null`. Vocabulary must
78
+ * exist before a consumer can adopt it, and adding a member costs a full
79
+ * constellation convoy — so the word ships first and the API adopts it as a
80
+ * default whenever that decision is taken, with no convoy standing between
81
+ * the decision and the deploy.
82
+ */
83
+ readonly API: "api";
53
84
  };
54
85
  export type DeploymentViaType = (typeof DeploymentVia)[keyof typeof DeploymentVia];
55
86
  /**
package/dist/index.js CHANGED
@@ -23,35 +23,66 @@ export const DeploymentStatus = {
23
23
  * outside the set was **silently dropped** by the server, so a typo did not
24
24
  * fail anywhere. It stopped recording where deploys came from and said nothing.
25
25
  *
26
- * **Members name one of two things, and the distinction is worth keeping.**
27
- * Most name a CLIENT that identifies itself the CLI, the SDK, the dashboard,
28
- * the stdio MCP, the GitHub Action, the n8n node, the VS Code extension. The
29
- * rest name a CHANNEL: a marketplace or directory listing, whose users all
30
- * arrive through one hosted-MCP door. A channel cannot identify itself in a
31
- * request the way an installed client can, because every one of them is the
32
- * same server speaking the same protocol so the DOOR carries the identity,
33
- * and the door's path IS the value (`/gpt` → `gpt`, and since 2026-08-15
34
- * `/cld` `cld`, `/crs` `crs`). That is why a listing needs its own member:
35
- * a marketplace entry names exactly one URL, and the URL is the only thing a
36
- * listing's traffic has in common.
37
- *
38
- * Every member is three characters, which is what lets a door path and its
39
- * `via` be spelled the same.
26
+ * **The origin law: origin is declared by whatever we control our code where
27
+ * we ship code, our URL where we ship only a URL.** One rule decides every
28
+ * member here and every future one:
29
+ *
30
+ * - **Where the platform ships CODE, the code declares it.** `web`, `sdk`,
31
+ * `cli`, `git`, `n8n` and `vsc` are surfaces this platform authors, so each
32
+ * names itself in its own source and nothing external is needed to tell them
33
+ * apart.
34
+ * - **Where the platform ships only a URL, the URL declares it.** A
35
+ * marketplace listing runs somebody else's client against a bare endpoint
36
+ * every one of them the same server speaking the same protocol, and
37
+ * indistinguishable in a request. The only thing such a listing's traffic
38
+ * has in common is the URL its users were handed, so the hosted MCP serves
39
+ * one DOOR per listing and the door's path IS the value: `gpt`, `cld`,
40
+ * `crs`.
41
+ *
42
+ * **A member names the most specific surface the platform can honestly
43
+ * claim**, which is what makes the two FALLBACKS fallbacks rather than peers
44
+ * of the named surfaces. `mcp` is any MCP host that was never handed a door of
45
+ * its own; `api` is a call that reached the REST API naming nothing at all.
46
+ * Guessing past either would be inventing attribution rather than recording
47
+ * it, which is the one thing this vocabulary exists to prevent.
48
+ *
49
+ * Every member is three lowercase characters — the property that lets a
50
+ * channel door's path and its attribution be spelled the same. The suite pins
51
+ * both the width and the channel members by name.
40
52
  */
41
53
  export const DeploymentVia = {
54
+ /** The web dashboard. */
42
55
  WEB: 'web',
56
+ /** A program embedding the SDK directly. */
43
57
  SDK: 'sdk',
58
+ /** The `ship` CLI. */
44
59
  CLI: 'cli',
60
+ /** Any MCP host with no door of its own — the stdio server included. The family fallback. */
45
61
  MCP: 'mcp',
62
+ /** The GitHub Action. */
46
63
  GIT: 'git',
64
+ /** The n8n community node. */
47
65
  N8N: 'n8n',
48
- /** Channel: the ChatGPT App listing, served at `mcp.<domain>/gpt`. */
66
+ /** Channel: the ChatGPT App listing `mcp.<domain>/gpt`. */
49
67
  GPT: 'gpt',
68
+ /** The VS Code extension. */
50
69
  VSC: 'vsc',
51
- /** Channel: the Claude connectors directory listing, served at `mcp.<domain>/cld`. */
70
+ /** Channel: the Claude connectors directory listing `mcp.<domain>/cld`. */
52
71
  CLD: 'cld',
53
- /** Channel: the Cursor marketplace listing, served at `mcp.<domain>/crs`. */
72
+ /** Channel: the Cursor marketplace listing `mcp.<domain>/crs`. */
54
73
  CRS: 'crs',
74
+ /**
75
+ * A deploy that reached the REST API naming no origin at all — the
76
+ * platform-wide fallback, one altitude below `mcp`'s family fallback.
77
+ *
78
+ * **Declared ahead of its emitter, deliberately.** Nothing sends it yet and
79
+ * the server still records an unattributed deploy as `null`. Vocabulary must
80
+ * exist before a consumer can adopt it, and adding a member costs a full
81
+ * constellation convoy — so the word ships first and the API adopts it as a
82
+ * default whenever that decision is taken, with no convoy standing between
83
+ * the decision and the deploy.
84
+ */
85
+ API: 'api',
55
86
  };
56
87
  // =============================================================================
57
88
  // DOMAIN TYPES
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shipstatic/types",
3
- "version": "2.9.0-beta.1",
3
+ "version": "2.9.0-beta.2",
4
4
  "description": "Shared types for ShipStatic platform",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
package/src/index.ts CHANGED
@@ -28,35 +28,66 @@ export type DeploymentStatusType = (typeof DeploymentStatus)[keyof typeof Deploy
28
28
  * outside the set was **silently dropped** by the server, so a typo did not
29
29
  * fail anywhere. It stopped recording where deploys came from and said nothing.
30
30
  *
31
- * **Members name one of two things, and the distinction is worth keeping.**
32
- * Most name a CLIENT that identifies itself the CLI, the SDK, the dashboard,
33
- * the stdio MCP, the GitHub Action, the n8n node, the VS Code extension. The
34
- * rest name a CHANNEL: a marketplace or directory listing, whose users all
35
- * arrive through one hosted-MCP door. A channel cannot identify itself in a
36
- * request the way an installed client can, because every one of them is the
37
- * same server speaking the same protocol so the DOOR carries the identity,
38
- * and the door's path IS the value (`/gpt` → `gpt`, and since 2026-08-15
39
- * `/cld` `cld`, `/crs` `crs`). That is why a listing needs its own member:
40
- * a marketplace entry names exactly one URL, and the URL is the only thing a
41
- * listing's traffic has in common.
42
- *
43
- * Every member is three characters, which is what lets a door path and its
44
- * `via` be spelled the same.
31
+ * **The origin law: origin is declared by whatever we control our code where
32
+ * we ship code, our URL where we ship only a URL.** One rule decides every
33
+ * member here and every future one:
34
+ *
35
+ * - **Where the platform ships CODE, the code declares it.** `web`, `sdk`,
36
+ * `cli`, `git`, `n8n` and `vsc` are surfaces this platform authors, so each
37
+ * names itself in its own source and nothing external is needed to tell them
38
+ * apart.
39
+ * - **Where the platform ships only a URL, the URL declares it.** A
40
+ * marketplace listing runs somebody else's client against a bare endpoint
41
+ * every one of them the same server speaking the same protocol, and
42
+ * indistinguishable in a request. The only thing such a listing's traffic
43
+ * has in common is the URL its users were handed, so the hosted MCP serves
44
+ * one DOOR per listing and the door's path IS the value: `gpt`, `cld`,
45
+ * `crs`.
46
+ *
47
+ * **A member names the most specific surface the platform can honestly
48
+ * claim**, which is what makes the two FALLBACKS fallbacks rather than peers
49
+ * of the named surfaces. `mcp` is any MCP host that was never handed a door of
50
+ * its own; `api` is a call that reached the REST API naming nothing at all.
51
+ * Guessing past either would be inventing attribution rather than recording
52
+ * it, which is the one thing this vocabulary exists to prevent.
53
+ *
54
+ * Every member is three lowercase characters — the property that lets a
55
+ * channel door's path and its attribution be spelled the same. The suite pins
56
+ * both the width and the channel members by name.
45
57
  */
46
58
  export const DeploymentVia = {
59
+ /** The web dashboard. */
47
60
  WEB: 'web',
61
+ /** A program embedding the SDK directly. */
48
62
  SDK: 'sdk',
63
+ /** The `ship` CLI. */
49
64
  CLI: 'cli',
65
+ /** Any MCP host with no door of its own — the stdio server included. The family fallback. */
50
66
  MCP: 'mcp',
67
+ /** The GitHub Action. */
51
68
  GIT: 'git',
69
+ /** The n8n community node. */
52
70
  N8N: 'n8n',
53
- /** Channel: the ChatGPT App listing, served at `mcp.<domain>/gpt`. */
71
+ /** Channel: the ChatGPT App listing `mcp.<domain>/gpt`. */
54
72
  GPT: 'gpt',
73
+ /** The VS Code extension. */
55
74
  VSC: 'vsc',
56
- /** Channel: the Claude connectors directory listing, served at `mcp.<domain>/cld`. */
75
+ /** Channel: the Claude connectors directory listing `mcp.<domain>/cld`. */
57
76
  CLD: 'cld',
58
- /** Channel: the Cursor marketplace listing, served at `mcp.<domain>/crs`. */
77
+ /** Channel: the Cursor marketplace listing `mcp.<domain>/crs`. */
59
78
  CRS: 'crs',
79
+ /**
80
+ * A deploy that reached the REST API naming no origin at all — the
81
+ * platform-wide fallback, one altitude below `mcp`'s family fallback.
82
+ *
83
+ * **Declared ahead of its emitter, deliberately.** Nothing sends it yet and
84
+ * the server still records an unattributed deploy as `null`. Vocabulary must
85
+ * exist before a consumer can adopt it, and adding a member costs a full
86
+ * constellation convoy — so the word ships first and the API adopts it as a
87
+ * default whenever that decision is taken, with no convoy standing between
88
+ * the decision and the deploy.
89
+ */
90
+ API: 'api',
60
91
  } as const;
61
92
 
62
93
  export type DeploymentViaType = (typeof DeploymentVia)[keyof typeof DeploymentVia];