@alienplatform/sdk 1.14.1 → 2.0.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 (160) hide show
  1. package/dist/dist.js +371 -275
  2. package/dist/index.d.ts +22 -28
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +3 -14356
  5. package/dist/native.d.ts +26 -0
  6. package/dist/native.d.ts.map +1 -0
  7. package/dist/native.js +2 -0
  8. package/dist/worker-runtime/channel.d.ts +25 -0
  9. package/dist/worker-runtime/channel.d.ts.map +1 -0
  10. package/dist/worker-runtime/errors.d.ts +79 -0
  11. package/dist/worker-runtime/errors.d.ts.map +1 -0
  12. package/dist/worker-runtime/event-loop.d.ts +43 -0
  13. package/dist/worker-runtime/event-loop.d.ts.map +1 -0
  14. package/dist/{generated → worker-runtime/generated}/control.d.ts +15 -15
  15. package/dist/worker-runtime/generated/control.d.ts.map +1 -0
  16. package/dist/worker-runtime/generated/google/protobuf/duration.d.ts.map +1 -0
  17. package/dist/worker-runtime/generated/google/protobuf/timestamp.d.ts.map +1 -0
  18. package/dist/{generated → worker-runtime/generated}/wait_until.d.ts +29 -29
  19. package/dist/worker-runtime/generated/wait_until.d.ts.map +1 -0
  20. package/dist/worker-runtime/grpc-utils.d.ts +23 -0
  21. package/dist/worker-runtime/grpc-utils.d.ts.map +1 -0
  22. package/dist/worker-runtime/index.d.ts +33 -0
  23. package/dist/worker-runtime/index.d.ts.map +1 -0
  24. package/dist/{src.js → worker-runtime/index.js} +9370 -4035
  25. package/dist/worker-runtime/registry.d.ts +169 -0
  26. package/dist/worker-runtime/registry.d.ts.map +1 -0
  27. package/dist/worker-runtime/service-definitions.d.ts +12 -0
  28. package/dist/worker-runtime/service-definitions.d.ts.map +1 -0
  29. package/dist/worker-runtime/wait-until-manager.d.ts +34 -0
  30. package/dist/worker-runtime/wait-until-manager.d.ts.map +1 -0
  31. package/package.json +18 -38
  32. package/.turbo/turbo-build.log +0 -30
  33. package/AGENTS.md +0 -70
  34. package/dist/bearerTokenAuthenticationPolicy.js +0 -3028
  35. package/dist/bindings/artifact-registry.d.ts +0 -88
  36. package/dist/bindings/artifact-registry.d.ts.map +0 -1
  37. package/dist/bindings/build.d.ts +0 -67
  38. package/dist/bindings/build.d.ts.map +0 -1
  39. package/dist/bindings/index.d.ts +0 -13
  40. package/dist/bindings/index.d.ts.map +0 -1
  41. package/dist/bindings/kv.d.ts +0 -113
  42. package/dist/bindings/kv.d.ts.map +0 -1
  43. package/dist/bindings/postgres.d.ts +0 -90
  44. package/dist/bindings/postgres.d.ts.map +0 -1
  45. package/dist/bindings/postgres.test.d.ts +0 -2
  46. package/dist/bindings/postgres.test.d.ts.map +0 -1
  47. package/dist/bindings/queue.d.ts +0 -81
  48. package/dist/bindings/queue.d.ts.map +0 -1
  49. package/dist/bindings/service-account.d.ts +0 -46
  50. package/dist/bindings/service-account.d.ts.map +0 -1
  51. package/dist/bindings/storage.d.ts +0 -164
  52. package/dist/bindings/storage.d.ts.map +0 -1
  53. package/dist/bindings/vault.d.ts +0 -65
  54. package/dist/bindings/vault.d.ts.map +0 -1
  55. package/dist/bindings/worker.d.ts +0 -72
  56. package/dist/bindings/worker.d.ts.map +0 -1
  57. package/dist/channel.d.ts +0 -39
  58. package/dist/channel.d.ts.map +0 -1
  59. package/dist/checksum.js +0 -6176
  60. package/dist/commands/client.d.ts +0 -47
  61. package/dist/commands/client.d.ts.map +0 -1
  62. package/dist/commands/errors.d.ts +0 -198
  63. package/dist/commands/errors.d.ts.map +0 -1
  64. package/dist/commands/index.d.ts +0 -23
  65. package/dist/commands/index.d.ts.map +0 -1
  66. package/dist/commands/index.js +0 -387
  67. package/dist/commands/types.d.ts +0 -40
  68. package/dist/commands/types.d.ts.map +0 -1
  69. package/dist/commands.d.ts +0 -55
  70. package/dist/commands.d.ts.map +0 -1
  71. package/dist/context.d.ts +0 -182
  72. package/dist/context.d.ts.map +0 -1
  73. package/dist/dist-cjs.js +0 -15258
  74. package/dist/dist2.js +0 -1239
  75. package/dist/errors.d.ts +0 -359
  76. package/dist/errors.d.ts.map +0 -1
  77. package/dist/es5.js +0 -1720
  78. package/dist/esm.js +0 -18068
  79. package/dist/esm2.js +0 -3166
  80. package/dist/event-streams.js +0 -770
  81. package/dist/events.d.ts +0 -163
  82. package/dist/events.d.ts.map +0 -1
  83. package/dist/generated/artifact_registry.d.ts +0 -302
  84. package/dist/generated/artifact_registry.d.ts.map +0 -1
  85. package/dist/generated/build.d.ts +0 -184
  86. package/dist/generated/build.d.ts.map +0 -1
  87. package/dist/generated/container.d.ts +0 -101
  88. package/dist/generated/container.d.ts.map +0 -1
  89. package/dist/generated/control.d.ts.map +0 -1
  90. package/dist/generated/google/protobuf/duration.d.ts.map +0 -1
  91. package/dist/generated/google/protobuf/timestamp.d.ts.map +0 -1
  92. package/dist/generated/kv.d.ts +0 -182
  93. package/dist/generated/kv.d.ts.map +0 -1
  94. package/dist/generated/queue.d.ts +0 -127
  95. package/dist/generated/queue.d.ts.map +0 -1
  96. package/dist/generated/service_account.d.ts +0 -112
  97. package/dist/generated/service_account.d.ts.map +0 -1
  98. package/dist/generated/storage.d.ts +0 -784
  99. package/dist/generated/storage.d.ts.map +0 -1
  100. package/dist/generated/vault.d.ts +0 -107
  101. package/dist/generated/vault.d.ts.map +0 -1
  102. package/dist/generated/wait_until.d.ts.map +0 -1
  103. package/dist/generated/worker.d.ts +0 -107
  104. package/dist/generated/worker.d.ts.map +0 -1
  105. package/dist/global.d.ts +0 -208
  106. package/dist/global.d.ts.map +0 -1
  107. package/dist/grpc-utils.d.ts +0 -25
  108. package/dist/grpc-utils.d.ts.map +0 -1
  109. package/dist/jws.js +0 -611
  110. package/dist/open.js +0 -461
  111. package/dist/rolldown-runtime.js +0 -44
  112. package/dist/src2.js +0 -114032
  113. package/dist/types.d.ts +0 -337
  114. package/dist/types.d.ts.map +0 -1
  115. package/dist/wait-until.d.ts +0 -115
  116. package/dist/wait-until.d.ts.map +0 -1
  117. package/scripts/generate-proto.sh +0 -46
  118. package/src/bindings/AGENTS.md +0 -105
  119. package/src/bindings/artifact-registry.ts +0 -317
  120. package/src/bindings/build.ts +0 -195
  121. package/src/bindings/index.ts +0 -13
  122. package/src/bindings/kv.ts +0 -240
  123. package/src/bindings/postgres.test.ts +0 -17
  124. package/src/bindings/postgres.ts +0 -446
  125. package/src/bindings/queue.ts +0 -191
  126. package/src/bindings/service-account.ts +0 -113
  127. package/src/bindings/storage.ts +0 -536
  128. package/src/bindings/vault.ts +0 -133
  129. package/src/bindings/worker.ts +0 -164
  130. package/src/channel.ts +0 -102
  131. package/src/commands/client.ts +0 -446
  132. package/src/commands/errors.ts +0 -126
  133. package/src/commands/index.ts +0 -41
  134. package/src/commands/types.ts +0 -52
  135. package/src/commands.ts +0 -76
  136. package/src/context.ts +0 -368
  137. package/src/errors.ts +0 -280
  138. package/src/events.ts +0 -511
  139. package/src/generated/artifact_registry.ts +0 -2096
  140. package/src/generated/build.ts +0 -1311
  141. package/src/generated/container.ts +0 -503
  142. package/src/generated/control.ts +0 -2018
  143. package/src/generated/google/protobuf/duration.ts +0 -196
  144. package/src/generated/google/protobuf/timestamp.ts +0 -226
  145. package/src/generated/kv.ts +0 -1169
  146. package/src/generated/queue.ts +0 -753
  147. package/src/generated/service_account.ts +0 -814
  148. package/src/generated/storage.ts +0 -3820
  149. package/src/generated/vault.ts +0 -543
  150. package/src/generated/wait_until.ts +0 -829
  151. package/src/generated/worker.ts +0 -759
  152. package/src/global.ts +0 -287
  153. package/src/grpc-utils.ts +0 -159
  154. package/src/index.ts +0 -160
  155. package/src/types.ts +0 -397
  156. package/src/wait-until.ts +0 -273
  157. package/tsconfig.json +0 -8
  158. package/tsdown.config.ts +0 -17
  159. /package/dist/{generated → worker-runtime/generated}/google/protobuf/duration.d.ts +0 -0
  160. /package/dist/{generated → worker-runtime/generated}/google/protobuf/timestamp.d.ts +0 -0
@@ -0,0 +1,169 @@
1
+ /**
2
+ * Worker handler registries — the facade's protocol-only surface.
3
+ *
4
+ * `command`, `onStorageEvent`, `onCronEvent`, `onQueueMessage`, and `waitUntil`
5
+ * register into these in-memory maps; {@link runWorker} (in `./index.ts`) reads
6
+ * them to register handlers with the runtime and dispatch tasks. There is no
7
+ * gRPC here — this module is what the facade root re-exports, so the facade
8
+ * bundle stays free of Worker-protocol dependencies.
9
+ *
10
+ * The `@alienplatform/sdk` root (`dist/index.js`) and the
11
+ * `@alienplatform/sdk/worker-runtime` subpath (`dist/worker-runtime/index.js`)
12
+ * are separate entry bundles. A user's app registers handlers by importing the
13
+ * root; the generated bootstrap drives them by importing the subpath. For those
14
+ * two bundles to observe the SAME registration state, the maps are stored on
15
+ * `globalThis` under a shared `Symbol.for` key rather than as ordinary
16
+ * module-level state (which would be duplicated per bundle).
17
+ */
18
+ import type { QueueMessage, ScheduledEvent, StorageEvent, StorageEventType } from "@alienplatform/core";
19
+ export type { StorageEvent, StorageEventType, ScheduledEvent, QueueMessage };
20
+ /**
21
+ * Cron/scheduled event with schedule info.
22
+ */
23
+ export interface CronEvent extends ScheduledEvent {
24
+ /** Schedule name */
25
+ scheduleName: string;
26
+ }
27
+ /**
28
+ * Queue message event with queue context.
29
+ */
30
+ export interface QueueMessageEvent<T = unknown> {
31
+ /** Message ID */
32
+ id: string;
33
+ /** Source queue name */
34
+ source: string;
35
+ /** Receipt handle for acknowledgment */
36
+ receiptHandle: string;
37
+ /** Message payload */
38
+ payload: T;
39
+ /** Delivery attempt count */
40
+ attemptCount: number;
41
+ /** Message timestamp */
42
+ timestamp: Date;
43
+ /** Platform-specific message attributes */
44
+ attributes?: {
45
+ [key: string]: string;
46
+ };
47
+ }
48
+ /**
49
+ * Per-invocation metadata passed to a Worker command handler alongside its
50
+ * params. Mirrors the pull receiver's context: `attempt > 1` means
51
+ * redelivery (at-least-once semantics), and `deadline` bounds execution.
52
+ */
53
+ export interface WorkerCommandContext {
54
+ /** Unique command identifier. */
55
+ commandId: string;
56
+ /** Delivery attempt, starting at 1. */
57
+ attempt: number;
58
+ /** Deadline for completion, when the sender set one. */
59
+ deadline?: Date;
60
+ }
61
+ /**
62
+ * Command definition.
63
+ */
64
+ export interface CommandDefinition {
65
+ /** Command name */
66
+ name: string;
67
+ /** Handler function that receives params and returns a result */
68
+ handler: (params: unknown, context: WorkerCommandContext) => Promise<unknown>;
69
+ }
70
+ /**
71
+ * Event handler registration.
72
+ */
73
+ export interface EventRegistration {
74
+ /** Handler ID */
75
+ id: string;
76
+ /** Event type */
77
+ type: "storage" | "cron" | "queue";
78
+ /** Source filter (bucket name, queue name, etc.) */
79
+ source: string;
80
+ /** Optional prefix filter (for storage events) */
81
+ prefix?: string;
82
+ }
83
+ /** A single registered event handler. */
84
+ export interface EventHandlerEntry {
85
+ registration: EventRegistration;
86
+ handler: (event: unknown) => Promise<void>;
87
+ }
88
+ /**
89
+ * A tracked `waitUntil` background task.
90
+ */
91
+ export interface TaskTracker {
92
+ /** Unique task ID */
93
+ id: string;
94
+ /** Task promise */
95
+ promise: Promise<unknown>;
96
+ /** When the task was registered */
97
+ registeredAt: Date;
98
+ /** Whether the task has completed */
99
+ completed: boolean;
100
+ /** Error if the task failed */
101
+ error?: Error;
102
+ }
103
+ /**
104
+ * Register a command handler.
105
+ *
106
+ * The handler receives the decoded params and, optionally, a
107
+ * {@link WorkerCommandContext} with `commandId`, `attempt`, and `deadline` —
108
+ * use `attempt` to make redeliveries idempotent (at-least-once semantics).
109
+ *
110
+ * @param name - Command name
111
+ * @param handler - Handler that receives params (and optionally the context)
112
+ *
113
+ * @example
114
+ * ```typescript
115
+ * import { command } from "@alienplatform/sdk"
116
+ *
117
+ * command("echo", async ({ message }: { message: string }, { attempt }) => {
118
+ * return { message, attempt, timestamp: new Date().toISOString() }
119
+ * })
120
+ * ```
121
+ */
122
+ export declare function command<TParams = unknown, TResult = unknown>(name: string, handler: (params: TParams, context: WorkerCommandContext) => Promise<TResult>): void;
123
+ /** Get all registered commands. @internal */
124
+ export declare function getCommands(): Map<string, CommandDefinition>;
125
+ /** Execute a registered command by name. @internal */
126
+ export declare function runCommand(name: string, params: unknown, context: WorkerCommandContext): Promise<unknown>;
127
+ /**
128
+ * Register a storage event handler.
129
+ *
130
+ * @param bucket - Bucket name (or `"*"` for all buckets)
131
+ * @param handler - Handler function for storage events
132
+ * @param options - Handler options
133
+ * @returns Unsubscribe function
134
+ */
135
+ export declare function onStorageEvent(bucket: string, handler: (event: StorageEvent) => Promise<void>, options?: {
136
+ prefix?: string;
137
+ }): () => void;
138
+ /**
139
+ * Register a cron/scheduled event handler.
140
+ *
141
+ * @param scheduleName - Schedule name (or `"*"` for all schedules)
142
+ * @param handler - Handler function for scheduled events
143
+ * @returns Unsubscribe function
144
+ */
145
+ export declare function onCronEvent(scheduleName: string, handler: (event: CronEvent) => Promise<void>): () => void;
146
+ /**
147
+ * Register a queue message handler.
148
+ *
149
+ * @param queueName - Queue name (or `"*"` for all queues)
150
+ * @param handler - Handler function for queue messages
151
+ * @returns Unsubscribe function
152
+ */
153
+ export declare function onQueueMessage<T = unknown>(queueName: string, handler: (message: QueueMessageEvent<T>) => Promise<void>): () => void;
154
+ /** Get all registered event handlers. @internal */
155
+ export declare function getEventHandlers(): Map<string, EventHandlerEntry>;
156
+ /**
157
+ * Register a background task to continue after the response.
158
+ *
159
+ * The runtime waits for all registered tasks to complete before shutting down.
160
+ * This is the protocol-only registrar: it tracks the promise and (inside a
161
+ * running Worker) notifies the runtime via the installed hook. The gRPC drain
162
+ * coordination lives in {@link runWorker}.
163
+ *
164
+ * @param promise - The promise to track
165
+ */
166
+ export declare function waitUntil(promise: Promise<unknown>): void;
167
+ /** Install the runtime's task-registered hook. @internal */
168
+ export declare function setOnTaskRegistered(hook: ((tracker: TaskTracker) => void) | undefined): void;
169
+ //# sourceMappingURL=registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/worker-runtime/registry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { type WorkerProtocolGeneration } from "./channel.js";
2
+ import { ControlServiceDefinition } from "./generated/control.js";
3
+ import { WaitUntilServiceDefinition } from "./generated/wait_until.js";
4
+ export type ControlService = Omit<typeof ControlServiceDefinition, "fullName"> & {
5
+ readonly fullName: string;
6
+ };
7
+ export type WaitUntilService = Omit<typeof WaitUntilServiceDefinition, "fullName"> & {
8
+ readonly fullName: string;
9
+ };
10
+ export declare function getControlServiceDefinition(generation?: WorkerProtocolGeneration): ControlService;
11
+ export declare function getWaitUntilServiceDefinition(generation?: WorkerProtocolGeneration): WaitUntilService;
12
+ //# sourceMappingURL=service-definitions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service-definitions.d.ts","sourceRoot":"","sources":["../../src/worker-runtime/service-definitions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,wBAAwB,EAAyB,MAAM,cAAc,CAAA;AACnF,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAA;AACjE,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAA;AAEtE,MAAM,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,wBAAwB,EAAE,UAAU,CAAC,GAAG;IAC/E,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAC1B,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,0BAA0B,EAAE,UAAU,CAAC,GAAG;IACnF,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAC1B,CAAA;AAYD,wBAAgB,2BAA2B,CACzC,UAAU,GAAE,wBAA6D,GACxE,cAAc,CAEhB;AAED,wBAAgB,6BAA6B,CAC3C,UAAU,GAAE,wBAA6D,GACxE,gBAAgB,CAElB"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * WaitUntil coordination.
3
+ *
4
+ * The facade's {@link waitUntil} registrar (in `./registry.ts`) tracks promises
5
+ * with no gRPC. This manager is the runtime half: it notifies the runtime each
6
+ * time a background task is registered.
7
+ *
8
+ * Graceful drain-on-shutdown (waiting for tracked tasks to settle before the
9
+ * process exits) is a planned future feature; the runtime-side drain protocol
10
+ * (WaitForDrainSignal/NotifyDrainComplete) exists in the generated client but
11
+ * is not yet wired here.
12
+ */
13
+ import { type Channel } from "nice-grpc";
14
+ import type { getWaitUntilServiceDefinition } from "./service-definitions.js";
15
+ /**
16
+ * WaitUntil manager for coordinating background tasks with the runtime.
17
+ *
18
+ * @internal
19
+ */
20
+ export declare class WaitUntilManager {
21
+ private readonly client;
22
+ private readonly applicationId;
23
+ constructor(channel: Channel, applicationId: string, service: ReturnType<typeof getWaitUntilServiceDefinition>);
24
+ /**
25
+ * Install this manager as the registry's task-registered hook so each
26
+ * `waitUntil` call notifies the runtime that a background task exists.
27
+ */
28
+ install(): void;
29
+ /**
30
+ * Notify the runtime that a new background task was registered.
31
+ */
32
+ notifyTaskRegistered(description?: string): Promise<void>;
33
+ }
34
+ //# sourceMappingURL=wait-until-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wait-until-manager.d.ts","sourceRoot":"","sources":["../../src/worker-runtime/wait-until-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,KAAK,OAAO,EAAgB,MAAM,WAAW,CAAA;AAItD,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,0BAA0B,CAAA;AAE7E;;;;GAIG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;IACxC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAQ;gBAGpC,OAAO,EAAE,OAAO,EAChB,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,UAAU,CAAC,OAAO,6BAA6B,CAAC;IAM3D;;;OAGG;IACH,OAAO,IAAI,IAAI;IAQf;;OAEG;IACG,oBAAoB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAQhE"}
package/package.json CHANGED
@@ -1,29 +1,35 @@
1
1
  {
2
2
  "name": "@alienplatform/sdk",
3
- "version": "1.14.1",
3
+ "version": "2.0.1",
4
4
  "type": "module",
5
+ "files": [
6
+ "dist"
7
+ ],
5
8
  "exports": {
6
9
  ".": {
7
- "import": "./dist/index.js",
8
- "types": "./dist/index.d.ts"
10
+ "types": "./dist/index.d.ts",
11
+ "import": "./dist/index.js"
12
+ },
13
+ "./worker-runtime": {
14
+ "types": "./dist/worker-runtime/index.d.ts",
15
+ "import": "./dist/worker-runtime/index.js"
9
16
  },
10
- "./commands": {
11
- "import": "./dist/commands/index.js",
12
- "types": "./dist/commands/index.d.ts"
17
+ "./native": {
18
+ "types": "./dist/native.d.ts",
19
+ "import": "./dist/native.js"
13
20
  }
14
21
  },
15
22
  "sideEffects": false,
16
23
  "keywords": [
17
24
  "alien",
18
25
  "sdk",
19
- "bindings",
20
- "commands",
21
- "grpc"
26
+ "worker",
27
+ "bindings"
22
28
  ],
23
29
  "author": "Alien Software, Inc. <hi@alien.dev>",
24
30
  "license": "FSL-1.1-Apache-2.0",
25
31
  "homepage": "https://alien.dev",
26
- "description": "TypeScript SDK for Alien — runtime bindings, command handlers, and command invocation",
32
+ "description": "TypeScript SDK for Alien Worker apps — handler APIs and re-exported binding factories",
27
33
  "repository": {
28
34
  "type": "git",
29
35
  "url": "https://github.com/alienplatform/alien.git",
@@ -33,11 +39,7 @@
33
39
  "access": "public"
34
40
  },
35
41
  "devDependencies": {
36
- "@aws-sdk/client-secrets-manager": "^3.0.0",
37
- "@azure/identity": "^4.0.0",
38
- "@azure/keyvault-secrets": "^4.0.0",
39
42
  "@biomejs/biome": "^1.9.4",
40
- "@google-cloud/secret-manager": "^5.0.0",
41
43
  "@types/node": "^24.0.15",
42
44
  "ts-proto": "^2.7.0",
43
45
  "tsdown": "^0.13.0",
@@ -48,33 +50,11 @@
48
50
  "dependencies": {
49
51
  "@bufbuild/protobuf": "^2.5.3",
50
52
  "@grpc/grpc-js": "^1.14.4",
51
- "long": "^5.3.2",
52
53
  "nice-grpc": "^2.1.11",
53
54
  "nice-grpc-common": "^2.0.2",
54
- "protobufjs": "^7.6.5",
55
- "ts-pattern": "^5.7.1",
56
55
  "zod": "4.3.2",
57
- "@alienplatform/core": "^1.14.1"
58
- },
59
- "peerDependencies": {
60
- "@aws-sdk/client-secrets-manager": "^3.0.0",
61
- "@azure/identity": "^4.0.0",
62
- "@azure/keyvault-secrets": "^4.0.0",
63
- "@google-cloud/secret-manager": "^5.0.0"
64
- },
65
- "peerDependenciesMeta": {
66
- "@aws-sdk/client-secrets-manager": {
67
- "optional": true
68
- },
69
- "@azure/identity": {
70
- "optional": true
71
- },
72
- "@azure/keyvault-secrets": {
73
- "optional": true
74
- },
75
- "@google-cloud/secret-manager": {
76
- "optional": true
77
- }
56
+ "@alienplatform/bindings": "^2.0.1",
57
+ "@alienplatform/core": "^2.0.1"
78
58
  },
79
59
  "scripts": {
80
60
  "build": "tsdown && tsc --emitDeclarationOnly",
@@ -1,30 +0,0 @@
1
-
2
- > @alienplatform/sdk@1.14.1 build /home/runner/work/alien/alien/packages/sdk
3
- > tsdown && tsc --emitDeclarationOnly
4
-
5
- ℹ tsdown v0.13.5 powered by rolldown v1.1.4
6
- ℹ Using tsdown config: /home/runner/work/alien/alien/packages/sdk/tsdown.config.ts
7
- ℹ entry: src/index.ts, src/commands/index.ts
8
- ℹ tsconfig: tsconfig.json
9
- ℹ Build start
10
- ℹ Cleaning 97 files
11
- Warning: Invalid input options (1 issue found)
12
- - For the "define". Invalid key: Expected never but received "define". 
13
- ℹ dist/index.js  468.18 kB │ gzip: 66.23 kB
14
- ℹ dist/commands/index.js  12.03 kB │ gzip: 3.11 kB
15
- ℹ dist/src2.js 3976.54 kB
16
- ℹ dist/src.js  902.50 kB │ gzip: 180.01 kB
17
- ℹ dist/esm.js  770.38 kB │ gzip: 156.72 kB
18
- ℹ dist/dist-cjs.js  550.90 kB │ gzip: 107.14 kB
19
- ℹ dist/dist.js  371.78 kB │ gzip: 69.89 kB
20
- ℹ dist/checksum.js  240.44 kB │ gzip: 51.34 kB
21
- ℹ dist/esm2.js  128.87 kB │ gzip: 25.10 kB
22
- ℹ dist/bearerTokenAuthenticationPolicy.js  111.58 kB │ gzip: 27.57 kB
23
- ℹ dist/es5.js  52.89 kB │ gzip: 8.47 kB
24
- ℹ dist/dist2.js  37.64 kB │ gzip: 10.53 kB
25
- ℹ dist/event-streams.js  28.96 kB │ gzip: 6.35 kB
26
- ℹ dist/jws.js  23.27 kB │ gzip: 5.32 kB
27
- ℹ dist/open.js  15.30 kB │ gzip: 4.62 kB
28
- ℹ dist/rolldown-runtime.js  1.89 kB │ gzip: 0.86 kB
29
- ℹ 16 files, total: 7693.17 kB
30
- ✔ Build complete in 486ms
package/AGENTS.md DELETED
@@ -1,70 +0,0 @@
1
- # @alienplatform/sdk
2
-
3
- TypeScript SDK for Alien bindings. Provides gRPC clients for Storage, KV, Queue, Vault, Build, ArtifactRegistry, Worker, and ServiceAccount.
4
-
5
- ## Commands
6
-
7
- ```bash
8
- pnpm generate # Regenerate TypeScript from Proto
9
- pnpm build # Build the package
10
- pnpm test:ts # Type check
11
- ```
12
-
13
- ## Type Architecture
14
-
15
- ```
16
- ┌─────────────────┐
17
- │ Rust Types │ ← Source of truth (alien-core)
18
- └────────┬────────┘
19
- │
20
- ┌────┴────┐
21
- ▼ ▼
22
- ┌───────┐ ┌───────────┐
23
- │ Proto │ │ OpenAPI │
24
- │ (wire)│ │ (schema) │
25
- └───┬───┘ └─────┬─────┘
26
- │ │
27
- ▼ ▼
28
- ┌─────────┐ ┌────────────┐
29
- │ts-proto │ │ Kubb/Zod │
30
- │(internal)│ │(@alien/core)│ ← Public API types
31
- └────┬────┘ └──────┬─────┘
32
- │ │
33
- └──────┬───────┘
34
- ▼
35
- Transform proto → core types
36
- in binding implementations
37
- ```
38
-
39
- **Key principle:** Domain types (`BuildStatus`, `StorageEvent`, etc.) come from `@alienplatform/core`. Proto types are internal - used only for gRPC wire format. Bindings transform proto ↔ public types.
40
-
41
- ## Package Structure
42
-
43
- ```
44
- src/
45
- ├── generated/ # Auto-generated from Proto (DO NOT EDIT)
46
- ├── bindings/ # Individual binding clients (see bindings/AGENTS.md)
47
- ├── context.ts # AlienContext - main entry point
48
- ├── events.ts # Event handlers (storage, cron, queue)
49
- ├── types.ts # SDK-specific types (options, results)
50
- └── index.ts # Public exports
51
- ```
52
-
53
- ## Proto Definitions
54
-
55
- Protos live in `crates/alien-bindings/proto/`. When modified:
56
-
57
- 1. Run `pnpm generate` in this package
58
- 2. Update binding implementations to match new proto types
59
- 3. Verify TypeScript matches Rust behavior (see `src/bindings/AGENTS.md`)
60
-
61
- ## Adding New Bindings
62
-
63
- 1. Add proto in `crates/alien-bindings/proto/`
64
- 2. Run `pnpm generate`
65
- 3. Create binding in `src/bindings/<name>.ts`
66
- 4. Add types to `src/types.ts` (public API)
67
- 5. Export from `src/bindings/index.ts` and `src/index.ts`
68
- 6. Add accessor method to `AlienContext`
69
-
70
- See `src/bindings/AGENTS.md` for implementation guidelines.