@pikku/addon-meta-conversions 0.1.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/README.md +15 -0
- package/dist/.pikku/addon/pikku-addon-types.gen.d.ts +65 -0
- package/dist/.pikku/addon/pikku-addon-types.gen.d.ts.map +1 -0
- package/dist/.pikku/addon/pikku-addon-types.gen.js +74 -0
- package/dist/.pikku/addon/pikku-addon-types.gen.js.map +1 -0
- package/dist/.pikku/addon/pikku-addon-types.gen.ts +100 -0
- package/dist/.pikku/addon/pikku-package.gen.d.ts +2 -0
- package/dist/.pikku/addon/pikku-package.gen.d.ts.map +1 -0
- package/dist/.pikku/addon/pikku-package.gen.js +9 -0
- package/dist/.pikku/addon/pikku-package.gen.js.map +1 -0
- package/dist/.pikku/addon/pikku-package.gen.ts +9 -0
- package/dist/.pikku/agent/pikku-agent-map.gen.d.ts +16 -0
- package/dist/.pikku/agent/pikku-agent-types.gen.d.ts +47 -0
- package/dist/.pikku/agent/pikku-agent-types.gen.d.ts.map +1 -0
- package/dist/.pikku/agent/pikku-agent-types.gen.js +18 -0
- package/dist/.pikku/agent/pikku-agent-types.gen.js.map +1 -0
- package/dist/.pikku/agent/pikku-agent-types.gen.ts +76 -0
- package/dist/.pikku/agent/pikku-agent-wirings-meta.gen.d.ts +2 -0
- package/dist/.pikku/agent/pikku-agent-wirings-meta.gen.d.ts.map +1 -0
- package/dist/.pikku/agent/pikku-agent-wirings-meta.gen.js +7 -0
- package/dist/.pikku/agent/pikku-agent-wirings-meta.gen.js.map +1 -0
- package/dist/.pikku/agent/pikku-agent-wirings-meta.gen.json +3 -0
- package/dist/.pikku/agent/pikku-agent-wirings-meta.gen.ts +7 -0
- package/dist/.pikku/agent/pikku-agent-wirings.gen.d.ts +5 -0
- package/dist/.pikku/agent/pikku-agent-wirings.gen.d.ts.map +1 -0
- package/dist/.pikku/agent/pikku-agent-wirings.gen.js +5 -0
- package/dist/.pikku/agent/pikku-agent-wirings.gen.js.map +1 -0
- package/dist/.pikku/agent/pikku-agent-wirings.gen.ts +3 -0
- package/dist/.pikku/console/pikku-addon-meta.gen.json +33 -0
- package/dist/.pikku/console/pikku-node-types.gen.d.ts +7 -0
- package/dist/.pikku/console/pikku-node-types.gen.d.ts.map +1 -0
- package/dist/.pikku/console/pikku-node-types.gen.js +2 -0
- package/dist/.pikku/console/pikku-node-types.gen.js.map +1 -0
- package/dist/.pikku/console/pikku-node-types.gen.ts +8 -0
- package/dist/.pikku/function/pikku-function-types.gen.d.ts +506 -0
- package/dist/.pikku/function/pikku-function-types.gen.d.ts.map +1 -0
- package/dist/.pikku/function/pikku-function-types.gen.js +314 -0
- package/dist/.pikku/function/pikku-function-types.gen.js.map +1 -0
- package/dist/.pikku/function/pikku-function-types.gen.ts +686 -0
- package/dist/.pikku/function/pikku-functions-meta-verbose.gen.json +28 -0
- package/dist/.pikku/function/pikku-functions-meta.gen.d.ts +2 -0
- package/dist/.pikku/function/pikku-functions-meta.gen.d.ts.map +1 -0
- package/dist/.pikku/function/pikku-functions-meta.gen.js +7 -0
- package/dist/.pikku/function/pikku-functions-meta.gen.js.map +1 -0
- package/dist/.pikku/function/pikku-functions-meta.gen.json +20 -0
- package/dist/.pikku/function/pikku-functions-meta.gen.ts +7 -0
- package/dist/.pikku/function/pikku-functions.gen.d.ts +2 -0
- package/dist/.pikku/function/pikku-functions.gen.d.ts.map +1 -0
- package/dist/.pikku/function/pikku-functions.gen.js +8 -0
- package/dist/.pikku/function/pikku-functions.gen.js.map +1 -0
- package/dist/.pikku/function/pikku-functions.gen.ts +8 -0
- package/dist/.pikku/pikku-bootstrap.gen.d.ts +7 -0
- package/dist/.pikku/pikku-bootstrap.gen.d.ts.map +1 -0
- package/dist/.pikku/pikku-bootstrap.gen.js +17 -0
- package/dist/.pikku/pikku-bootstrap.gen.js.map +1 -0
- package/dist/.pikku/pikku-bootstrap.gen.ts +15 -0
- package/dist/.pikku/pikku-services.gen.d.ts +28 -0
- package/dist/.pikku/pikku-services.gen.d.ts.map +1 -0
- package/dist/.pikku/pikku-services.gen.js +23 -0
- package/dist/.pikku/pikku-services.gen.js.map +1 -0
- package/dist/.pikku/pikku-services.gen.ts +35 -0
- package/dist/.pikku/pikku-types.gen.d.ts +12 -0
- package/dist/.pikku/pikku-types.gen.d.ts.map +1 -0
- package/dist/.pikku/pikku-types.gen.js +17 -0
- package/dist/.pikku/pikku-types.gen.js.map +1 -0
- package/dist/.pikku/pikku-types.gen.ts +21 -0
- package/dist/.pikku/rpc/pikku-rpc-wirings-map.gen.d.ts +115 -0
- package/dist/.pikku/rpc/pikku-rpc-wirings-map.internal.gen.d.ts +116 -0
- package/dist/.pikku/schemas/register.gen.d.ts +2 -0
- package/dist/.pikku/schemas/register.gen.d.ts.map +1 -0
- package/dist/.pikku/schemas/register.gen.js +11 -0
- package/dist/.pikku/schemas/register.gen.js.map +1 -0
- package/dist/.pikku/schemas/register.gen.ts +15 -0
- package/dist/.pikku/schemas/schemas/EventSendInput.schema.json +1 -0
- package/dist/.pikku/schemas/schemas/EventSendOutput.schema.json +1 -0
- package/dist/.pikku/schemas/schemas/SecretSchema_metaConversions.schema.json +1 -0
- package/dist/.pikku/secrets/pikku-secret-types.gen.d.ts +6 -0
- package/dist/.pikku/secrets/pikku-secret-types.gen.d.ts.map +1 -0
- package/dist/.pikku/secrets/pikku-secret-types.gen.js +5 -0
- package/dist/.pikku/secrets/pikku-secret-types.gen.js.map +1 -0
- package/dist/.pikku/secrets/pikku-secret-types.gen.ts +5 -0
- package/dist/.pikku/secrets/pikku-secrets-meta.gen.json +10 -0
- package/dist/.pikku/secrets/pikku-secrets.gen.d.ts +15 -0
- package/dist/.pikku/secrets/pikku-secrets.gen.d.ts.map +1 -0
- package/dist/.pikku/secrets/pikku-secrets.gen.js +13 -0
- package/dist/.pikku/secrets/pikku-secrets.gen.js.map +1 -0
- package/dist/.pikku/secrets/pikku-secrets.gen.ts +23 -0
- package/dist/.pikku/trigger/pikku-trigger-types.gen.d.ts +114 -0
- package/dist/.pikku/trigger/pikku-trigger-types.gen.d.ts.map +1 -0
- package/dist/.pikku/trigger/pikku-trigger-types.gen.js +34 -0
- package/dist/.pikku/trigger/pikku-trigger-types.gen.js.map +1 -0
- package/dist/.pikku/trigger/pikku-trigger-types.gen.ts +160 -0
- package/dist/.pikku/variables/pikku-variable-types.gen.d.ts +6 -0
- package/dist/.pikku/variables/pikku-variable-types.gen.d.ts.map +1 -0
- package/dist/.pikku/variables/pikku-variable-types.gen.js +5 -0
- package/dist/.pikku/variables/pikku-variable-types.gen.js.map +1 -0
- package/dist/.pikku/variables/pikku-variable-types.gen.ts +5 -0
- package/dist/.pikku/variables/pikku-variables-meta.gen.json +1 -0
- package/dist/.pikku/variables/pikku-variables.gen.d.ts +12 -0
- package/dist/.pikku/variables/pikku-variables.gen.d.ts.map +1 -0
- package/dist/.pikku/variables/pikku-variables.gen.js +11 -0
- package/dist/.pikku/variables/pikku-variables.gen.js.map +1 -0
- package/dist/.pikku/variables/pikku-variables.gen.ts +21 -0
- package/dist/.pikku/workflow/pikku-workflow-map.gen.d.ts +34 -0
- package/dist/.pikku/workflow/pikku-workflow-types.gen.d.ts +81 -0
- package/dist/.pikku/workflow/pikku-workflow-types.gen.d.ts.map +1 -0
- package/dist/.pikku/workflow/pikku-workflow-types.gen.js +31 -0
- package/dist/.pikku/workflow/pikku-workflow-types.gen.js.map +1 -0
- package/dist/.pikku/workflow/pikku-workflow-types.gen.ts +158 -0
- package/dist/.pikku/workflow/pikku-workflow-wirings-meta.gen.d.ts +2 -0
- package/dist/.pikku/workflow/pikku-workflow-wirings-meta.gen.d.ts.map +1 -0
- package/dist/.pikku/workflow/pikku-workflow-wirings-meta.gen.js +7 -0
- package/dist/.pikku/workflow/pikku-workflow-wirings-meta.gen.js.map +1 -0
- package/dist/.pikku/workflow/pikku-workflow-wirings-meta.gen.ts +9 -0
- package/dist/.pikku/workflow/pikku-workflow-wirings.gen.d.ts +5 -0
- package/dist/.pikku/workflow/pikku-workflow-wirings.gen.d.ts.map +1 -0
- package/dist/.pikku/workflow/pikku-workflow-wirings.gen.js +5 -0
- package/dist/.pikku/workflow/pikku-workflow-wirings.gen.js.map +1 -0
- package/dist/.pikku/workflow/pikku-workflow-wirings.gen.ts +3 -0
- package/dist/src/functions/events/send.function.d.ts +109 -0
- package/dist/src/functions/events/send.function.d.ts.map +1 -0
- package/dist/src/functions/events/send.function.js +43 -0
- package/dist/src/functions/events/send.function.js.map +1 -0
- package/dist/src/index.d.ts +2 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +3 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/meta-conversions-api.service.d.ts +23 -0
- package/dist/src/meta-conversions-api.service.d.ts.map +1 -0
- package/dist/src/meta-conversions-api.service.js +29 -0
- package/dist/src/meta-conversions-api.service.js.map +1 -0
- package/dist/src/meta-conversions.secret.d.ts +7 -0
- package/dist/src/meta-conversions.secret.d.ts.map +1 -0
- package/dist/src/meta-conversions.secret.js +14 -0
- package/dist/src/meta-conversions.secret.js.map +1 -0
- package/dist/src/services.d.ts +2 -0
- package/dist/src/services.d.ts.map +1 -0
- package/dist/src/services.js +8 -0
- package/dist/src/services.js.map +1 -0
- package/package.json +37 -0
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file was generated by @pikku/cli@0.12.6
|
|
3
|
+
*/
|
|
4
|
+
import { WorkflowCancelledException } from '@pikku/core/workflow'
|
|
5
|
+
import {
|
|
6
|
+
workflow as coreWorkflow,
|
|
7
|
+
workflowStart as coreWorkflowStart,
|
|
8
|
+
workflowStatus as coreWorkflowStatus,
|
|
9
|
+
graphStart as coreGraphStart,
|
|
10
|
+
} from '@pikku/core/workflow'
|
|
11
|
+
import { template } from '@pikku/core/workflow'
|
|
12
|
+
import {
|
|
13
|
+
pikkuWorkflowGraph as corePikkuWorkflowGraph,
|
|
14
|
+
type PikkuWorkflowGraphConfig,
|
|
15
|
+
type PikkuWorkflowGraphResult,
|
|
16
|
+
} from '@pikku/core/workflow'
|
|
17
|
+
import type { PikkuWorkflowWire, WorkflowStepOptions } from '@pikku/core/workflow'
|
|
18
|
+
|
|
19
|
+
export { WorkflowCancelledException }
|
|
20
|
+
import type { PikkuFunctionSessionless, PikkuFunctionConfig } from '../function/pikku-function-types.gen.js'
|
|
21
|
+
import type { RPCMap, FlattenedRPCMap } from '../rpc/pikku-rpc-wirings-map.internal.gen.d.js'
|
|
22
|
+
import type { WorkflowMap, GraphsMap } from './pikku-workflow-map.gen.d.js'
|
|
23
|
+
|
|
24
|
+
export { template }
|
|
25
|
+
|
|
26
|
+
export interface TypedWorkflow extends PikkuWorkflowWire {
|
|
27
|
+
do<K extends keyof RPCMap>(
|
|
28
|
+
stepName: string,
|
|
29
|
+
rpcName: K,
|
|
30
|
+
data: RPCMap[K]['input'],
|
|
31
|
+
options?: WorkflowStepOptions
|
|
32
|
+
): Promise<RPCMap[K]['output']>
|
|
33
|
+
|
|
34
|
+
do<T>(
|
|
35
|
+
stepName: string,
|
|
36
|
+
fn: () => T | Promise<T>,
|
|
37
|
+
options?: WorkflowStepOptions
|
|
38
|
+
): Promise<T>
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
export type PikkuFunctionWorkflow<
|
|
42
|
+
In = unknown,
|
|
43
|
+
Out = never
|
|
44
|
+
> = PikkuFunctionSessionless<In, Out, 'workflow'>
|
|
45
|
+
|
|
46
|
+
export const pikkuWorkflowFunc = <In, Out = unknown>(
|
|
47
|
+
func:
|
|
48
|
+
| PikkuFunctionWorkflow<In, Out>
|
|
49
|
+
| PikkuFunctionConfig<In, Out, 'workflow', PikkuFunctionWorkflow<In, Out>>
|
|
50
|
+
) => {
|
|
51
|
+
return typeof func === 'function' ? { func } : func
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
export const pikkuWorkflowComplexFunc = <In, Out = unknown>(
|
|
55
|
+
func:
|
|
56
|
+
| PikkuFunctionWorkflow<In, Out>
|
|
57
|
+
| PikkuFunctionConfig<In, Out, 'workflow', PikkuFunctionWorkflow<In, Out>>
|
|
58
|
+
) => {
|
|
59
|
+
return typeof func === 'function' ? { func } : func
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
type TypedRef<T> = { $ref: string; path?: string } & { __phantomType?: T }
|
|
63
|
+
|
|
64
|
+
type TemplateString = {
|
|
65
|
+
$template: {
|
|
66
|
+
parts: string[]
|
|
67
|
+
expressions: Array<{ $ref: string; path?: string }>
|
|
68
|
+
}
|
|
69
|
+
} & { __brand: 'TemplateString' }
|
|
70
|
+
|
|
71
|
+
type InputWithRefs<T> = {
|
|
72
|
+
[K in keyof T]?: T[K] | TypedRef<T[K]> | TypedRef<unknown> | TemplateString
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
type NodeInputType<FuncMap extends Record<string, string>, K extends keyof FuncMap> =
|
|
76
|
+
FuncMap[K] extends keyof FlattenedRPCMap
|
|
77
|
+
? InputWithRefs<FlattenedRPCMap[FuncMap[K]]['input']>
|
|
78
|
+
: Record<string, unknown>
|
|
79
|
+
|
|
80
|
+
type NodeOutputKeys<FuncMap extends Record<string, string>, N extends string> =
|
|
81
|
+
N extends keyof FuncMap
|
|
82
|
+
? FuncMap[N] extends keyof FlattenedRPCMap
|
|
83
|
+
? keyof FlattenedRPCMap[FuncMap[N]]['output'] & string
|
|
84
|
+
: string
|
|
85
|
+
: string
|
|
86
|
+
|
|
87
|
+
type RefFunction<FuncMap extends Record<string, string>> = {
|
|
88
|
+
<N extends Extract<keyof FuncMap, string>>(
|
|
89
|
+
nodeId: N,
|
|
90
|
+
path: NodeOutputKeys<FuncMap, N>
|
|
91
|
+
): TypedRef<unknown>
|
|
92
|
+
(nodeId: 'trigger' | '$item', path?: string): TypedRef<unknown>
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
type TemplateFunction = (templateStr: string, refs: TypedRef<unknown>[]) => TemplateString
|
|
96
|
+
|
|
97
|
+
type GraphNodeConfigMap<FuncMap extends Record<string, string>> = {
|
|
98
|
+
[K in Extract<keyof FuncMap, string>]?: {
|
|
99
|
+
next?: NextConfig<Extract<keyof FuncMap, string>>
|
|
100
|
+
input?:
|
|
101
|
+
| NodeInputType<FuncMap, K>
|
|
102
|
+
| (() => NodeInputType<FuncMap, K>)
|
|
103
|
+
| ((ref: RefFunction<FuncMap>, template: TemplateFunction) => NodeInputType<FuncMap, K>)
|
|
104
|
+
onError?: Extract<keyof FuncMap, string> | Extract<keyof FuncMap, string>[]
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
type NextConfig<NodeIds extends string> = NodeIds | NodeIds[] | { if: string; then: NodeIds; else?: NodeIds }
|
|
109
|
+
|
|
110
|
+
export function pikkuWorkflowGraph<
|
|
111
|
+
const FuncMap extends Record<string, keyof FlattenedRPCMap & string>
|
|
112
|
+
>(
|
|
113
|
+
config: PikkuWorkflowGraphConfig<FuncMap, GraphNodeConfigMap<FuncMap>>
|
|
114
|
+
): PikkuWorkflowGraphResult {
|
|
115
|
+
return corePikkuWorkflowGraph(config as any)
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
export const workflow = <Name extends keyof WorkflowMap>(
|
|
119
|
+
workflowName: Name,
|
|
120
|
+
options?: { pollIntervalMs?: number }
|
|
121
|
+
) => {
|
|
122
|
+
return coreWorkflow<WorkflowMap>(workflowName as string & keyof WorkflowMap, options) as PikkuFunctionConfig<
|
|
123
|
+
WorkflowMap[Name]['input'],
|
|
124
|
+
WorkflowMap[Name]['output'],
|
|
125
|
+
'session' | 'rpc'
|
|
126
|
+
>
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
export const workflowStart = <Name extends keyof WorkflowMap>(
|
|
130
|
+
workflowName: Name
|
|
131
|
+
) => {
|
|
132
|
+
return coreWorkflowStart<WorkflowMap>(workflowName as string & keyof WorkflowMap) as PikkuFunctionConfig<
|
|
133
|
+
WorkflowMap[Name]['input'],
|
|
134
|
+
{ runId: string },
|
|
135
|
+
'session' | 'rpc'
|
|
136
|
+
>
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
export const workflowStatus = <Name extends keyof WorkflowMap>(
|
|
140
|
+
_workflowName: Name
|
|
141
|
+
) => {
|
|
142
|
+
return coreWorkflowStatus<WorkflowMap>(_workflowName as string & keyof WorkflowMap) as PikkuFunctionConfig<
|
|
143
|
+
{ runId: string },
|
|
144
|
+
{ id: string; status: 'running' | 'completed' | 'failed' | 'cancelled'; output?: WorkflowMap[Name]['output']; error?: { message?: string } },
|
|
145
|
+
'session' | 'rpc'
|
|
146
|
+
>
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
export const graphStart = <Name extends keyof GraphsMap, Node extends string & keyof GraphsMap[Name]>(
|
|
150
|
+
graphName: Name,
|
|
151
|
+
startNode: Node
|
|
152
|
+
) => {
|
|
153
|
+
return coreGraphStart<GraphsMap>(graphName as string & keyof GraphsMap, startNode as string) as PikkuFunctionConfig<
|
|
154
|
+
GraphsMap[Name][Node] extends { input: infer I } ? I : never,
|
|
155
|
+
{ runId: string },
|
|
156
|
+
'session' | 'rpc'
|
|
157
|
+
>
|
|
158
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pikku-workflow-wirings-meta.gen.d.ts","sourceRoot":"","sources":["../../../.pikku/workflow/pikku-workflow-wirings-meta.gen.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file was generated by @pikku/cli@0.12.6
|
|
3
|
+
*/
|
|
4
|
+
import { pikkuState } from '@pikku/core/internal';
|
|
5
|
+
const workflowsMeta = {};
|
|
6
|
+
pikkuState('@pikku/addon-meta-conversions', 'workflows', 'meta', workflowsMeta);
|
|
7
|
+
//# sourceMappingURL=pikku-workflow-wirings-meta.gen.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pikku-workflow-wirings-meta.gen.js","sourceRoot":"","sources":["../../../.pikku/workflow/pikku-workflow-wirings-meta.gen.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAGjD,MAAM,aAAa,GAA6B,EAAE,CAAA;AAElD,UAAU,CAAC,+BAA+B,EAAE,WAAW,EAAE,MAAM,EAAE,aAAa,CAAC,CAAA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file was generated by @pikku/cli@0.12.6
|
|
3
|
+
*/
|
|
4
|
+
import { pikkuState } from '@pikku/core/internal'
|
|
5
|
+
import type { SerializedWorkflowGraphs } from '@pikku/inspector/workflow-graph'
|
|
6
|
+
|
|
7
|
+
const workflowsMeta: SerializedWorkflowGraphs = {}
|
|
8
|
+
|
|
9
|
+
pikkuState('@pikku/addon-meta-conversions', 'workflows', 'meta', workflowsMeta)
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pikku-workflow-wirings.gen.d.ts","sourceRoot":"","sources":["../../../.pikku/workflow/pikku-workflow-wirings.gen.ts"],"names":[],"mappings":";AAAA;;GAEG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pikku-workflow-wirings.gen.js","sourceRoot":"","sources":["../../../.pikku/workflow/pikku-workflow-wirings.gen.ts"],"names":[],"mappings":";AAAA;;GAEG"}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const ActionSourceEnum: z.ZodEnum<{
|
|
3
|
+
website: "website";
|
|
4
|
+
email: "email";
|
|
5
|
+
app: "app";
|
|
6
|
+
phone_call: "phone_call";
|
|
7
|
+
chat: "chat";
|
|
8
|
+
physical_store: "physical_store";
|
|
9
|
+
system_generated: "system_generated";
|
|
10
|
+
other: "other";
|
|
11
|
+
}>;
|
|
12
|
+
export declare const UserDataSchema: z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
|
|
13
|
+
export declare const CustomDataSchema: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
14
|
+
export declare const MetaEventSchema: z.ZodObject<{
|
|
15
|
+
event_name: z.ZodString;
|
|
16
|
+
event_time: z.ZodNumber;
|
|
17
|
+
event_id: z.ZodOptional<z.ZodString>;
|
|
18
|
+
event_source_url: z.ZodOptional<z.ZodString>;
|
|
19
|
+
action_source: z.ZodEnum<{
|
|
20
|
+
website: "website";
|
|
21
|
+
email: "email";
|
|
22
|
+
app: "app";
|
|
23
|
+
phone_call: "phone_call";
|
|
24
|
+
chat: "chat";
|
|
25
|
+
physical_store: "physical_store";
|
|
26
|
+
system_generated: "system_generated";
|
|
27
|
+
other: "other";
|
|
28
|
+
}>;
|
|
29
|
+
user_data: z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
|
|
30
|
+
custom_data: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
31
|
+
opt_out: z.ZodOptional<z.ZodBoolean>;
|
|
32
|
+
}, z.core.$strip>;
|
|
33
|
+
export declare const EventSendInput: z.ZodObject<{
|
|
34
|
+
data: z.ZodArray<z.ZodObject<{
|
|
35
|
+
event_name: z.ZodString;
|
|
36
|
+
event_time: z.ZodNumber;
|
|
37
|
+
event_id: z.ZodOptional<z.ZodString>;
|
|
38
|
+
event_source_url: z.ZodOptional<z.ZodString>;
|
|
39
|
+
action_source: z.ZodEnum<{
|
|
40
|
+
website: "website";
|
|
41
|
+
email: "email";
|
|
42
|
+
app: "app";
|
|
43
|
+
phone_call: "phone_call";
|
|
44
|
+
chat: "chat";
|
|
45
|
+
physical_store: "physical_store";
|
|
46
|
+
system_generated: "system_generated";
|
|
47
|
+
other: "other";
|
|
48
|
+
}>;
|
|
49
|
+
user_data: z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
|
|
50
|
+
custom_data: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
51
|
+
opt_out: z.ZodOptional<z.ZodBoolean>;
|
|
52
|
+
}, z.core.$strip>>;
|
|
53
|
+
test_event_code: z.ZodOptional<z.ZodString>;
|
|
54
|
+
}, z.core.$strip>;
|
|
55
|
+
export declare const EventSendOutput: z.ZodObject<{
|
|
56
|
+
events_received: z.ZodNumber;
|
|
57
|
+
messages: z.ZodArray<z.ZodString>;
|
|
58
|
+
fbtrace_id: z.ZodString;
|
|
59
|
+
}, z.core.$strip>;
|
|
60
|
+
export declare const eventSend: import("#pikku").PikkuFunctionConfig<{
|
|
61
|
+
data: {
|
|
62
|
+
event_name: string;
|
|
63
|
+
event_time: number;
|
|
64
|
+
action_source: "website" | "email" | "app" | "phone_call" | "chat" | "physical_store" | "system_generated" | "other";
|
|
65
|
+
user_data: Record<string, string | string[]>;
|
|
66
|
+
event_id?: string | undefined;
|
|
67
|
+
event_source_url?: string | undefined;
|
|
68
|
+
custom_data?: Record<string, unknown> | undefined;
|
|
69
|
+
opt_out?: boolean | undefined;
|
|
70
|
+
}[];
|
|
71
|
+
test_event_code?: string | undefined;
|
|
72
|
+
}, {
|
|
73
|
+
events_received: number;
|
|
74
|
+
messages: string[];
|
|
75
|
+
fbtrace_id: string;
|
|
76
|
+
}, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<{
|
|
77
|
+
data: {
|
|
78
|
+
event_name: string;
|
|
79
|
+
event_time: number;
|
|
80
|
+
action_source: "website" | "email" | "app" | "phone_call" | "chat" | "physical_store" | "system_generated" | "other";
|
|
81
|
+
user_data: Record<string, string | string[]>;
|
|
82
|
+
event_id?: string | undefined;
|
|
83
|
+
event_source_url?: string | undefined;
|
|
84
|
+
custom_data?: Record<string, unknown> | undefined;
|
|
85
|
+
opt_out?: boolean | undefined;
|
|
86
|
+
}[];
|
|
87
|
+
test_event_code?: string | undefined;
|
|
88
|
+
}, {
|
|
89
|
+
events_received: number;
|
|
90
|
+
messages: string[];
|
|
91
|
+
fbtrace_id: string;
|
|
92
|
+
}, "rpc" | "session", import("#pikku").Services> | import("#pikku").PikkuFunction<{
|
|
93
|
+
data: {
|
|
94
|
+
event_name: string;
|
|
95
|
+
event_time: number;
|
|
96
|
+
action_source: "website" | "email" | "app" | "phone_call" | "chat" | "physical_store" | "system_generated" | "other";
|
|
97
|
+
user_data: Record<string, string | string[]>;
|
|
98
|
+
event_id?: string | undefined;
|
|
99
|
+
event_source_url?: string | undefined;
|
|
100
|
+
custom_data?: Record<string, unknown> | undefined;
|
|
101
|
+
opt_out?: boolean | undefined;
|
|
102
|
+
}[];
|
|
103
|
+
test_event_code?: string | undefined;
|
|
104
|
+
}, {
|
|
105
|
+
events_received: number;
|
|
106
|
+
messages: string[];
|
|
107
|
+
fbtrace_id: string;
|
|
108
|
+
}, "rpc" | "session", import("#pikku").Services>, undefined, undefined>;
|
|
109
|
+
//# sourceMappingURL=send.function.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"send.function.d.ts","sourceRoot":"","sources":["../../../../src/functions/events/send.function.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAGvB,eAAO,MAAM,gBAAgB;;;;;;;;;EAG3B,CAAA;AAEF,eAAO,MAAM,cAAc,uFACoH,CAAA;AAE/I,eAAO,MAAM,gBAAgB,wCAC2E,CAAA;AAExG,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;iBAS1B,CAAA;AAEF,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;iBAGzB,CAAA;AAEF,eAAO,MAAM,eAAe;;;;iBAI1B,CAAA;AAIF,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uEAYpB,CAAA"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { pikkuSessionlessFunc } from '#pikku';
|
|
3
|
+
export const ActionSourceEnum = z.enum([
|
|
4
|
+
'website', 'email', 'app', 'phone_call', 'chat',
|
|
5
|
+
'physical_store', 'system_generated', 'other',
|
|
6
|
+
]);
|
|
7
|
+
export const UserDataSchema = z.record(z.string(), z.union([z.string(), z.array(z.string())]))
|
|
8
|
+
.describe('Hashed user data for matching (em, ph, fn, ln, ct, st, zp, country, external_id, client_ip_address, client_user_agent, fbc, fbp)');
|
|
9
|
+
export const CustomDataSchema = z.record(z.string(), z.unknown())
|
|
10
|
+
.describe('Custom event data (value, currency, content_name, content_ids, contents, num_items, etc.)');
|
|
11
|
+
export const MetaEventSchema = z.object({
|
|
12
|
+
event_name: z.string().describe('Standard or custom event name (e.g., Purchase, Lead, AddToCart, PageView, ViewContent)'),
|
|
13
|
+
event_time: z.number().describe('Unix timestamp in seconds when the event occurred'),
|
|
14
|
+
event_id: z.string().optional().describe('Unique event ID for deduplication with browser pixel events'),
|
|
15
|
+
event_source_url: z.string().optional().describe('URL where the event occurred'),
|
|
16
|
+
action_source: ActionSourceEnum.describe('Where the conversion occurred'),
|
|
17
|
+
user_data: UserDataSchema,
|
|
18
|
+
custom_data: CustomDataSchema.optional(),
|
|
19
|
+
opt_out: z.boolean().optional().describe('If true, event is used for attribution but not ad delivery optimization'),
|
|
20
|
+
});
|
|
21
|
+
export const EventSendInput = z.object({
|
|
22
|
+
data: z.array(MetaEventSchema).min(1).describe('Array of server events to send (max 1000 per request)'),
|
|
23
|
+
test_event_code: z.string().optional().describe('Test event code from Events Manager for testing without affecting production data'),
|
|
24
|
+
});
|
|
25
|
+
export const EventSendOutput = z.object({
|
|
26
|
+
events_received: z.number().describe('Number of events received by Meta'),
|
|
27
|
+
messages: z.array(z.string()).describe('Diagnostic messages from the API'),
|
|
28
|
+
fbtrace_id: z.string().describe('Trace ID for debugging with Meta support'),
|
|
29
|
+
});
|
|
30
|
+
export const eventSend = pikkuSessionlessFunc({
|
|
31
|
+
description: 'Send server-side conversion events to Meta via the Conversions API',
|
|
32
|
+
node: {
|
|
33
|
+
displayName: 'Send Event',
|
|
34
|
+
category: 'Events',
|
|
35
|
+
type: 'action',
|
|
36
|
+
},
|
|
37
|
+
input: EventSendInput,
|
|
38
|
+
output: EventSendOutput,
|
|
39
|
+
func: async ({ metaConversions }, { data, test_event_code }) => {
|
|
40
|
+
return await metaConversions.sendEvents(data, test_event_code);
|
|
41
|
+
},
|
|
42
|
+
});
|
|
43
|
+
//# sourceMappingURL=send.function.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"send.function.js","sourceRoot":"","sources":["../../../../src/functions/events/send.function.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAA"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { MetaConversionsSecrets } from './meta-conversions.secret.js';
|
|
2
|
+
export interface MetaEvent {
|
|
3
|
+
event_name: string;
|
|
4
|
+
event_time: number;
|
|
5
|
+
event_id?: string;
|
|
6
|
+
event_source_url?: string;
|
|
7
|
+
action_source: 'website' | 'email' | 'app' | 'phone_call' | 'chat' | 'physical_store' | 'system_generated' | 'other';
|
|
8
|
+
user_data: Record<string, string | string[] | undefined>;
|
|
9
|
+
custom_data?: Record<string, unknown>;
|
|
10
|
+
opt_out?: boolean;
|
|
11
|
+
}
|
|
12
|
+
export interface MetaSendEventsResponse {
|
|
13
|
+
events_received: number;
|
|
14
|
+
messages: string[];
|
|
15
|
+
fbtrace_id: string;
|
|
16
|
+
}
|
|
17
|
+
export declare class MetaConversionsService {
|
|
18
|
+
private pixelId;
|
|
19
|
+
private accessToken;
|
|
20
|
+
constructor(secrets: MetaConversionsSecrets);
|
|
21
|
+
sendEvents(events: MetaEvent[], testEventCode?: string): Promise<MetaSendEventsResponse>;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=meta-conversions-api.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"meta-conversions-api.service.d.ts","sourceRoot":"","sources":["../../src/meta-conversions-api.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAA;AAK1E,MAAM,WAAW,SAAS;IACxB,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,aAAa,EAAE,SAAS,GAAG,OAAO,GAAG,KAAK,GAAG,YAAY,GAAG,MAAM,GAAG,gBAAgB,GAAG,kBAAkB,GAAG,OAAO,CAAA;IACpH,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,CAAA;IACxD,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACrC,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,MAAM,WAAW,sBAAsB;IACrC,eAAe,EAAE,MAAM,CAAA;IACvB,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,qBAAa,sBAAsB;IACjC,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,WAAW,CAAQ;gBAEf,OAAO,EAAE,sBAAsB;IAKrC,UAAU,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC;CAwB/F"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
const BASE_URL = 'https://graph.facebook.com';
|
|
2
|
+
const API_VERSION = 'v21.0';
|
|
3
|
+
export class MetaConversionsService {
|
|
4
|
+
constructor(secrets) {
|
|
5
|
+
this.pixelId = secrets.pixelId;
|
|
6
|
+
this.accessToken = secrets.accessToken;
|
|
7
|
+
}
|
|
8
|
+
async sendEvents(events, testEventCode) {
|
|
9
|
+
const url = `${BASE_URL}/${API_VERSION}/${this.pixelId}/events`;
|
|
10
|
+
const body = {
|
|
11
|
+
data: events,
|
|
12
|
+
access_token: this.accessToken,
|
|
13
|
+
};
|
|
14
|
+
if (testEventCode) {
|
|
15
|
+
body.test_event_code = testEventCode;
|
|
16
|
+
}
|
|
17
|
+
const response = await fetch(url, {
|
|
18
|
+
method: 'POST',
|
|
19
|
+
headers: { 'Content-Type': 'application/json' },
|
|
20
|
+
body: JSON.stringify(body),
|
|
21
|
+
});
|
|
22
|
+
if (!response.ok) {
|
|
23
|
+
const errorText = await response.text();
|
|
24
|
+
throw new Error(`Meta Conversions API error (${response.status}): ${errorText}`);
|
|
25
|
+
}
|
|
26
|
+
return response.json();
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=meta-conversions-api.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"meta-conversions-api.service.js","sourceRoot":"","sources":["../../src/meta-conversions-api.service.ts"],"names":[],"mappings":"AAEA,MAAM,QAAQ,GAAG,4BAA4B,CAAA;AAC7C,MAAM,WAAW,GAAG,OAAO,CAAA;AAmB3B,MAAM,OAAO,sBAAsB;IAIjC,YAAY,OAA+B;QACzC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAA;QAC9B,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAA;IACxC,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,MAAmB,EAAE,aAAsB;QAC1D,MAAM,GAAG,GAAG,GAAG,QAAQ,IAAI,WAAW,IAAI,IAAI,CAAC,OAAO,SAAS,CAAA;QAE/D,MAAM,IAAI,GAA4B;YACpC,IAAI,EAAE,MAAM;YACZ,YAAY,EAAE,IAAI,CAAC,WAAW;SAC/B,CAAA;QACD,IAAI,aAAa,EAAE,CAAC;YAClB,IAAI,CAAC,eAAe,GAAG,aAAa,CAAA;QACtC,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAChC,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;SAC3B,CAAC,CAAA;QAEF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;YACvC,MAAM,IAAI,KAAK,CAAC,+BAA+B,QAAQ,CAAC,MAAM,MAAM,SAAS,EAAE,CAAC,CAAA;QAClF,CAAC;QAED,OAAO,QAAQ,CAAC,IAAI,EAAqC,CAAA;IAC3D,CAAC;CACF"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const metaConversionsSecretsSchema: z.ZodObject<{
|
|
3
|
+
pixelId: z.ZodString;
|
|
4
|
+
accessToken: z.ZodString;
|
|
5
|
+
}, z.core.$strip>;
|
|
6
|
+
export type MetaConversionsSecrets = z.infer<typeof metaConversionsSecretsSchema>;
|
|
7
|
+
//# sourceMappingURL=meta-conversions.secret.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"meta-conversions.secret.d.ts","sourceRoot":"","sources":["../../src/meta-conversions.secret.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAGvB,eAAO,MAAM,4BAA4B;;;iBAGvC,CAAA;AAEF,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAA"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { wireSecret } from '@pikku/core/secret';
|
|
3
|
+
export const metaConversionsSecretsSchema = z.object({
|
|
4
|
+
pixelId: z.string().describe('Meta Pixel ID'),
|
|
5
|
+
accessToken: z.string().describe('Conversions API access token (generated in Events Manager)'),
|
|
6
|
+
});
|
|
7
|
+
wireSecret({
|
|
8
|
+
name: 'metaConversions',
|
|
9
|
+
displayName: 'Meta Conversions API',
|
|
10
|
+
description: 'Meta (Facebook) Conversions API for server-side event tracking',
|
|
11
|
+
secretId: 'META_CONVERSIONS_CREDENTIALS',
|
|
12
|
+
schema: metaConversionsSecretsSchema,
|
|
13
|
+
});
|
|
14
|
+
//# sourceMappingURL=meta-conversions.secret.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"meta-conversions.secret.js","sourceRoot":"","sources":["../../src/meta-conversions.secret.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAE/C,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC,MAAM,CAAC;IACnD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC;IAC7C,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4DAA4D,CAAC;CAC/F,CAAC,CAAA;AAIF,UAAU,CAAC;IACT,IAAI,EAAE,iBAAiB;IACvB,WAAW,EAAE,sBAAsB;IACnC,WAAW,EAAE,gEAAgE;IAC7E,QAAQ,EAAE,8BAA8B;IACxC,MAAM,EAAE,4BAA4B;CACrC,CAAC,CAAA"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export declare const createSingletonServices: (config: import("../types/application-types.js").Config, existingServices?: Partial<import("#pikku").SingletonServices>) => Promise<import("../.pikku/pikku-services.gen.js").RequiredSingletonServices>;
|
|
2
|
+
//# sourceMappingURL=services.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"services.d.ts","sourceRoot":"","sources":["../../src/services.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,uBAAuB,0MAQlC,CAAA"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { MetaConversionsService } from './meta-conversions-api.service.js';
|
|
2
|
+
import { pikkuAddonServices } from '#pikku';
|
|
3
|
+
export const createSingletonServices = pikkuAddonServices(async (config, { secrets }) => {
|
|
4
|
+
const creds = await secrets.getSecretJSON('META_CONVERSIONS_CREDENTIALS');
|
|
5
|
+
const metaConversions = new MetaConversionsService(creds);
|
|
6
|
+
return { metaConversions };
|
|
7
|
+
});
|
|
8
|
+
//# sourceMappingURL=services.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"services.js","sourceRoot":"","sources":["../../src/services.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAA;AAE1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAA;AAE3C,MAAM,CAAC,MAAM,uBAAuB,GAAG,kBAAkB,CAAC,KAAK,EAC7D,MAAM,EACN,EAAE,OAAO,EAAE,EACX,EAAE;IACF,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,aAAa,CAAyB,8BAA8B,CAAC,CAAA;IACjG,MAAM,eAAe,GAAG,IAAI,sBAAsB,CAAC,KAAK,CAAC,CAAA;IAEzD,OAAO,EAAE,eAAe,EAAE,CAAA;AAC5B,CAAC,CAAC,CAAA"}
|
package/package.json
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@pikku/addon-meta-conversions",
|
|
3
|
+
"version": "0.1.1",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"imports": {
|
|
6
|
+
"#pikku": "./.pikku/pikku-types.gen.ts"
|
|
7
|
+
},
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"types": "./dist/src/index.d.ts",
|
|
11
|
+
"import": "./dist/src/index.js"
|
|
12
|
+
},
|
|
13
|
+
"./.pikku/*": "./dist/.pikku/*",
|
|
14
|
+
"./.pikku/pikku-metadata.gen.json": "./dist/.pikku/pikku-metadata.gen.json",
|
|
15
|
+
"./.pikku/rpc/pikku-rpc-wirings-map.internal.gen.js": {
|
|
16
|
+
"types": "./dist/.pikku/rpc/pikku-rpc-wirings-map.internal.gen.d.ts"
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
"files": [
|
|
20
|
+
"dist"
|
|
21
|
+
],
|
|
22
|
+
"scripts": {
|
|
23
|
+
"prebuild": "pikku all",
|
|
24
|
+
"build": "tsc && cp -r .pikku dist/",
|
|
25
|
+
"pikku": "pikku all"
|
|
26
|
+
},
|
|
27
|
+
"peerDependencies": {
|
|
28
|
+
"@pikku/core": "*",
|
|
29
|
+
"zod": "^4"
|
|
30
|
+
},
|
|
31
|
+
"devDependencies": {
|
|
32
|
+
"@pikku/cli": "^0.12.6",
|
|
33
|
+
"@pikku/core": "^0.12.5",
|
|
34
|
+
"typescript": "^5.7.2",
|
|
35
|
+
"zod": "^4"
|
|
36
|
+
}
|
|
37
|
+
}
|