@shipstatic/types 2.8.0-beta.2 → 2.9.0-beta.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.
package/dist/index.d.ts CHANGED
@@ -13,15 +13,28 @@ export declare const DeploymentStatus: {
13
13
  };
14
14
  export type DeploymentStatusType = (typeof DeploymentStatus)[keyof typeof DeploymentStatus];
15
15
  /**
16
- * Which client made a deployment — the origin-tracking vocabulary.
17
- *
18
- * A closed set with many authors: the CLI, the SDK, the dashboard, both MCP
19
- * transports, the GitHub Action, the n8n node and the VS Code extension each
20
- * name themselves here. It lived in the API's config until 2026-08-06, where
21
- * being server-side made it unenforceable in the one direction that matters
22
- * every client wrote a bare string, and a value outside the set was **silently
23
- * dropped** by the server, so a typo did not fail anywhere. It stopped
24
- * recording where deploys came from and said nothing.
16
+ * Where a deployment came from — the origin-tracking vocabulary.
17
+ *
18
+ * A closed set with many authors. It lived in the API's config until
19
+ * 2026-08-06, where being server-side made it unenforceable in the one
20
+ * direction that matters every client wrote a bare string, and a value
21
+ * outside the set was **silently dropped** by the server, so a typo did not
22
+ * fail anywhere. It stopped recording where deploys came from and said nothing.
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.
25
38
  */
26
39
  export declare const DeploymentVia: {
27
40
  readonly WEB: "web";
@@ -30,8 +43,13 @@ export declare const DeploymentVia: {
30
43
  readonly MCP: "mcp";
31
44
  readonly GIT: "git";
32
45
  readonly N8N: "n8n";
46
+ /** Channel: the ChatGPT App listing, served at `mcp.<domain>/gpt`. */
33
47
  readonly GPT: "gpt";
34
48
  readonly VSC: "vsc";
49
+ /** Channel: the Claude connectors directory listing, served at `mcp.<domain>/cld`. */
50
+ readonly CLD: "cld";
51
+ /** Channel: the Cursor marketplace listing, served at `mcp.<domain>/crs`. */
52
+ readonly CRS: "crs";
35
53
  };
36
54
  export type DeploymentViaType = (typeof DeploymentVia)[keyof typeof DeploymentVia];
37
55
  /**
package/dist/index.js CHANGED
@@ -15,15 +15,28 @@ export const DeploymentStatus = {
15
15
  DELETING: 'deleting',
16
16
  };
17
17
  /**
18
- * Which client made a deployment — the origin-tracking vocabulary.
19
- *
20
- * A closed set with many authors: the CLI, the SDK, the dashboard, both MCP
21
- * transports, the GitHub Action, the n8n node and the VS Code extension each
22
- * name themselves here. It lived in the API's config until 2026-08-06, where
23
- * being server-side made it unenforceable in the one direction that matters
24
- * every client wrote a bare string, and a value outside the set was **silently
25
- * dropped** by the server, so a typo did not fail anywhere. It stopped
26
- * recording where deploys came from and said nothing.
18
+ * Where a deployment came from — the origin-tracking vocabulary.
19
+ *
20
+ * A closed set with many authors. It lived in the API's config until
21
+ * 2026-08-06, where being server-side made it unenforceable in the one
22
+ * direction that matters every client wrote a bare string, and a value
23
+ * outside the set was **silently dropped** by the server, so a typo did not
24
+ * fail anywhere. It stopped recording where deploys came from and said nothing.
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.
27
40
  */
28
41
  export const DeploymentVia = {
29
42
  WEB: 'web',
@@ -32,8 +45,13 @@ export const DeploymentVia = {
32
45
  MCP: 'mcp',
33
46
  GIT: 'git',
34
47
  N8N: 'n8n',
48
+ /** Channel: the ChatGPT App listing, served at `mcp.<domain>/gpt`. */
35
49
  GPT: 'gpt',
36
50
  VSC: 'vsc',
51
+ /** Channel: the Claude connectors directory listing, served at `mcp.<domain>/cld`. */
52
+ CLD: 'cld',
53
+ /** Channel: the Cursor marketplace listing, served at `mcp.<domain>/crs`. */
54
+ CRS: 'crs',
37
55
  };
38
56
  // =============================================================================
39
57
  // DOMAIN TYPES
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shipstatic/types",
3
- "version": "2.8.0-beta.2",
3
+ "version": "2.9.0-beta.1",
4
4
  "description": "Shared types for ShipStatic platform",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
package/src/index.ts CHANGED
@@ -20,15 +20,28 @@ export const DeploymentStatus = {
20
20
  export type DeploymentStatusType = (typeof DeploymentStatus)[keyof typeof DeploymentStatus];
21
21
 
22
22
  /**
23
- * Which client made a deployment — the origin-tracking vocabulary.
24
- *
25
- * A closed set with many authors: the CLI, the SDK, the dashboard, both MCP
26
- * transports, the GitHub Action, the n8n node and the VS Code extension each
27
- * name themselves here. It lived in the API's config until 2026-08-06, where
28
- * being server-side made it unenforceable in the one direction that matters
29
- * every client wrote a bare string, and a value outside the set was **silently
30
- * dropped** by the server, so a typo did not fail anywhere. It stopped
31
- * recording where deploys came from and said nothing.
23
+ * Where a deployment came from — the origin-tracking vocabulary.
24
+ *
25
+ * A closed set with many authors. It lived in the API's config until
26
+ * 2026-08-06, where being server-side made it unenforceable in the one
27
+ * direction that matters every client wrote a bare string, and a value
28
+ * outside the set was **silently dropped** by the server, so a typo did not
29
+ * fail anywhere. It stopped recording where deploys came from and said nothing.
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.
32
45
  */
33
46
  export const DeploymentVia = {
34
47
  WEB: 'web',
@@ -37,8 +50,13 @@ export const DeploymentVia = {
37
50
  MCP: 'mcp',
38
51
  GIT: 'git',
39
52
  N8N: 'n8n',
53
+ /** Channel: the ChatGPT App listing, served at `mcp.<domain>/gpt`. */
40
54
  GPT: 'gpt',
41
55
  VSC: 'vsc',
56
+ /** Channel: the Claude connectors directory listing, served at `mcp.<domain>/cld`. */
57
+ CLD: 'cld',
58
+ /** Channel: the Cursor marketplace listing, served at `mcp.<domain>/crs`. */
59
+ CRS: 'crs',
42
60
  } as const;
43
61
 
44
62
  export type DeploymentViaType = (typeof DeploymentVia)[keyof typeof DeploymentVia];